成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

區(qū)塊鏈共識分析的簡單框架

huhud / 1805人閱讀

摘要:一般來說,吞吐量和延遲也難以兩全,這是因為共識的消息復(fù)雜度有一個下限對于每一輪共識,參與共識的節(jié)點至少要收到一次消息否則連要共識的東西是什么都不知道。如何處理共識參與者的動態(tài)變化,是區(qū)塊鏈共識的一個核心問題。

區(qū)塊鏈共識對比
區(qū)塊鏈 進入方式* 出塊選擇* 共識方式* 退出方式* 安全偏好 延遲[1] 帶寬效率 節(jié)點數(shù)量[2]
Algorand 持有代幣 Random/VRF BA 停止出塊 一致性
Bitcoin 購買算力 Random/PoW Nakamoto Consensus 停止挖礦 活性 低[3]
Cardano 持有代幣 Random/Delegated MPC Ouroboros 停止出塊 活性
CKB 購買算力 Random/PoW NC-Max 停止挖礦 活性
EOS 鏈上投票 Deterministic NC[4] 鏈上投票/停止出塊 一致性
Ethereum 抵押代幣 Random/RANDAO+VDF Casper CBC/FFG 解除抵押 活性
HoneyBadger 抵押代幣 聯(lián)合出塊 BA (BFT) 解除抵押 一致性
Tendermint 抵押代幣 Weighted Round Robin BFT 解除抵押 一致性

[1] 延遲為交易發(fā)出到被共識確認(rèn)所需要的時間。低:<10s,中:10s-600s,高:>=600s
[2] 保持共識性能的情況下允許的共識節(jié)點數(shù)量。低:<100,中:>=100,高:沒有限制
[3] Bitcoin的Nakamoto Consensus具有很低的通訊開銷(communication overhead),但由于共識參數(shù)的設(shè)定(10分鐘區(qū)塊間隔,~4MB區(qū)塊容量)導(dǎo)致帶寬利用率低。
[4] EOS的宣傳中說的是BFT,但是與一些朋友交流得知現(xiàn)在用的依然是NC,也就是說EOS的DPoS與BitShares的DPoS應(yīng)該是一樣。

框架思路

共識算法是一個很大的話題,在區(qū)塊鏈出現(xiàn)之前,分布式系統(tǒng)和數(shù)據(jù)庫領(lǐng)域都已經(jīng)有很多的共識算法的研究和沉淀。但區(qū)塊鏈的共識與之前的研究又有非常大的不同,如果不注意很容易掉進傳統(tǒng)共識的老套路里面。實際上不僅僅是區(qū)塊鏈有自己的獨特需要,我的感覺是數(shù)據(jù)庫會議上的共識研究和分布式系統(tǒng)上的共識研究也是有不小的區(qū)別。其實這非常好理解,因為場景不同嘛,設(shè)計自然不同。

本文嘗試提出一個分析區(qū)塊鏈共識的簡單框架,方便將不同的區(qū)塊鏈共識放到一起來比較。

基本要求

共識的基本度量包括兩個方面,正確性和性能。正確性簡單來說包括:

一致性(Consistency) - 節(jié)點最終能看到相同的本地狀態(tài)

活性(Liveness) - 請求/交易總會在有限時間內(nèi)被處理

正確性是最最基本的要求,這也是大部分區(qū)塊鏈共識都能做到的。要在異步網(wǎng)絡(luò)中始終保證一致性和活性是一個非常難的任務(wù),因此共識設(shè)計通常會選擇保證一點而在一些特定情況下放棄另外一點,例如Bitcoin使用的Nakamoto共識選擇優(yōu)先保證活性,而BFT共識則優(yōu)先保證一致性。

性能包括:

吞吐量(Throughput) - 單位時間內(nèi)系統(tǒng)可以處理的請求數(shù)量

延遲(Latency) - 一個請求/交易從發(fā)起到處理完畢/完全確定所需要的時間

對吞吐量和延遲的影響因素很多,例如共識節(jié)點的數(shù)量,共識的消息復(fù)雜度,消息驗證需要的時間,共識可用的帶寬,共識設(shè)計的傾向等等。一般來說,吞吐量和延遲也難以兩全,這是因為共識的消息復(fù)雜度有一個下限:對于每一輪共識,參與共識的節(jié)點至少要收到一次消息(否則連要共識的東西是什么都不知道)。如果要低延遲,就要盡快對每個請求/交易的達(dá)成一致,意味著單個請求/交易需要更高的消息復(fù)雜度;如果要高吞吐,就要盡可能的對請求/交易進行批量處理,以此降低單個請求/交易的消息復(fù)雜度,但也會造成高延遲。

對于共識性能,Nervos研究團隊的張韌提出的一個比較有參考性的指標(biāo)是共識對帶寬的利用率:給定相同的帶寬,共識對帶寬的占用越低,共識的吞吐量越高。

區(qū)塊鏈共識的特點 動態(tài)的參與者集合

無論是permissionless(翻譯成“無需許可”太繞口了,用“公有鏈”又不是很準(zhǔn)確,這里還是用單詞)還是permissioned blockchain,最重要的一個特征是它是一個長期運行的開放系統(tǒng)。長期運行和開放疊加的結(jié)果是,共識的參與者會一直變化,每隔一段時間,總會有老的共識節(jié)點離開,新的共識節(jié)點加入,共識參與者是一個動態(tài)集合。如何處理共識參與者的動態(tài)變化,是區(qū)塊鏈共識的一個核心問題。

與區(qū)塊鏈共識不同,傳統(tǒng)的共識研究往往先假設(shè)一個固定的參與者集合,然后研究如何在這個集合內(nèi)達(dá)成共識,偶爾討論參與者集合變化時的處理,基本上不關(guān)心參與共識需要什么樣的資格。研究的重心在于如何保證共識的正確性(e.g. 一致性與活性),形成共識集合的方式只是個附屬課題。傳統(tǒng)共識的應(yīng)用場景往往是中心化控制的網(wǎng)絡(luò),增加或者減少的服務(wù)器都是自己的,形成這樣的側(cè)重也很自然。

數(shù)量眾多的參與者

去中心化是permissionless blockchain共識協(xié)議的一個獨特目標(biāo)。我們通常用參與共識的門檻來度量去中心化程度(為什么這是一個好的度量?),參與門檻越低,去中心化程度越高。低參與門檻的自然結(jié)果是共識參與者的集合可以非常的大,因此共識協(xié)議的設(shè)計必須考慮到這一點,保證共識效率不會因為參與者的增多而下降。

最小的信任模型

執(zhí)行共識算法的目的是為了能對一個計算請求產(chǎn)生一致的計算結(jié)果,在這個過程中一定會有發(fā)起請求的節(jié)點和處理請求的節(jié)點。在傳統(tǒng)共識模型中,有的完全在請求處理節(jié)點集合內(nèi)部執(zhí)行共識算法,有的是由請求發(fā)起節(jié)點和處理節(jié)點一起執(zhí)行共識算法,無論何種情況,信任邊界一般是在請求發(fā)起節(jié)點和請求執(zhí)行節(jié)點之間,發(fā)起節(jié)點將計算請求發(fā)送給執(zhí)行節(jié)點,執(zhí)行節(jié)點計算出結(jié)果后返回給發(fā)起節(jié)點,發(fā)起節(jié)點信任執(zhí)行節(jié)點的計算結(jié)果(反過來,執(zhí)行節(jié)點不一定信任發(fā)起節(jié)點的消息,如果發(fā)起節(jié)點參與共識過程的話)。

區(qū)塊鏈共識的信任模型則大為不同,對信任的要求往往要小的多。在permissionless blockchain網(wǎng)絡(luò)中,同一個節(jié)點即發(fā)起交易又參與共識,節(jié)點對于共識結(jié)果要進行驗證,并不是簡單的信任其他節(jié)點的共識結(jié)果。以Bitcoin為例,如果一個全節(jié)點參與挖礦,它就同時是一個發(fā)起請求(交易)的節(jié)點和處理請求(交易)的節(jié)點。即使它只想做一個安靜的全節(jié)點,不參與挖礦,它也會自行驗證收到的請求處理結(jié)果(區(qū)塊),并不信任其他共識節(jié)點提供的結(jié)果。這樣的全節(jié)點只是選擇跟隨多數(shù)算力選擇的交易排序,不相信多數(shù)算力給出的交易結(jié)果。這是一個最小的信任模型。

SPV/輕節(jié)點使用一個比全節(jié)點更強的信任模型(更強意味著對信任的假設(shè)更多),并不驗證交易的執(zhí)行,只驗證區(qū)塊頭的有效性。如何驗證區(qū)塊頭的有效性則是區(qū)塊鏈共識設(shè)計的另一個核心問題。如果只是通過對區(qū)塊頭附帶的非對稱簽名來驗證有效性,這個信任模型基本上和傳統(tǒng)共識的信任模型是等價的,因為傳統(tǒng)共識中的請求處理節(jié)點也可以對結(jié)果附加簽名,這個模型在結(jié)合動態(tài)參與者集合時會遇到一系列的問題,例如大家熟知的長程攻擊。如果是通過PoW來驗證區(qū)塊頭有效性則天然沒有這些麻煩,主流的研究方向是在于如何進一步提高區(qū)塊頭的驗證效率。

一個簡單的分析框架

根據(jù)以上的分析,我們可以整理出一個簡單的區(qū)塊鏈共識分析框架,用于比較各種區(qū)塊鏈共識:

進入方式* - 購買算力 / 抵押代幣 / …

出塊方式* - 輪流出塊 / PoW隨機選擇 / 鏈上偽隨機 / VRF隨機選擇 / …

共識方式* - Nakamoto Consensus / BFT / …

退出方式* - 停止挖礦 / 解除抵押 / ...

一致性 - 可以容忍多少惡意節(jié)點/算力/Stake/…

活性 - 可以容忍多少惡意節(jié)點/算力/Stake/…

延遲 - 交易被完全確認(rèn)(被推翻的概率小于x)所需要的時間

帶寬效率 - 共識對帶寬的利用率,越高越好

節(jié)點數(shù)量 - 共識節(jié)點的數(shù)量上限是高還是低

舉例說明:

共識協(xié)議 進入方式* 出塊選擇* 共識方式* 退出方式* 一致性 活性 延遲 帶寬效率 節(jié)點數(shù)量
Bitcoin[1] 購買算力 PoW Random Nakamoto Consensus 停止挖礦 攻擊者<33%的算力[2] 攻擊者<100%的算力[3]
Tendermint 抵押代幣 Weighted Round Robin[4] BFT 解除抵押 攻擊者<33%的代幣 攻擊者<33%的代幣
CKB 購買算力 PoW Random NC-Max[5] 停止挖礦 攻擊者<33%的算力 攻擊者<100%的算力

[1] 99%的確定性
[2] 考慮自私挖礦
[3] 無論多小的正常算力都有機會出塊,但是平均延遲會增加
[4] https://github.com/tendermint...
[5] https://medium.com/nervosnetw...

對于一個區(qū)塊鏈共識協(xié)議來說,前四點(帶*)基本上決定了后面的特征。通過這個框架也容易看到,我們通常所說的“PoW共識”或者“PoS共識”是非常模糊的描述,PoW/PoS僅僅是選擇出塊節(jié)點的方式,不能表達(dá)具體的共識過程是什么樣子。我們甚至可以設(shè)計一些非常混搭的共識協(xié)議,例如設(shè)計一個需要通過抵押代幣來參與,通過PoW來選擇出塊節(jié)點,通過Nakamoto Consensus形成最長(重)鏈的協(xié)議(可以給它取名叫StakingPoW,完美結(jié)合Staking熱點),或者是設(shè)計一個需要通過PoW來參與(必須提供滿足一定難度的PoW才能參與共識),通過VRF來選擇出塊節(jié)點,通過BFT來達(dá)成共識的協(xié)議(這個可以起名叫PoW+VRF/BFT,讓人一看就從心底油然升起專業(yè)的感覺)。

激勵分析

在上面的框架之上,我們還可以疊加一個在傳統(tǒng)共識中沒有的維度:共識激勵。區(qū)塊鏈在共識中引入了經(jīng)濟激勵,通過機制設(shè)計將納什均衡與系統(tǒng)目標(biāo)融合在一起,引導(dǎo)參與者遵守協(xié)議,共識參與者的效用函數(shù)可以方便的以其經(jīng)濟收益(即獲得的獎勵減去參與共識的成本)來衡量。共識獎勵往往通過系統(tǒng)內(nèi)原生代幣實現(xiàn),獎勵價值由代幣價值決定,在一個正確設(shè)計的共識協(xié)議中參與者應(yīng)該按照付出的多少獲得相應(yīng)的回報。共識成本的組成比較復(fù)雜,對應(yīng)上面的框架,我們需要分析共識的進入成本,出塊成本,共識成本,退出成本,這些成本共同構(gòu)成了節(jié)點參與共識的成本。正確的共識激勵對網(wǎng)絡(luò)的安全性和去中心化程度都有影響,因此激勵分析是共識分析的一個重要部分。

更多…

你是不是覺得這個分析框架有道理呢?歡迎給我們提出意見!本文感謝 Jan、萬涔涔、高亦民 的共同撰寫分析。

如果你有興趣,不妨嘗試一下用這個框架來分析整理一些區(qū)塊鏈共識協(xié)議(e.g. Casper/Ethereum 2.0, EOS, Cardano, Algorand, etc.)并回復(fù)到 Nervos Talk,也許我們可以一起整理出一個區(qū)塊鏈共識一覽表!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24715.html

相關(guān)文章

  • 區(qū)塊共識分析簡單框架

    摘要:秘猿科技區(qū)塊鏈小課堂第期延遲為交易發(fā)出到被共識確認(rèn)所需要的時間。一般來說,吞吐量和延遲也難以兩全,這是因為共識的消息復(fù)雜度有一個下限對于每一輪共識,參與共識的節(jié)點至少要收到一次消息否則連要共識的東西是什么都不知道。 在之前的幾期秘猿科技小課堂中,我們對比分析了 PoW 和 PoS 的優(yōu)劣,以及我們 CKB 是如何改進比特幣的 PoW 協(xié)議的。這一期是共識部分的最后一期,我們帶大家綜合了...

    haoguo 評論0 收藏0
  • 為什么我們需要另一種區(qū)塊?

    摘要:秘猿科技創(chuàng)始人等在做了很多次,當(dāng)時講了為什么我們需要許可鏈。所以,在年初,我們設(shè)計與開發(fā)了企業(yè)級高性能區(qū)塊鏈內(nèi)核,并于年開源。第一朵烏云,是區(qū)塊鏈的性能問題。 2016 年年初,Eris Industry 最早把 BFT 的共識引入到區(qū)塊鏈中,創(chuàng)造了許可鏈。秘猿科技創(chuàng)始人等在 Ethfans 做了很多次 Meetup,當(dāng)時講了為什么我們需要許可鏈。簡單來說,在比特幣的區(qū)塊鏈上我們實現(xiàn)了...

    beita 評論0 收藏0
  • 區(qū)塊技術(shù)學(xué)習(xí)指引

    摘要:引言給迷失在如何學(xué)習(xí)區(qū)塊鏈技術(shù)的同學(xué)一個指引,區(qū)塊鏈技術(shù)是隨比特幣誕生,因此要搞明白區(qū)塊鏈技術(shù),應(yīng)該先了解下比特幣。但區(qū)塊鏈技術(shù)不單應(yīng)用于比特幣,還有非常多的現(xiàn)實應(yīng)用場景,想做區(qū)塊鏈應(yīng)用開發(fā),可進一步閱讀以太坊系列。 本文始發(fā)于深入淺出區(qū)塊鏈社區(qū), 原文:區(qū)塊鏈技術(shù)學(xué)習(xí)指引 原文已更新,請讀者前往原文閱讀 本章的文章越來越多,本文是一個索引帖,方便找到自己感興趣的文章,你也可以使用左側(cè)...

    Cristic 評論0 收藏0
  • 喜報!Nervos 研究員張韌論文被頂級安全會議 IEEE S&P 接收!

    摘要:近日,研究員張韌發(fā)表的被接收,這也是中國大陸的區(qū)塊鏈團隊第一次在區(qū)塊鏈行業(yè)核心會議上發(fā)表相關(guān)論文。關(guān)于論文張韌是魯汶大學(xué)在讀博士,前研究員,長期專注于區(qū)塊鏈共識協(xié)議安全和隱私研究。 showImg(https://segmentfault.com/img/bVbpmou?w=2779&h=1179); 近日,Nervos & Cryptape 研究員張韌發(fā)表的《Lay Down the...

    zqhxuyuan 評論0 收藏0
  • 制定通用標(biāo)準(zhǔn):評估 PoW 共識協(xié)議安全性

    摘要:第二個被稱為懲罰協(xié)議。這些協(xié)議將沒收那些可疑的區(qū)塊的獎勵。第二個稱為不可預(yù)測的確定性平局打破協(xié)議。在共識中,這兩個指標(biāo)指鏈質(zhì)量和激勵相容度是相等的。 在秘猿科技區(qū)塊鏈小課堂 26/27 期中,我們分享了研究員 Ren Zhang 對于主流共識協(xié)議的分析(Ren Zhang 來自于前比特幣技術(shù)實現(xiàn)公司 Blocksteam)。這一期小課堂,我們將會深入分析 PoW 共識協(xié)議的安全性,指出...

    cyqian 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<