區塊鏈和共識協議:靈活性和安全性缺一不可

買賣虛擬貨幣
的世界裡,共識協議被廣泛討論。然而,通常很難區分競爭的協議並對它們進行評估,尤其是並不清楚某個特定協議如何解決共識問題,或者該特定問題如何與區塊鏈的實際關注點相關聯(例如,我的交易何時得到確認?)我用的是什麼分叉?在這篇文章中,我將概述協商共識協議試圖解決的問題,詳細說明一個有效的協商共識協議應該實現什麼,希望這將有助於傳達解決一些問題。
大致說來,協商共識協議的目的是在相互不信任的各方之間達成的協議。在比特幣網路中,節點正試圖就下一個區塊包含什麼內容達成一致。在這個網路中,塊告訴我們廣播了哪些事務,以及這些事務的順序。其他的共識協議通常是相似的——它們告訴客戶應該應用哪些操作,並且這些操作的順序是什麼。作為一個共識協議的使用者,你可能一開始會想“好吧,我不太關心操作的順序和時間,只要我能保證這些操作是正確的。”的確,正確性是一個重要的屬性。但是,這個屬性完全與操作的順序和時間有關。為了瞭解原因,讓我們看一些事務示例。T1:公鑰A將代幣“Z”轉移到公鑰B
T2:公鑰A將代幣“Z”轉移到公鑰CT3:公鑰B將代幣“Z”轉移到公鑰D現在,當單獨檢查時,確認這些事務的正確性是微不足道的。對於事務1和事務2,驗證者只需要確認事務是由與A對應的私鑰簽名的,這在相當枯燥的密碼學中是可以實現的,並且已經存在了幾十年。但是單獨檢查這些事務並不有趣,並且不能提供有用的正確性度量。我想知道我是否“擁有”代幣Z,也就是說,沒有人可以在未經我允許的情況下,令人信服地轉移那枚代幣。共識協議對此有什麼要說的?重要的是,在一個共識協議中,網路中的客戶端和節點會達成一致的世界觀,而這種世界觀中進行交易。一旦我們可以訂購事務,我們就可以開始評估它們在特定時間點是否有效。例如,如果一個共識協議確定在時間0,代幣“Z”是由公鑰A擁有,並且交易排序為T1,T3,T2——顯然,T1和T3是有效的,但T2是無效的(因為在T1廣播之後,Z由公鑰B擁有,而不再是公鑰A)。但是,如果協議確定事務的順序是T2、T1、T3,那麼只有T2是有效的。顯然,秩序和時機保證很重要。幸運的是,這正是共識協議試圖提供的。共識議定在秩序和時間方面提供兩項保證:· 安全性:只要協議的錯誤參與者不超過某個閾值,其他參與者就無法說服客戶機接受錯誤或無效的訊息。
· 靈活性:只要協議的錯誤參與者不超過某個閾值,其他參與者就不能無限期地延遲接受正確訊息。在區塊鏈環境中,這些保證通常意味著什麼?如前所述,在區塊鏈上驗證不正確的訊息幾乎是微不足道的。這是否意味著安全性是一個微不足道的目標?當涉及到事務的時間安排和事務的順序時,為什麼靈活性很重要?這些和分叉有什麼關係?為了將其對映到區塊鏈中,我們必須首先了解區塊鏈到底想要達成什麼共識。事實證明,答案不是資訊,甚至不是事務,而是歷史。區塊鏈客戶端不斷地嘗試找出哪些事務的歷史是“真實”的歷史。從前面的事務示例中,客戶端需要判斷這兩種可能的歷史記錄中哪一種是正確的:歷史1:事務1,事務3。歷史2:事務2。Nakamoto consensus使用工作證明挖掘和“最長鏈勝出”度量來決定哪個歷史是正確的歷史。如果網路中的所有節點都是誠實的,那麼這個歷史記錄應該與預期的歷史記錄相匹配。
有了這樣的理解,我們現在可以就區塊鏈構建我們的兩個共識保證:· 安全性: 只要協議的錯誤參與者的閾值不超過某個閾值,其他參與者就無法說服客戶機接受錯誤的歷史記錄,· 靈活性: 只要協議的錯誤參與者不超過某個閾值,其他參與者就不能阻止客戶端接受某些歷史記錄作為正確的歷史記錄。有趣的是,當涉及區塊鏈時(儘管大多數共識協議都是如此),我們通常對正確性、有效性、順序和時間等屬性的理解需要同時保證安全性和靈活性。這就是區塊鏈的本質。如果我希望確信自己不會受到“雙重支出”的攻擊,那麼我需要知道,首先,事務將被及時接受,其次,一旦被接受,事務就不太可能處於孤立塊中。這就是為什麼安全性和靈活性是容錯協議不可分割的屬性。容錯協議使用技術來保證活性,而活性會影響安全性,反之亦然。例如,在實際拜占庭容錯中(一個最具影響力的容錯共識協議),兩階段提交副本所使用的機制是確保副本取得進展。如果這個機制有缺陷,就會影響安全性和靈活性。這些特性在沒有其他特性的情況下不能得到有效的處理或證明。一項消除安全顧慮的協議總是可以取得進展的。如果區塊鏈將徹底改變人們在網際網路上的互動方式,那麼這些區塊鏈的正常運作將是非常重要的。在評估各種平臺的技術和計劃時,必須記住區塊鏈試圖解決的基本問題。在基本層面上,這個問題是一個老問題:在達成共識的同時容忍一些錯誤或惡意行為者。無論在理論還是實踐中,這都意味著提供靈活性和安全性的保障。然而,這些保障是不可分割的,因為提供一種保障的機制總是相互影響的。
現在,當評估那些試圖在支援開放區塊鏈的新機制方面取得進展的專案時,充分處理這兩個問題的專案最有可能取得成果。像Stellar這樣的專案在聯邦模型(非開放)中使用協商共識協議,但是提供了良好的容錯保證。Algorand在構建容錯協議方面也取得了重大進展,儘管處理開放成員集的問題仍然懸而未決。我們自己的區塊鏈設計工作提供了容錯保證,同時透過工作證明挖掘支援開放成員之間關係。更多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;