區塊鏈技術源于2008年一位署名為“中本聰”的學者發表的論文《位元幣:一種點對點電子現金系統》,時至今日,“中本聰”的真實身份仍然無人知曉,但區塊鏈的江湖一直有他的傳說,由其奠基的區塊鏈技識訓爆全球,
何為區塊鏈,人們提到區塊鏈會想到近年火爆的位元幣,心里會不自覺地把區塊鏈和位元幣掛鉤,但區塊鏈并不等于位元幣,位元幣只是區塊鏈技術應用的一個子集,區塊鏈是一個分布式的共享賬本和資料庫,具有去中心化、不可篡改、全程留痕、可以追溯、集體維護、公開透明等特點,這些特點保證了區塊鏈的“誠實”與“透明”,為區塊鏈創造信任奠定基礎,有人對區塊鏈做了一個概括:區塊鏈是一個去中心化的信任機制,區塊鏈底層依賴于數學、密碼學、互聯網和計算機編程等很多科學技術,主要解決了交易的信任和安全問題,并且針對這個問題提出了如下四大創新技術:分布式賬本、非對稱加密和授權技術、共識機制和智能合約,這些創新技術和理念是跨時代的,
-
分布式賬本,即交易記賬不再是傳統的中心化記賬,而是去中心化記賬(分布式記賬),記賬由分布在世界不同地方的多個節點共同完成,每一個節點都存盤的是完整的賬本,
何為中心化記賬:舉個簡單的例子,就是去淘寶購物,買賣雙方所發生的一切交易都需要一個權威的第三方機構來介入——支付寶,支付寶記錄了雙方的交易往來,當我們看好一件物品,下單購買的時候,錢首先會到達支付寶,當我們收到貨物確認識訓后,錢才會真正的從支付寶轉到商家的手里,交易市場上商家鱗次櫛比,在人人都無法確認與之交易的商家是否可以信任的時候,支付寶介入兩方的交易當中,起到了一個非常重要的擔保作用,來解決交易雙方的信任問題,但中心化記賬是否絕對可信?答案是不一定,一旦這個記賬中心出現問題,如被篡改、被損壞、出現故障,整個系統會面臨危機乃至崩潰,當記賬中心崩潰,整個交易系統都會崩潰,所有的交易往來都會糾纏不清,這是一個典型的“單點故障”問題,為解決中心化記賬的“單點故障”問題并保證交易的可信任性,去中心化記賬橫空出世——區塊鏈的特點,
何為去中心化記賬:即人人皆可記賬,交易網路中的所有節點都有對賬本的記賬權,每個節點存盤都是獨立的、地位等同的,每個節點依靠共識機制爭奪對每一筆交易的記賬權并保證賬本存盤的一致性(每個節點都單獨存盤著整個賬本),這也便解決了中心化記賬的“單點故障”問題,如果有非法節點要篡改賬本,至少要篡改全網51%以上的賬本才能篡改成功,賬本被非法篡改基本是不可能發生的,這也保證了交易的安全性,
-
非對稱加密和授權技術
存盤在區塊鏈上的交易資訊是公開的,但是賬戶的身份資訊是高度加密的,只有在資料擁有者授權的情況下才能訪問到,從而保證了資料的安全和個人的隱私,下面簡單談談非對稱加密演算法,
非對稱加密演算法需要兩個密鑰:公開密鑰(簡稱公鑰)和私有密鑰(簡稱私鑰),公鑰與私鑰是一對,如果用公鑰對資料進行加密,只有用對應的私鑰才能解密,因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法,
非對稱加密演算法實作資訊加密交換的基本程序是:甲生成一對密鑰并將公鑰公開,需要向甲發送資訊的其他人(比如乙)使用該公鑰(甲的公鑰)對機密資訊進行加密后再發送給甲;甲再用自己私鑰對加密后的資訊進行解密,甲想要回復乙時正好相反,使用乙的公鑰對資料進行加密,同理,乙使用自己的私鑰來進行解密,這一程序保證了通信資訊的秘密性,
非對稱加密演算法除了用于資訊的加密傳輸,還有一個常見的應用場景,即身份驗證,
舉個非對稱加密演算法用于身份驗證的例子,有一天課上,嘉嘉要給琦琦傳一張小紙條,紙條上內容寫著
琦琦,我是嘉嘉,我喜歡你如果要向琦琦證明紙條確實是嘉嘉所寫,且內容未經其他人篡改(防止其他人起哄),嘉嘉需要
- 將小紙條的內容進行Hash,得到摘要,
- 用自己的私鑰,加密摘要,生成簽名,
- 讓同班同學傳遞這個小紙條和生成的簽名,
琦琦收到紙條和簽名后,需要
-
用嘉嘉之前給的公鑰,對簽名解密,得到摘要1,
-
對紙條內容進行Hash,得到摘要2,
-
對摘要1和摘要2進行對比,如果摘要1 == 摘要2 則說明紙條確實由嘉嘉所寫,且內容未經改動,
為什么說只有摘要1 == 摘要2,就能說明紙條確實由嘉嘉所寫,且內容未經改動?因為只有嘉嘉才能持有嘉嘉的私鑰,用私鑰加密的內容(簽名)只有對應的公鑰才能解開;如果紙條內容在傳遞程序中改變,根據哈希演算法的特點,得到的摘要1一定與摘要2不同,
-
共識機制
所有記賬節點之間怎么達成共識,去認定一個記賬記錄的有效性,這既是認定的手段,也是賬本防止篡改的手段,這也就是共識機制,區塊鏈的共識機制具備“少數服從多數”以及“人人平等”的特點,“人人平等”是當節點滿足條件時,所有節點都有權優先提出共識結果、直接被其他節點認同后并最后有可能成為最終共識結果,區塊鏈提出了四種不同的共識機制,適用于不同的應用場景,在效率和安全性之間取得平衡,這里我們介紹下作業量證明機制(pow),
作業量證明(pow):要理解pow,必須先理解哈希函式,哈希函式的應用常在于給定一段訊息,通過哈希函式可以將訊息映射為固定長度的哈希值(比如sha256,將任意長度的訊息映射為256位的哈希值),哈希函式的運算結果具有兩個特點:“無碰撞”和“不可逆”,
“無碰撞”即是不同的x映射成不同的y(x的Hash值),我們無法找到相同的y對應于不同的x,這是指哈希函式運算結果的唯一性;
“不可逆”即是我們無法從x的Hash值(y)推匯出x,這表明哈希函式是一個單向函式;
理解了哈希函式的運算之后,我們舉個作業量證明的例子,若給定的一個基本的字串”Hello, world!”,我們給出的作業量要求是,可以在這個字串后面添加一個叫做nonce的整數值(nonce還未知),對變更后的字串(添加了nonce的字串)進行SHA256哈希運算,如果得到的哈希結果(以16進制的形式表示)是以”0000”開頭的,則驗證通過,為了達到這個作業量證明的目標,我們需要不停的遞增nonce值,對得到的新字串進行SHA256哈希運算,這就是常說的窮舉,通過窮舉得到一個滿足要求的答案而爭奪記賬權,
-
智能合約:智能合約與傳統的紙質合約類似,智能合約即是把生活中的合約數字化,當滿足一定條件后,可以由程式自動執行的技術,智能合約相對于傳統合約來說有兩個特點:將合約條件的觸發和執行合并為一次原子操作;建立在節點與節點之間(即用戶與用戶之間),無須第三方中心機構的介入,在生活當中的傳統合約一般建立在用戶和機構之間,即使是用戶與用戶之間需要建立一個合約,也會需要一個權威的第三方機構來為雙方作證明,從而防止單方面違約的情況出現,而區塊鏈的出現,解決了兩節點間的相互信任問題,從而導致智能合約可以在區塊鏈的基礎上得到廣泛的應用,
目前傳統合約的條件觸發和執行是異步的,也就是說當人們發現客觀事件已經滿足了合約某條款的觸發條件,然后再人工地去觸發條款的執行,這一程序是低效的,特別是在追責追債中,很容易給違反合約的人一定的時間進行周旋和出逃,而建立起智能合約則不需要擔心這些問題,舉一個例子,A將自己的汽車出租給B,A和B簽署一份智能合約,A寫明條款:我的汽車的啟動密鑰在時間xx年xx月xx日前有效,續期需要B轉賬xx位元幣,否則密鑰失效,如果B在規定時間內不進行續費,那汽車密鑰自動失效,他也無法使用租來的汽車,這一智能合約執行程序完全自動化和原子化,不用擔心B在到截止日期的時候拖欠租金,或是找一些借口不歸還汽車的問題,
以上即是總結的區塊鏈四大創新技術:分布式賬本、非對稱加密和授權技術、共識機制和智能合約,由于區塊鏈顛覆式的創新,也有人稱:“區塊鏈是互聯網的第二次革命”,我個人認為之所以稱區塊鏈為互聯網的第二次革命,是因為,在互聯網中新技術(區塊鏈)會催生新的應用,新的應用又催生新的需求,需求又會催生新的技術,在這一環套一環的影響下,互聯網會迎來更大的發展生態,區塊鏈則在其中,起了一個非常重要的奠基的作用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/237713.html
標籤:區塊鏈
