很長一段時間以來,我們一直聽說在同步網絡中,實現50%容錯的共識是有可能的。在同步網絡中,任何可信節點廣播的消息都可以保證在某個已知時間段內被所有其它可信節點接收。
如果攻擊者超過50%,他們就可以執行“51%攻擊”,對于區塊鏈上同類型的任何算法都有可能出現類似的情況。
我們也一直聽過這樣的說法:如果你想放松同步假設,并且擁有一種“異步下安全”的算法,最大可達到的容錯率可下降到33%(PBFT、CasperFFG等都屬于此類)。
然而,如果添加更多假設(具體來說,你不僅需要觀察者來關注那些不積極參與共識但關心其輸出的用戶,也要積極地關注共識,而不僅僅是在結果出現后下載其輸出),這樣可以把容錯率一路提高到99%嗎?
事實上,這一點早已人盡皆知。萊斯利·蘭伯特1982年在著名的談及“拜占庭一般問題”的論文中包含了對算法的描述。下面我將嘗試用簡化的形式重新來描述和表述這個算法。
假設有N個參與共識的節點,每個人都提前同意這些節點代表誰(根據上下文,它們可以由可信方選擇,或者如果需要更強的去中心化程度,可以通過一些工作證明或利害關系進行證明)。
V神發文:使用calldata擴展和分片擴展Rollups的分步路線圖:11月26日消息,V神發布了關于“使用calldata擴展和分片擴展Rollups的分步路線圖”。在此文中,V神表示L1上的交易費用一直非常高,因此采取任何必要措施來幫助促進整個生態系統向Rollups的轉變變得更加緊迫。Rollup已經顯著降低了許多以太坊用戶的費用:l2fees.info顯示Optimism和Arbitrum提供的費用比以太坊基礎層本身低約3-8倍,然而,即使是這些費用對許多用戶來說也太貴了。V神提出了4步,第一步:txcalldata擴展,第二步:一些分片,第三步:N個分片并且受委員會保護,第四步:數據可用性抽樣。但是這留下了一個問題:如果以太坊核心協議不存儲這些數據,誰來存儲?V神提出了幾個可能:個人和機構;區塊瀏覽器;RollupDAO,客戶端;門戶網絡;像TheGraph一樣的協議。其中一些解決方案(個人和機構志愿者、區塊瀏覽器)已經可用。[2021/11/26 7:11:58]
我們把這些節點標記為0…N-1。另外,還假設網絡延遲和時鐘差異上有一個已知的限制D。(例如,D=8秒)。每個節點都有能力在T時刻發布值(惡意節點當然可以早于T或晚于T地發布值)。
V神:并未期待加密貨幣成為記賬單位:剛剛,V神在回復推特網友時表示,我同意這個觀點,即在經濟衰退期間,一個良好的記賬單位應該會降低購買力,在這點上,法定貨幣比加密貨幣做的更好。但我仍然支持加密貨幣,因為在我對加密貨幣主導世界的愿景中,并不包括加密貨幣成為記賬單位。我們已經看到一些東西是用比特幣或以太坊支付的,但是是以美元計價的。我甚至認為,央行的角色是維持一個價格指數,而大多數工資、合同、承諾都是以這個指數來計價的。與此同時,我不認為ETH是凱恩斯主義者。[2020/10/28]
所有節點等待(N-1)?D秒,運行如下進程。定義x:i為“節點i簽名的值x”,x:i:j為“節點i簽名的值x,并且x與j一起簽名”,等等。在第一階段發表的提案將采用v的形式:i的形式為一些v和i,其中包括提出該提案的節點的簽名。
如果一個驗證器i收到一些消息v:i:…:i,其中?i:…:i是已經按順序對消息進行了簽名的索引列表(只是v本身會算作k=0,而v:i則為k=1),那么驗證程序檢查(i)的時間將小于Tk?D,同時他們尚未看到包含以下內容的有效消息;如果兩項檢查均通過了,則會發布v:i:…:i:i。
金色晨訊 | V神:加密貨幣并不符合有效市場假說:1.跨境業務區塊鏈服務平臺首批試點在陜西落地
2.以太坊Reddit子版塊版主因社區爭議辭職
3.V神:加密貨幣并不符合有效市場假說
4.Reserve Protocol(RSR)將通過火幣優選上幣通道Huobi Prime上線火幣全球站
5.比特幣現金將在周三升級網絡底層機制
6.ThunderCore 團隊被曝分別向交易所 Upbit 和火幣轉出大量代幣 引發社區恐慌
7.內部人士:吳忌寒已經建立了FinTech平臺Matrix
8.Euro Pacific Capital首席執行官:加密貨幣只是“賭博的投機工具”
9.幣安或將在5月14日完全恢復存款和取款[2019/5/13]
在T(N-1)?D時,節點停止監聽。此時,就可以保證所有的可信節點都“有效地看到了”相同的一組值。
如果問題要求選擇一個值,則可以使用一些“選擇”函數從他們看到的值中選擇一個值。然后節點可以就該值達成共識。
現在,讓我們來探究一下為什么這種方式有效。我們需要證明的是,如果一個誠實節點看到了特定的值,然后其它的誠實節點也看到該值(如果我們證明了這一點,那么我們知道所有誠實節點都看到了同一組值,因此如果所有誠實節點都運行相同的選擇功能,他們會選擇相同的值)。
聲音 | V神稱Plasma“基本準備好了”:據TrustNode今日消息,Vitalik Buterin評論以太坊的一大擴容方案Plasma“基本準備好了”,但是沒有透露具體時間規劃。另外,Vitalik還相信在Plasma部署完成后,法定數字貨幣可以立馬或者在短期內上線以太坊網絡。[2018/7/12]
假設任何誠實節點收到一條消息v:i:…i,他們認為是有效的。在時間Tk?D之前到達),假設x是另一個誠實節點的索引。x要么是i的一部分:…要么不是。
在第一種情況下(對于此消息,x=i),我們知道誠實節點x已經廣播該消息,他們這樣做是為了響應他們在時間T·D之前收到的帶有j-1簽名的消息。此時他們廣播了他們的消息,那么所有誠實節點一定都會在時間Tj?D前收到消息。
在第二種情況下,由于誠實節點在時間Tk?D之前看到消息,那么它們就會用自己的簽名傳播消息,并保證包括x在內的所有人都會在時間T(k1)?D之前看到它。
注意,該算法使用添加自己簽名的行為作為消息超時的一種“碰撞”。正是這種能力保證了一個誠實的節點如果及時看到了消息,那它們也可以確保其它所有節點也能及時看到消息,因為“準時”的定義增加的時間超過了每添加一個簽名的網絡延遲。
V神宣布:以太坊擴容方案漸趨成熟:以太坊聯合創始人Vitalik Buterin本周在推特上提到,通過分片技術(sharding),以太坊的交易處理能力即將得到大幅提升。分片技術能夠提升區塊鏈的交易處理量。這種“鏈上”解決方案通過多個網絡計算機來分配交易負載,允許更多的交易在同一時間得到確認。他介紹,通過多個計算機同時處理shard區塊的方式,可以使得單個區塊的處理時間縮短到10秒鐘。[2018/5/3]
在一個節點是誠實的情況下,我們能否保證被動的觀察者(比如關心結果的非共識參與節點)也可以看到結果。
按照計劃,存在一個問題。假設一個指揮官和k(惡意)驗證器的某個子集生成一條消息v:i:…i,并且在Tk?D前廣播給一些受害者,受害者認為消息是“準時”,但當他們轉發時,消息只會在Tk?D之后達到所有的已經協商一致的誠實節點,而所有協商一致的誠實節點將會拒絕它。
但我們可以堵住這個洞,提出一個新的約束:要求D在兩倍的網絡延遲加上時間差。然后我們給觀察者一個不同的超時:觀察者接受v:i:…i必須在T(k-0.5)?D之前。
現在,假設觀察者看到一條消息并接受了它。他們能夠在時間Tk?D之前將其廣播到一個誠實節點,并且誠實節點將發布帶有簽名的消息,該消息將在TD(k0.5)之前到達所有其它觀察者,同時帶有k1個簽名的消息將會超時。
改進其它共識算法
理論上講,上述算法可以作為獨立的共識算法使用,甚至可以用于運行權益證明的區塊鏈。
第N1輪共識的驗證器集合本身可以在第N輪共識中被決定(例如,每輪共識也可以接受“存款”和“取款”交易,如果接受并正確簽名,將添加或刪除驗證器后進入下一輪)。
需要添加的主要額外成分是另一種機制,用于決定允許提議區塊的提名者(例如。每輪可以有一個指定的提名者)。它也可以被修改為用作工作證明的區塊鏈,允許參與共識的節點通過公鑰發布工作解決方案的證明,同時通過簽名實時地“聲明自己”。
然而,同步假設是非常強大的,所以我們希望在不需要超過33%或50%容錯的情況下,無需同步假設也能工作。有一種方法可以做到這一點。
假設我們有一些其它的共識算法(例如,PBFT,CasperFFG,基于鏈的PoS),其輸出可以被偶爾在線的觀察者看到(我們稱之為閾值依賴的共識算法,而上文所述的算法我們稱之為延遲依賴的共識算法)。
假設閾值依賴的共識算法持續運行,在一種模式下,它將不斷地“確定”新的區塊到鏈上。例如:每一個最終值都將指向一個“父”;如果有一個指針序列a→…→B,我們稱A為B的后裔。
我們可以在這種結構上改進依賴于延遲的算法,讓總是在線的觀察者能夠訪問檢查點上的一種“有可能結果”,容錯性約為95%。
每當時間達到4096秒的倍數時,我們就運行依賴于延遲的算法,選擇512個隨機節點來參與算法。
一個有效的建議是由閾值相關算法最終確定的任何有效的值鏈。如果一個節點在時間Tk?D(D=8秒)之前看到有k個簽名的某個最終值,則接受該鏈進入它的已知鏈集中,并添加自己的簽名進行重新廣播它;觀察者像以前一樣使用T(k-0.5)?D的閾值。
最后使用的“選擇”函數很簡單:
忽略不是在前一輪中已經商定的最終確定值的后代的值
忽略最終的無效值
在兩個有效的最終值中進行選擇時,選擇哈希值較低的那個
如果5%的驗證器是誠實的,那么隨機選擇的512個節點中,只有大約1萬億分之一的機會是誠實的,因此當上述算法工作,將會協調得出單一最終值的節點。
如果閾值依賴的共識算法的容錯性被滿足(通常50%或67%的節點是誠實的),那么閾值依賴的共識算法將不會確定任何新的檢查點,或者它將確定最終彼此兼容的新檢查點(例如,每個檢查點都指向前一個檢查點作為父檢查點)。
因此,參與依賴于延遲的算法的節點不會同意它們接受的值,它們接受的值仍然保持為同一鏈的一部分,不存在沒有實際的分歧。一旦延遲在未來的某個回合恢復正常,依賴于延遲的共識將恢復“同步”。
如果依賴閾值和依賴延遲的共識算法的假設同時被打破(或在連續的兩輪中被打破),那么算法就會分解。例如,假設在一輪中,閾值依賴共識最終確定Z→X→Y,而延遲以來共識在X,Y之間意見不一,那么共識將會在不達成協議情況下結束。下一輪閾值依賴共識將會在最終確定W不源于X,且X不源于Y的情況下結束;在依賴延遲的共識中,同意Y的節點不會接受W,而同意X的節點會。然而,這是不可避免的;異步下的安全共識是不可能的。
容錯是拜占庭容錯理論中一個眾所周知的結論,就像很多的不可能事件一樣,容錯甚至在觀察器離線情況下允許同步假設。
作者:VitalikButerin
翻譯|Katie責編|晉兆雨
原文鏈接:
https://hackernoon.com/how-to-achieve-99percent-fault-tolerant-consensus-n25b31m
Tags:以太坊加密貨幣區塊鏈TAL以太坊交易所排名加密貨幣市場規模區塊鏈TEC幣有這種幣嗎Bitcapital coin
自3年前創辦Argent以來,我們一直在朝著一個偉大的目標努力,就是將Layer2引入Argent,并且讓我們的Layer1錢包變得更加安全、強大.
1900/1/1 0:00:00尊敬的用戶: BKEXGlobalU本位永續合約將于2021年3月26日14:00上線DENT.
1900/1/1 0:00:00頭條 ▌香港正在測試快速支付系統為數字人民幣移動支付充值香港金融管理局總裁余偉文表示,金管局正在測試使用快速支付系統——“轉數快”幫助數字人民幣移動支付充值,目前已完成第一階段測試.
1900/1/1 0:00:003月22日-3月28日當周,明星項目進展中值得關注的事件有:Rococo啟動平行鏈插槽拍賣測試.
1900/1/1 0:00:00頭條 ▌國內首個區塊鏈特色司法鑒定機構在京成立3月28日,國網區塊鏈司法鑒定中心在京成立。這是國內首個以區塊鏈技術為特色的司法鑒定機構,將加速區塊鏈在能源數字化治理領域的創新實踐,探索基于區塊鏈.
1900/1/1 0:00:00有趣有趣,公鏈的競爭被這張圖說得十分有趣。大陸重要當然是以太,著名的協議如Uni如同將軍,號令三軍。Matic和Optimism如同騎兵,加快以太的機動。Cosmos偏安一隅,其實是沒搞起來.
1900/1/1 0:00:00