03.15 溫故知新之共識機制(中)

溫故知新之共識機制(中)

續 溫故知新之 共識機制(上)

中本聰所創建的比特幣,通過對這個系統,做出一個簡單的變化解決了拜占庭將軍問題。 它為發送信息加入成本,這降低了信息傳遞的速率,並加入了一個隨機元素,以 保證在一個時間只有一個城邦,可以進行廣播。

中本聰加入的成本是“工作量證明”——挖礦,並且工作量證明是基於計算一個隨機哈希算法。哈希算法唯一做的事情就是獲得一些輸入,然後進行計算,並得 到一串 64 位的隨機數字和字母的字符串。

在比特幣的世界中,輸入數據,包括了到當前時間點的整個總帳。儘管單個哈希值用現在的計算機幾乎可以及時的計算出來,但是比特幣系統接受的工作量證明,是無數個 64 位哈希值中唯一的哈希值,而且這個哈希值前 13 個字符均為 0, 這樣一個哈希值是極其罕見,不可能被破解的,並且在當前卻要花費整個比特幣網絡,總算力約十分鐘的時間才能找到一個。

在一臺網絡機器隨機的找到一個有效哈希值之前,上十億個的無效值會被計算出來,計算哈希值就需要花費大量時間,增加了發送信息的時間間隔,造成信息傳遞速率減慢,而這就是使得整個系統可用的“工作量證明”。

而那臺發現下一個有效哈希值的機器,能將所有之前的信息放到一起,附上他自 己的辨識信息,以及它的簽名/印章諸如此類,向網絡中的其他機器廣播出去。只 要其他網絡中的機器接收到並驗證通過了,這個有效的哈希值和附著在上面的籤 名信息,他們就會停止他們當下的計算,使用新的信息更新他們的總賬拷貝,然 後把新更新的總賬作為哈希算法的輸入,再次開始計算哈希值。

哈希計算競賽,從一個新的開始點重新開始,如此這般,網絡持續同步著,所以網絡上的電腦都使用著同一版本的總賬,與此同時,每一次成功找到有效哈希值以及區塊鏈更新的間隔,大概是十分鐘,在那十分鐘以內,網絡上的參與者發送信息並完成交易,並且因為網絡上的每一個機器都是使用同一個總賬,所有的這些交易和信息都會進入每一份遍佈全網的總賬拷貝。當區塊鏈更新,並在全網同步之後,在之前十分鐘內進入區塊鏈的所有交易也被更新並同步。因此分散的交易記錄,是在所有的參與者之間進行對賬和同步的。

溫故知新之共識機制(中)

最後在用戶向網絡輸入一筆交易的時候,他們使用內嵌在比特幣客戶端的標準公鑰加密工具來加密,同時用他們的私鑰以及接收者的公鑰為這筆交易簽名,這對應於拜占庭將軍問題中,他們用來簽名和驗證消息時使用的“印章”。因此,哈希計算速率的限制,加上公鑰加密,使得一個不可信網絡變成一個可信的網絡,所有參與者可以在某些事情上達成一致(比如說攻擊時間、或者一系列的交易域名記錄,政治投票系統,或者任何其他的需要分佈式協議的地方)。

將比特幣的共識機制引入拜占庭問題,就形成了這樣一種情況,城邦 A 向其他九 個城邦發送進攻相關信息,是直接將相關信息及其當時發送的時間,附加在通過 哈希算法加密的信息中,並且加上獨屬於自己的數字簽名傳遞給其他城邦。等其 他城邦中相應的機器已經收到,並驗證通過這個有效哈希值和附加在上面的簽名 信息,他們就會停止他們當下的計算,使用新的信息更新他們的總的進攻信息拷 貝,然後把新更新的信息區塊鏈作為哈希算法的輸入,再發給其他城邦。其他城 邦接受消息後,重複此流程直至所有城邦都收到消息。如此這般,網絡持續同步 著,所有網絡上的電腦都使用著同一版本的總賬。

如果叛徒想要修改進攻信息來誤導其他城邦時,其他城邦的機器會立刻識別到異常信息,同步的虛假信息將不被認可,依舊會同步其他大部分共同的信息,這樣叛徒就失敗了,他無法破壞十個城邦當中的大多數節點,也就是至少六個節點, 這樣信息的一致性就得到了保證,完美解決了拜占庭問題。這就是區塊鏈共識機制為何如此特別的關鍵,他為一個算法上的難題提供瞭解決方案,區塊鏈的共識機制,通過不斷同步各個節點的信息,使得各分佈式節點之間達到一種平衡,保證了絕大多數節點的一致性,即達成了共識。

作用

區塊鏈的核心是參與者之間的共識(參見下圖藍色標識的第三、四步)。共識機制之所以關鍵,是因為他的作用:在沒有中央機構的情況下,參與者必須就規則及其應用方法達成一致,並同意使用這些規則來接受及記錄擬定的交易。

溫故知新之共識機制(中)

如上圖所示,交易一經創建和發佈,即署有交易發起人的簽名,簽署表示獲得授權以支付金錢、訂立合同或傳遞與交易相關的數據指標。交易在簽署後即可生效幷包含執行需要的所有信息。

一旦交易被驗證並納入區塊,該交易便會在整個網絡中傳播。在整個網絡達成共識和網絡中的其他節點接受新區塊後,該區塊就併入區塊鏈中。一經區塊鏈的記錄和足夠多的節點確認,該交易將成為公共賬本的永久組成部分,區塊鏈網絡中的所有節點亦會視之為有效。

原理

共識機制被用來決定區塊鏈網絡中的記賬節點,並對交易信息進行確認和一致性同步。早期的比特幣區塊鏈採用高度依賴節點算力的工作量證明(Proof ofWork,PoW)機制來保證比特幣網絡分佈式記賬的一致性。隨著區塊鏈技術的發展和各種競爭幣的相繼湧現,下圖展示了當前市面常見的共識機制極其有代表性的項目。

溫故知新之共識機制(中)

因技術更新日新月異,以上共識機制的種類和描述僅是近期的概覽。本文的目的並不是完整展示當前所有共識機制,而僅描述那些當前作為區塊鏈建立的技術選項而被熱切討論和探索的機制。本文並非進行學術討論,所以關於共識機制的具體技術細節並沒有深入講解,僅僅是進行概略性的簡介。

未完待續...

「力場 lichang.io」公鏈挖礦第一社區!


分享到:


相關文章: