一文理解區塊鏈共識機制的終結性

撰文:Alexis Gauba,Mechanism Labs 聯合創始人

編譯:詹涓

理解終結性對於構建穩健的區塊鏈平臺、選擇在何種平臺之上開發應用程序至關重要。

今天,我刷卡買了一杯爽口的抹茶拿鐵。刷完卡,店家很篤定地為我做了這杯飲料。商戶確信這筆交易已經成功了,錢不會再原路返回到我的卡上,而是妥妥地進入他們的戶頭。換句話說,購買已經終結。不過實際上,信用卡的交易非常複雜,信用卡交易需要在 60 天時才能最終完成,小額交易商家還可以接受刷卡消費,但大額交易,更願意接受支票或電匯。只有現金交易可即時實現「終結」。

在區塊鏈的場景中,終結性「finality」是指一旦提交到區塊鏈,所有格式正確的區塊都不會被撤銷。當用戶進行交易時,他們希望一旦其交易通過,交易就不會被任意更改或回滾。因此,在設計區塊鏈共識協議時,終結性就顯得至關重要。

區塊被撤銷可能會帶來數百萬美元的損失,或者對去中心化應用程序中的基本操作造成影響。因此,理解終結性對於構建穩健的區塊鏈平臺、選擇在何種平臺之上開發應用程序至關重要。

在目前基於中本聰共識的系統中,51% 攻擊和私下進行的採礦行為有可能允許區塊被撤銷,從而威脅到系統的健康。例如,如果一個惡意行動者能夠積累 51%的採礦力量,他可以進行雙花攻擊。有些協議提供了概率上的「終結性」,而其他協議則可以保證絕對的「終結性」。

對「終結性」進行分類

「概率上的終結性」是指,基於區塊鏈的協議提供的終結性,比特幣的中本聰共識就屬於此類。在這種情況下,包含交易的區塊在鏈中下沉越深,交易不被回滾的概率就越大。區塊越深,包含該區塊的分叉越可能是最長的鏈條。這就是為什麼在比特幣區塊鏈上,我們會建議等到一個交易獲得六個區塊確認時再確定其真實性,也就是說,等上大約一個小時的時間再完成交易,這樣就能確保交易被回滾的可能性非常低了。

「絕對終結性」是指基於實用拜占庭容錯 PBFT 的協議提供的終結性,Tendermint 是其中的代表。在這種情況下,交易一旦包含在區塊中並添加到區塊鏈上,就會立即被認為已經最終完成。在這種情況下,領先者將提出一個區塊,而驗證委員會需要在批准這個區塊方面達成多數一致。

還有一種「經濟終結性」的概念,在這種概念中,一個區塊的回滾成本會非常高昂。在使用削減機制 比如 Casper FFG 和 Tendermint 的權益證明 PoS 系統中,如果一個股權持有人在兩個區塊上雙重標記,他們的整個股權都可能被削減,也要是說,他們要為損害終結性付出極其昂貴的代價。例如,如果一個網絡上有 100 個股權持有人,每個人都已經投入了 100 萬美元,那麼現有的股份總額就是 1 億美元。如果在同一高度提出了兩個區塊,比如 B 和 B ', 66% 的股權持有人投票給 B 6600 萬美元,66% 的人投給 B ' 6600 萬美元,那麼至少 33% 的股權持有人存有惡意,而這意味著損失至少為 3300 萬美元。

CAP 定理和終結性

雖然看起來絕對終結性比概率上的終結性更可取,但是在進行挑選時,仍然存在一些基本的權衡。

在考慮概率和基於拜占庭容錯 BFT 的終結性之間進行權衡時,使用 Eric Brewer 的「CAP 定理」很有用。

CAP 定理指出,在分區的情況下,分佈式系統只能要麼保留一致性,要麼保留可用性。保留一致性的系統寧可中止,也不會允許不準確的交易通過。而保留可用性的系統會允許不準確的交易通過,自身也會繼續存在。偏好一致性的系統提供拜占庭容錯終結性,而偏好可用性的系統提供概率上的終結性。

一文理解區塊鏈共識機制的終結性

左圖:偏好一致性的系統;右圖:偏好可用性的系統

在進行支付時,用戶經常會選擇概率上終結性的協議,這就是為什麼許多基於有向無環圖 DAG、支持可用性,而非一致性的協議,會把重點放在支持支付上。然而,許多區塊鏈平臺提供的不僅僅是支付功能,還包括由智能合約支持的 DApp。不同的 DApp 在最終性方面可能有不同的偏好:那些需要可用性的 DApp,如果交易在哪怕並不準確時也總是能夠通過,會更偏好概率上終結性的方式;傾向於一致性的 DApp,在出現不準確的交易時整個應用程序為之中止,這也是可取的,這種應用會更偏好絕對終結性的方式。所以說,終結性從根本上影響用戶體驗。

PoS 共識中的終結性

以下是我們對一些主要的 PoS 平臺進行的分析;

Tendermint

Tendermint 實現了絕對終結性。任何在預投票或預提交中得到 2/3 以上票數的區塊都可實現即時終結。這一過程持續進行下去,直到達 1/3 或以上的驗證人不再做出積極反應,在這種情況下網絡會暫時中斷,由此可見,Tendermint 對一致性的青睞要超過了可用性。在對 Tendermint 應用 PoS 削減規則時,該協議也實現了經濟終結性。

Thunderella

Thunderella 的快速路徑提供了絕對終結性。任何獲得公證的最大交易序列都可以被視為經過確認的輸出。如果大於 3/4 的快捷路徑委員會成員誠實且在線,申請人也是誠實的,那麼有效交易可即時確認。然而,快速路徑確認不同於整體的終結性,它是一種理想條件下的終結性。交易一旦被記錄在基礎區塊鏈上,就會完全確認,這既可以架設在鏈上,也可以基於 BFT 算法。Thunderella 在快速路徑失敗的情況下會推到基礎區塊鏈,由此可見,它優先考慮可用性。

Algorand

只要攻擊者控制該協議的貨幣價值不足總價值的 1/3,Algorand 就可以保證分叉的概率可以忽略不計,從而允許協議以強同步方式運行,使得每個區塊達成最終協議。在弱同步中,Algorand 可能會分叉,但要使用拜占庭協議 BA * 來協商選擇哪個分叉。這樣一來,當協議恢復到強同步時,Algorand 中的交易會最終確定。Algorand 優先考慮一致性而非可用性,在不能接受候選區塊時,寧願選擇生成空區塊。

Ouroboros Genesis

Genesis 可以根據其區塊鏈的選擇規則,實現概率上的終結。這個規則為對於短程 最多 k 個區塊,其中 k 是安全參數,遵循最長鏈;對於長程 超過 k 個區塊 用充分性規則 plenitude rule,意味著在當前鏈分叉後即時查看時間段,並選擇更高密度的鏈。

Casper FFG

Casper FFG 旨在為基於區塊鏈的系統提供絕對/經濟上的終結性,在委員會按股權加權獲得了 2/3 以上絕對多數,即可簽署區塊。Casper FFG 使用這種構建方式,即使攻擊者控制了底層區塊鏈的提案機制,出現衝突的檢查點也不可能最終完成。但是,由於 FFG 提供了安全性,而提案機制提供了活躍度,因此對手可以拖延共識來阻止 Casper 最終完成未來的檢查點。FFG 優先考慮一致性,因為它不允許在未獲超過 2/3 的驗證者同意的情況下完成檢查點。FFG 還允許通過削減機制實現經濟上的終結。

Casper TFG

Casper TFG 通過具有不同容錯閾值的驗證者,實現絕對終結。也就是說,其協議是異步安全的拜占庭容錯,允許驗證者具有不同的容錯閾值。

鏈聞 CHAINNEWS

鏈聞 ChainNews 為中國的 FinTech 金融科技菁英與決策者們提供每日不可或缺的新聞、深度分析以及評論

一文理解區塊鏈共識機制的終結性


分享到:


相關文章: