一文理解區(qū)塊鏈共識(shí)機(jī)制的終結(jié)性區(qū)塊鏈
理解終結(jié)性對(duì)于構(gòu)建穩(wěn)健的區(qū)塊鏈平臺(tái)、選擇在何種平臺(tái)之上開(kāi)發(fā)應(yīng)用程序至關(guān)重要。
今天,我刷卡買了一杯爽口的抹茶拿鐵。刷完卡,店家很篤定地為我做了這杯飲料。商戶確信這筆交易已經(jīng)成功了,錢不會(huì)再原路返回到我的卡上,而是妥妥地進(jìn)入他們的戶頭。換句話說(shuō),購(gòu)買已經(jīng)終結(jié)。不過(guò)實(shí)際上,信用卡的交易非常復(fù)雜,信用卡交易需要在60天時(shí)才能最終完成,小額交易商家還可以接受刷卡消費(fèi),但大額交易,更愿意接受支票或電匯。只有現(xiàn)金交易可即時(shí)實(shí)現(xiàn)「終結(jié)」。
在區(qū)塊鏈的場(chǎng)景中,終結(jié)性「finality」是指一旦提交到區(qū)塊鏈,所有格式正確的區(qū)塊都不會(huì)被撤銷。當(dāng)用戶進(jìn)行交易時(shí),他們希望一旦其交易通過(guò),交易就不會(huì)被任意更改或回滾。因此,在設(shè)計(jì)區(qū)塊鏈共識(shí)協(xié)議時(shí),終結(jié)性就顯得至關(guān)重要。
區(qū)塊被撤銷可能會(huì)帶來(lái)數(shù)百萬(wàn)美元的損失,或者對(duì)去中心化應(yīng)用程序中的基本操作造成影響。因此,理解終結(jié)性對(duì)于構(gòu)建穩(wěn)健的區(qū)塊鏈平臺(tái)、選擇在何種平臺(tái)之上開(kāi)發(fā)應(yīng)用程序至關(guān)重要。
在目前基于中本聰共識(shí)的系統(tǒng)中,51%攻擊和私下進(jìn)行的采礦行為有可能允許區(qū)塊被撤銷,從而威脅到系統(tǒng)的健康。例如,如果一個(gè)惡意行動(dòng)者能夠積累51%的采礦力量,他可以進(jìn)行雙花攻擊。有些協(xié)議提供了概率上的「終結(jié)性」,而其他協(xié)議則可以保證絕對(duì)的「終結(jié)性」。
對(duì)「終結(jié)性」進(jìn)行分類
「概率上的終結(jié)性」是指,基于區(qū)塊鏈的協(xié)議提供的終結(jié)性,比特幣的中本聰共識(shí)就屬于此類。在這種情況下,包含交易的區(qū)塊在鏈中下沉越深,交易不被回滾的概率就越大。區(qū)塊越深,包含該區(qū)塊的分叉越可能是最長(zhǎng)的鏈條。這就是為什么在比特幣區(qū)塊鏈上,我們會(huì)建議等到一個(gè)交易獲得六個(gè)區(qū)塊確認(rèn)時(shí)再確定其真實(shí)性,也就是說(shuō),等上大約一個(gè)小時(shí)的時(shí)間再完成交易,這樣就能確保交易被回滾的可能性非常低了。
「絕對(duì)終結(jié)性」是指基于實(shí)用拜占庭容錯(cuò)PBFT的協(xié)議提供的終結(jié)性,Tendermint是其中的代表。在這種情況下,交易一旦包含在區(qū)塊中并添加到區(qū)塊鏈上,就會(huì)立即被認(rèn)為已經(jīng)最終完成。在這種情況下,領(lǐng)先者將提出一個(gè)區(qū)塊,而驗(yàn)證委員會(huì)需要在批準(zhǔn)這個(gè)區(qū)塊方面達(dá)成多數(shù)一致。
還有一種「經(jīng)濟(jì)終結(jié)性」的概念,在這種概念中,一個(gè)區(qū)塊的回滾成本會(huì)非常高昂。在使用削減機(jī)制比如Casper FFG和Tendermint的權(quán)益證明PoS系統(tǒng)中,如果一個(gè)股權(quán)持有人在兩個(gè)區(qū)塊上雙重標(biāo)記,他們的整個(gè)股權(quán)都可能被削減,也要是說(shuō),他們要為損害終結(jié)性付出極其昂貴的代價(jià)。例如,如果一個(gè)網(wǎng)絡(luò)上有100個(gè)股權(quán)持有人,每個(gè)人都已經(jīng)投入了100萬(wàn)美元,那么現(xiàn)有的股份總額就是1億美元。如果在同一高度提出了兩個(gè)區(qū)塊,比如B和B',66%的股權(quán)持有人投票給B6600萬(wàn)美元,66%的人投給B'6600萬(wàn)美元,那么至少33%的股權(quán)持有人存有惡意,而這意味著損失至少為3300萬(wàn)美元。
CAP定理和終結(jié)性
雖然看起來(lái)絕對(duì)終結(jié)性比概率上的終結(jié)性更可取,但是在進(jìn)行挑選時(shí),仍然存在一些基本的權(quán)衡。
在考慮概率和基于拜占庭容錯(cuò)BFT的終結(jié)性之間進(jìn)行權(quán)衡時(shí),使用Eric Brewer的「CAP定理」很有用。
CAP定理指出,在分區(qū)的情況下,分布式系統(tǒng)只能要么保留一致性,要么保留可用性。保留一致性的系統(tǒng)寧可中止,也不會(huì)允許不準(zhǔn)確的交易通過(guò)。而保留可用性的系統(tǒng)會(huì)允許不準(zhǔn)確的交易通過(guò),自身也會(huì)繼續(xù)存在。偏好一致性的系統(tǒng)提供拜占庭容錯(cuò)終結(jié)性,而偏好可用性的系統(tǒng)提供概率上的終結(jié)性。
左圖:偏好一致性的系統(tǒng);右圖:偏好可用性的系統(tǒng)
在進(jìn)行支付時(shí),用戶經(jīng)常會(huì)選擇概率上終結(jié)性的協(xié)議,這就是為什么許多基于有向無(wú)環(huán)圖DAG、支持可用性,而非一致性的協(xié)議,會(huì)把重點(diǎn)放在支持支付上。然而,許多區(qū)塊鏈平臺(tái)提供的不僅僅是支付功能,還包括由智能合約支持的DApp。不同的DApp在最終性方面可能有不同的偏好:那些需要可用性的DApp,如果交易在哪怕并不準(zhǔn)確時(shí)也總是能夠通過(guò),會(huì)更偏好概率上終結(jié)性的方式;傾向于一致性的DApp,在出現(xiàn)不準(zhǔn)確的交易時(shí)整個(gè)應(yīng)用程序?yàn)橹兄梗@也是可取的,這種應(yīng)用會(huì)更偏好絕對(duì)終結(jié)性的方式。所以說(shuō),終結(jié)性從根本上影響用戶體驗(yàn)。
PoS共識(shí)中的終結(jié)性
以下是我們對(duì)一些主要的PoS平臺(tái)進(jìn)行的分析;
Tendermint
Tendermint實(shí)現(xiàn)了絕對(duì)終結(jié)性。任何在預(yù)投票或預(yù)提交中得到2/3以上票數(shù)的區(qū)塊都可實(shí)現(xiàn)即時(shí)終結(jié)。這一過(guò)程持續(xù)進(jìn)行下去,直到達(dá)1/3或以上的驗(yàn)證人不再做出積極反應(yīng),在這種情況下網(wǎng)絡(luò)會(huì)暫時(shí)中斷,由此可見(jiàn),Tendermint對(duì)一致性的青睞要超過(guò)了可用性。在對(duì)Tendermint應(yīng)用PoS削減規(guī)則時(shí),該協(xié)議也實(shí)現(xiàn)了經(jīng)濟(jì)終結(jié)性。
Thunderella
Thunderella的快速路徑提供了絕對(duì)終結(jié)性。任何獲得公證的最大交易序列都可以被視為經(jīng)過(guò)確認(rèn)的輸出。如果大于3/4的快捷路徑委員會(huì)成員誠(chéng)實(shí)且在線,申請(qǐng)人也是誠(chéng)實(shí)的,那么有效交易可即時(shí)確認(rèn)。然而,快速路徑確認(rèn)不同于整體的終結(jié)性,它是一種理想條件下的終結(jié)性。交易一旦被記錄在基礎(chǔ)區(qū)塊鏈上,就會(huì)完全確認(rèn),這既可以架設(shè)在鏈上,也可以基于BFT算法。Thunderella在快速路徑失敗的情況下會(huì)推到基礎(chǔ)區(qū)塊鏈,由此可見(jiàn),它優(yōu)先考慮可用性。
Algorand
只要攻擊者控制該協(xié)議的貨幣價(jià)值不足總價(jià)值的1/3,Algorand就可以保證分叉的概率可以忽略不計(jì),從而允許協(xié)議以強(qiáng)同步方式運(yùn)行,使得每個(gè)區(qū)塊達(dá)成最終協(xié)議。在弱同步中,Algorand可能會(huì)分叉,但要使用拜占庭協(xié)議BA*來(lái)協(xié)商選擇哪個(gè)分叉。這樣一來(lái),當(dāng)協(xié)議恢復(fù)到強(qiáng)同步時(shí),Algorand中的交易會(huì)最終確定。Algorand優(yōu)先考慮一致性而非可用性,在不能接受候選區(qū)塊時(shí),寧愿選擇生成空區(qū)塊。
Ouroboros Genesis
Genesis可以根據(jù)其區(qū)塊鏈的選擇規(guī)則,實(shí)現(xiàn)概率上的終結(jié)。這個(gè)規(guī)則為對(duì)于短程最多k個(gè)區(qū)塊,其中k是安全參數(shù),遵循最長(zhǎng)鏈;對(duì)于長(zhǎng)程超過(guò)k個(gè)區(qū)塊用充分性規(guī)則plenituderule,意味著在當(dāng)前鏈分叉后即時(shí)查看時(shí)間段,并選擇更高密度的鏈。
Casper FFG
Casper FFG旨在為基于區(qū)塊鏈的系統(tǒng)提供絕對(duì)/經(jīng)濟(jì)上的終結(jié)性,在委員會(huì)按股權(quán)加權(quán)獲得了2/3以上絕對(duì)多數(shù),即可簽署區(qū)塊。Casper FFG使用這種構(gòu)建方式,即使攻擊者控制了底層區(qū)塊鏈的提案機(jī)制,出現(xiàn)沖突的檢查點(diǎn)也不可能最終完成。但是,由于FFG提供了安全性,而提案機(jī)制提供了活躍度,因此對(duì)手可以拖延共識(shí)來(lái)阻止Casper最終完成未來(lái)的檢查點(diǎn)。FFG優(yōu)先考慮一致性,因?yàn)樗辉试S在未獲超過(guò)2/3的驗(yàn)證者同意的情況下完成檢查點(diǎn)。FFG還允許通過(guò)削減機(jī)制實(shí)現(xiàn)經(jīng)濟(jì)上的終結(jié)。
Casper TFG
Casper TFG通過(guò)具有不同容錯(cuò)閾值的驗(yàn)證者,實(shí)現(xiàn)絕對(duì)終結(jié)。也就是說(shuō),其協(xié)議是異步安全的拜占庭容錯(cuò),允許驗(yàn)證者具有不同的容錯(cuò)閾值。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來(lái)源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來(lái)源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。