區(qū)塊鏈中的各種信任與不信任治理分析
在比較區(qū)塊鏈技術(shù)時,我們并不需要花費(fèi)很多時間就可以發(fā)現(xiàn)這種技術(shù)中存在部落主義。 自2009年以來,我一直在從事區(qū)塊鏈技術(shù)的研究,我發(fā)現(xiàn)一件有幫助的事情是思考人們可以做出的所有設(shè)計(jì)權(quán)衡。 這不像“最快”,“最具擴(kuò)展性”,“最去中心化”或“最佳治理”那么簡單。 在選擇哪種區(qū)塊鏈技術(shù)最適合您的應(yīng)用時,本文將探討一些不太常見的問題。
信任與不信任治理
各種區(qū)塊鏈上有許多不同類型的治理系統(tǒng),并且并非所有治理系統(tǒng)都適合建立信任。 例如,委托工作量證明(例如,比特幣和以太坊)是一種投票系統(tǒng),通過該系統(tǒng),礦池可以確定哪些有效交易的子集可以包含在區(qū)塊中。 不能假定生成區(qū)塊的節(jié)點(diǎn)比任何其他節(jié)點(diǎn)具有“更高的信任度”,因此,它們可以通過生產(chǎn)一個區(qū)塊鏈表示“無害”。
在委托權(quán)益證明系統(tǒng)中,區(qū)塊生產(chǎn)者由代幣持有人投票選舉產(chǎn)生。 假定可以使用某些東西來信任這些選定的節(jié)點(diǎn),如果違反了該信任,這些東西可能會使網(wǎng)絡(luò)癱瘓。 EOS的兩個重要例子包括:
成為計(jì)算運(yùn)行時的oracle數(shù)據(jù)庫(1個壞角色可能會因缺乏無限循環(huán)或計(jì)費(fèi)不足而使網(wǎng)絡(luò)癱瘓)。
部署系統(tǒng)合約更新(?+會損害網(wǎng)絡(luò))。
在任何人都可以提出一個區(qū)塊的網(wǎng)絡(luò)中,所有驗(yàn)證器都必須具有客觀的CPU計(jì)費(fèi)時間度量。 以太坊就是這樣工作的,但是,如果模擬目標(biāo)計(jì)費(fèi)與實(shí)際CPU時間之間不匹配,則并非沒有性能下降和攻擊媒介的后果。
其他權(quán)益證明系統(tǒng),例如Ouroboros,允許任何帳戶通過模擬挖礦和Staking來生產(chǎn)區(qū)塊。 這從根本上限制了他們的智能合約系統(tǒng)像以太坊具有客觀資源計(jì)數(shù)一樣運(yùn)行。 如果您擁有開放的區(qū)塊生產(chǎn)者集合而沒有“信任門”,那么您的代碼必須在性能上做出妥協(xié),而這可以通過DPOS之類的“有信任但可驗(yàn)證”的系統(tǒng)來避免。
您對共識算法的選擇所產(chǎn)生的影響遠(yuǎn)不只是達(dá)成共識的方式。
抵抗審查
所有區(qū)塊鏈面臨的挑戰(zhàn)是用戶如何確保他們的“有效交易”能夠真正記錄在鏈上而不會受到其他人的干擾。 原則上,生產(chǎn)和確認(rèn)的實(shí)體越“獨(dú)立”和“非共謀”,就越有機(jī)會找到其中一個包括交易在內(nèi)的實(shí)體。 最壞的情況下,您可能必須生產(chǎn)自己的區(qū)塊。
抗審查的故事并沒有以“如果您愿意購買挖礦硬件,就不會受到審查”這一敘述而結(jié)束。 避免受到交易審查的唯一確定的方法是擁有51%的挖礦權(quán)。 沒有51%的挖礦能力,礦池運(yùn)營商可以簡單地忽略任何要審核交易的區(qū)塊。 這意味著比特幣治理產(chǎn)生了固有的“信任”,硬件所有者(又名選民)選擇了不太可能受到審查的礦池。
在這方面,委托工作量證明和委托權(quán)益證明都實(shí)現(xiàn)了一種“受信任的治理”形式,在一定程度上,算力和代幣可以廣泛分布在足夠多的獨(dú)立選民中。 但是,一旦選民投票,只需3到4個代表(池,區(qū)塊生產(chǎn)者)即可審查一筆比特幣或以太坊交易,而抗議一個特定的有效交易則需要8個或更多的區(qū)塊生產(chǎn)者才能停止DPOS鏈。
客觀與主觀最終確定性
工作量證明區(qū)塊鏈以及一些權(quán)益證明區(qū)塊鏈缺乏客觀的最終確定性。 相反,它們呈現(xiàn)出隨著時間的推移而增長的“最終確定性很高的可能性”。 我們可以說以下鏈具有主觀最終性:
比特幣/以太坊(委托工作量證明)
Bitshares / Steem(委托權(quán)益證明)
卡爾達(dá)諾(Ouroboros)
以下鏈具有客觀最終確定性:
EOSIO(BFT DPOS和BOS)
某些超級賬本
哈希圖
瑞波
拜占庭容錯算法需要一組封閉的已知驗(yàn)證器才能達(dá)到最終性,結(jié)果,如果關(guān)閉了該已知組的1/3,則它們將無法達(dá)到最終確定性。 有了主觀確定性,總會有人產(chǎn)生更好鏈條的證據(jù),這會導(dǎo)致您放棄當(dāng)前鏈。
開放式進(jìn)入系統(tǒng)往往缺乏最終性和某種形式的“贏得的信任”,因此它們受到性能,治理和延遲的限制。
輕松的區(qū)塊鏈間通信(IBC)
您對區(qū)塊鏈技術(shù)和共識算法的選擇可能會影響哪種IBC具有可能性以及這種IBC的速度。要查看實(shí)際情況,請考慮嘗試在EOSIO上編寫智能合約以處理比特幣header并驗(yàn)證比特幣交易。您的智能合約在什么時候可以考慮比特幣交易的最終性?在許多情況下,即使在100個區(qū)塊之后,區(qū)塊鏈也可能會重組。您選擇的任何數(shù)量的確認(rèn)都帶有可能被撤消的風(fēng)險。
現(xiàn)在,假設(shè)您對另一條鏈進(jìn)行了不可變的操作,該鏈具有基于IBC的最終性,而該鏈沒有最終性。在實(shí)踐中,具有缺乏客觀最終性的鏈的IBC必須等待很長時間,以減少因無效假設(shè)而導(dǎo)致的鏈重組的風(fēng)險。如果存款經(jīng)過6次以上的確認(rèn)后撤消,則該或您的比特幣存款智能合約必須具有某種減輕損害的方法。
可以在主觀最終性的鏈中使用IBC,但如果通信是雙向的,那么上帝會幫助您。彼此通信的兩個主觀最終性鏈需要的延遲類似于與深空探測器通信的時延,往返時間以小時或天為單位。
可以在幾秒鐘內(nèi)完成具有客觀最終性的鏈中的IBC。
最后,僅僅因?yàn)槔碚撋蟽蓚€鏈之間可以進(jìn)行通訊并不意味著這很容易。 通訊的便捷性部分取決于將智能客戶端建立到另一個鏈作為智能合約的難易程度。 這又取決于header和Merkle證明的復(fù)雜性和數(shù)量以及智能合約語言的魯棒性和性能。 智能合約中過多的開銷或太少的電力會殺死IBC的潛力。
例如,考慮一下EOS模擬以太坊要比以太坊模擬EOSIO要容易得多!
結(jié)論
隨著關(guān)于共識算法和去中心化的爭論日益激烈,當(dāng)務(wù)之急是聰明的觀察者要求考慮所有技術(shù)妥協(xié)的全部代價。 如果“去中心化的開放式共識算法”意味著您擁有的區(qū)塊鏈具有主觀的確定性和高延遲的區(qū)塊鏈間通信(IBC),并且無法在治理層中利用“信任但可驗(yàn)證”的優(yōu)化,那有什么好處?
另一方面,提供最終性的算法也存在風(fēng)險。
請記住“區(qū)塊鏈背后的取舍之道(All Blockchain Magic comes with a Price)”,在將組織委托給任何特定的智能合約平臺之前,請確保已閱讀細(xì)則。