共識(shí)算法

所謂共識(shí)算法财剖,就是每個(gè)節(jié)點(diǎn)對(duì)于本區(qū)塊的正確性達(dá)成共識(shí)悠夯。

共識(shí)是一切交易的基礎(chǔ),達(dá)成共識(shí)越分散(參與度越高)躺坟,其效率就越低沦补,但安全性越高,因此也越穩(wěn)定咪橙;相反夕膀,達(dá)成共識(shí)越集中(參與度越低),效率越高美侦,也越容易出現(xiàn)獨(dú)裁和腐敗現(xiàn)象产舞,安全性越低。

以主流 PoW(Proof of Work) 為例菠剩,根據(jù)區(qū)塊頭與一個(gè)隨機(jī)數(shù)進(jìn)行哈希運(yùn)算易猫,可簡(jiǎn)單理解為必須通過(guò)大量數(shù)學(xué)計(jì)算之后,才能將區(qū)塊掛入?yún)^(qū)塊鏈中具壮。

為什么不能讓礦工直接把區(qū)塊掛上去呢准颓?

在區(qū)塊鏈中,最長(zhǎng)的鏈被認(rèn)為是正確的鏈棺妓,所有礦工選擇最長(zhǎng)的鏈來(lái)挖攘已,才能確保鏈的唯一性。公有鏈作為一個(gè)完全開放的系統(tǒng) —— 任何節(jié)點(diǎn)都可以來(lái)當(dāng)?shù)V工怜跑,其背后的設(shè)計(jì)哲學(xué)在于“作惡得到的好處小于付出的代價(jià)样勃,所以理性節(jié)點(diǎn)不會(huì)做惡”。傳奇跑者普雷方丹也有一句名言:“你可以打敗我性芬,但你必須付出足夠的努力與汗水峡眶。”如果礦工可以直接把區(qū)塊掛到鏈上植锉,那么攻擊者就可以分叉幌陕,然后瘋狂的把這條鏈加長(zhǎng),使人誤以為這才是正確的區(qū)塊鏈汽煮。

在 PoW 中搏熄,攻擊者必須進(jìn)行工作量證明才能把分叉鏈加長(zhǎng)棚唆,必須付出比全網(wǎng)更大的算力(51% 以上)才能跑的最快,同一時(shí)間形成更多區(qū)塊心例,讓人誤以為這是最長(zhǎng)的鏈宵凌,從而完成攻擊,但這顯然是不可能的止后。這個(gè)系統(tǒng)的設(shè)計(jì)邏輯沒有問(wèn)題瞎惫,但在 PoW 的過(guò)程中,需要消耗大量無(wú)謂的算力與能源译株。

首先瓜喇,PoW 所需的算力不斷增大,比特幣為了保證每 10 分鐘出一個(gè)塊歉糜,同時(shí)在 2140 年產(chǎn)生 2100 萬(wàn)枚全部比特幣乘寒,就必須每 2016 個(gè)塊之后進(jìn)行難度升級(jí)。所以挖礦設(shè)備也不斷的進(jìn)行更新?lián)Q代才能滿足需求匪补。從 CPU 挖礦伞辛,到 GPU,到 FPGA 挖礦等等夯缺,耗電量也與日俱增蚤氏。

其次,主鏈上同一時(shí)間只會(huì)有一個(gè)區(qū)塊上鏈踊兜,這個(gè)由計(jì)算出來(lái)的礦工獲得竿滨,但是其他參與計(jì)算的礦工雖然消耗了大量算力,卻沒有任何收益捏境,浪費(fèi)了大量計(jì)算資源于游。

最重要的一點(diǎn),這些計(jì)算并不是有實(shí)際意義的計(jì)算典蝌,換句話說(shuō):以比特幣為代表的使用 PoW 共識(shí)的公有鏈曙砂,本質(zhì)上只能起到賬本的作用头谜,而不具備實(shí)際的功能骏掀,所以其所做的計(jì)算也都是沒有實(shí)際作用的。

所以說(shuō)柱告,減少能源的消耗截驮,同時(shí)完成有意義的計(jì)算,是共識(shí)機(jī)制設(shè)計(jì)的關(guān)鍵所在际度。但是這兩點(diǎn)同時(shí)實(shí)現(xiàn)極為困難葵袭。第一,如果消耗的資源減少乖菱,安全性就越低坡锡,因?yàn)楣粽咴饺菀讓⒎植骀溩尨蠹艺`以為是主鏈蓬网;第二,有意義的計(jì)算如何有規(guī)律的與區(qū)塊鏈系統(tǒng)連接起來(lái)鹉勒,比如如果做機(jī)器學(xué)習(xí)計(jì)算帆锋,穩(wěn)定的 Data Set 從何而來(lái),計(jì)算的獎(jiǎng)勵(lì)如何分配禽额,都是需要精心設(shè)計(jì)的地方锯厢。在這樣的一個(gè)背景下,“激進(jìn)”的 PoS 逐漸獲得了更多的認(rèn)可脯倒,幾乎完全不需要進(jìn)行計(jì)算实辑,從而大大降低了能耗。

PoS (Proof of Stake):權(quán)益證明藻丢。如果把 PoW 比作意大利國(guó)家隊(duì)穩(wěn)健的防守體系剪撬,那么 PoS 則擁有巴西隊(duì)野心,以降低防守力郁岩,來(lái)增加攻擊性婿奔。

PoS 完全不需要進(jìn)行計(jì)算,而是需要證明者對(duì)某些數(shù)量的權(quán)益展示所有權(quán)问慎。證明節(jié)點(diǎn)對(duì)區(qū)塊結(jié)果進(jìn)行押注萍摊,如果錯(cuò)誤則喪失押注,如果正確則贏得獎(jiǎng)勵(lì)如叼。

然而冰木,無(wú)論是在工業(yè)界還是學(xué)術(shù)界,PoS 都是一把雙刃劍笼恰,在提升性能的同時(shí)踊沸,很難保證其安全性。最著名的兩個(gè)問(wèn)題是:nothing at stake 以及 long range attack (長(zhǎng)距離攻擊)社证。以太坊在 PoS 的過(guò)程中也遇到了諸多困難逼龟。

Nothing at stake:如果攻擊者 fork 當(dāng)前的鏈,挖礦節(jié)點(diǎn)的保證金已經(jīng)押在了兩條鏈上追葡,他不需要去判斷哪條是正確的鏈腺律,而是都支持,從而導(dǎo)致攻擊者得逞宜肉,而無(wú)論攻擊者是否得逞匀钧,節(jié)點(diǎn)選擇全部挖的策略也可以保障自己的收益,所以只要理性節(jié)點(diǎn)不是“token 大戶”谬返,都會(huì)去支持攻擊者之斯。

這個(gè)問(wèn)題已經(jīng)有人提出一些解決方案,例如 vitalik 提出的“錯(cuò)誤懲罰”遣铝,如果一個(gè)節(jié)點(diǎn)在發(fā)生分叉時(shí)選擇都押注佑刷,如果押注超過(guò)一條鏈或者押注了錯(cuò)誤的鏈會(huì)被懲罰莉擒。

Long range attack則是更為棘手的問(wèn)題:可以理解為 PoS 中的女巫攻擊。攻擊者不是去 fork 現(xiàn)有的鏈瘫絮,而是回到初始階段的鏈啰劲,造一條更長(zhǎng)的新的鏈,讓網(wǎng)絡(luò)誤以為是主鏈檀何。因?yàn)?PoS 共識(shí)中節(jié)點(diǎn)的增長(zhǎng)速度沒有限定(比特幣 PoW 有限定蝇裤,10 分鐘出一個(gè)塊),攻擊者可以用很短的時(shí)間造一條更長(zhǎng)的鏈频鉴。一個(gè)區(qū)塊鏈系統(tǒng)栓辜,一開始不會(huì)有很多礦工,前期的塊都是少數(shù)礦工挖的垛孔,如果這些礦工互相串通好藕甩,聯(lián)合起來(lái)回到早起階段,因?yàn)槟莻€(gè)階段只有他們可以挖接下來(lái)的塊周荐,他們可以很容易聯(lián)合發(fā)起此攻擊狭莱。

目前 long range attack 沒有很好的解決方案,一些客戶端(包括 casper)試圖通過(guò)限定更改區(qū)塊的長(zhǎng)度來(lái)解決這個(gè)問(wèn)題概作,比如 NXT 的處理方式為超過(guò) 720 個(gè)區(qū)塊的不能被更改腋妙。但這只是降低了問(wèn)題發(fā)生的概率,或者說(shuō)轉(zhuǎn)化了問(wèn)題讯榕,會(huì)導(dǎo)致“weak subjectivity”骤素。

事實(shí)上,已經(jīng)有很多 PoS 算法試圖解決上述問(wèn)題:

Ouroboros:一個(gè)可證明安全的 PoS 區(qū)塊鏈協(xié)議愚屁,Ouroboros 加入了權(quán)益證明算法济竹,定義了節(jié)點(diǎn)對(duì)賬本狀態(tài)達(dá)到共識(shí)的方法,它是第一個(gè)宣稱進(jìn)行嚴(yán)格的安全分析的 PoS 類型的區(qū)塊鏈協(xié)議霎槐。

Ouroboros 在一定條件下的實(shí)踐驗(yàn)證中送浊,解決了各種攻擊,包括雙花攻擊丘跌、交易拒絕攻擊袭景、51% 攻擊、無(wú)利害關(guān)系碍岔、去同步攻擊以及其他攻擊浴讯。某些前提下朵夏,它被科學(xué)證明安全的蔼啦。它在亞馬遜云中運(yùn)行了基準(zhǔn)測(cè)試,這些測(cè)試展現(xiàn)了 Ouroboros 的權(quán)益證明區(qū)塊鏈協(xié)議仰猖,在性能方面的優(yōu)勢(shì)捏肢。

不過(guò)經(jīng)衬巫眩回頭驗(yàn)證的模式也有問(wèn)題。多次回頭鸵赫,一方面影響 TPS衣屏,一方面會(huì)增加更多的通信,另一方面還很難驗(yàn)證回頭 stake 的是否都為正確辩棒。

DPoS狼忱,相比于普通的 PoS,多了一個(gè)選舉機(jī)制一睁,類似議會(huì)制度钻弄,不僅幣數(shù)很關(guān)鍵,聲望更加關(guān)鍵者吁,從而實(shí)現(xiàn)速度與安全性的提高窘俺,DPoS 希望通過(guò)投票來(lái)篩選信任節(jié)點(diǎn),解決 PoS 的安全隱患复凳。

類似的瘤泪,還有 PoP,PoC:

PoP (Proof of Participation),基于賬戶參與度的算法育八,PoP 將 PoI 和 DPoS 的思想結(jié)合对途,既能確保對(duì)設(shè)備的公平性,又擁有社區(qū)的共識(shí)髓棋,同時(shí)減少了算力浪費(fèi)掀宋。讓記賬這件事情更經(jīng)濟(jì)效率 , 從而支撐起更多大規(guī)模的協(xié)作體系。

PoC (Proof of Credit)仲锄,信用共識(shí)機(jī)制 , “PoC”繼承了“PoW”通過(guò)計(jì)算來(lái)實(shí)現(xiàn)賬本安全的特性劲妙,但同時(shí)提出的非常有創(chuàng)新的一點(diǎn)“利用用戶的信用值”作為挖礦的準(zhǔn)入門檻,這樣就會(huì)積累有效的節(jié)點(diǎn)為網(wǎng)絡(luò)加密計(jì)算儒喊。同樣“PoC”也相對(duì)“PoW”在社區(qū)發(fā)展中公平了很多镣奋,在參與挖礦的時(shí)候,是根據(jù)自己的信用值來(lái)判斷是不是有共識(shí)(挖礦)資格怀愧。在達(dá)到共識(shí)的信用值后侨颈,為了防止節(jié)點(diǎn)的違規(guī)行為還必須提交一定的保證金額,才能參與共識(shí)芯义,共識(shí)網(wǎng)絡(luò)中加入了簡(jiǎn)單的智能合約哈垢,作為共識(shí)的契約來(lái)約束每個(gè)節(jié)點(diǎn)參與共識(shí),如果有違規(guī)扛拨,會(huì)付出很大的懲罰耘分。這也保證了節(jié)點(diǎn)會(huì)正常參與共識(shí),用來(lái)提高網(wǎng)絡(luò)的安全性。

但目前求泰,沒有一種 PoS 是被證明和 PoW 一樣安全的央渣,在設(shè)計(jì)上盡可能的通過(guò)制定出塊規(guī)則與獎(jiǎng)勵(lì)懲罰機(jī)制來(lái)解決 nothing at stake 等問(wèn)題,但本質(zhì)還是不安全的渴频。比較可行的方法是進(jìn)行一個(gè)折中芽丹,PoW+PoS 混合共識(shí)機(jī)制。

例如第一個(gè)使用 PoS 的項(xiàng)目:peercoin卜朗。peercoin 是第一個(gè) PoS 算法拔第,于 2012 年提出,PPCoin 的最大創(chuàng)新是其采礦方式混合了 PoW+PoS 方式场钉,而 PoW 部分加入幣齡的概念楼肪,越早買優(yōu)勢(shì)越大,相比與純 PoS 或者純 PoW惹悄,達(dá)到節(jié)能和安全的平衡春叫。

類似的還有 CFFG,PoW+PoS 混合模型泣港,由 Vitalik Buterin 帶領(lǐng)研究 Casper the Friendly Finality Gadget(CFFG)暂殖,需要進(jìn)行兩周期投票,并且需要質(zhì)押 TOKEN当纱。第一次是 PoW呛每,超過(guò) 2/3 即可驗(yàn)證成功,第二次是 PoS坡氯,超過(guò) 2/3 即可驗(yàn)證成功晨横,然后確認(rèn)區(qū)塊,驗(yàn)證者即可獲得收益箫柳。驗(yàn)證者是被激勵(lì)著集合在權(quán)威鏈上的手形,因?yàn)槿绻麄兂掷m(xù)在不同的鏈上進(jìn)行投票將會(huì)受到懲罰。驗(yàn)證者不僅僅會(huì)為雙重投票而受罰悯恍,也要為在不正確的鏈上進(jìn)行投票而受到懲罰库糠。

Tendermin,2014 年涮毫,由 Jae Kwon 帶領(lǐng)研究瞬欧,BFT 與 PoS 混合機(jī)制,假設(shè)少于 1/3 的驗(yàn)證者是拜占庭罢防,Tendermint 保證安全永遠(yuǎn)不會(huì)被破壞——也就是艘虎,驗(yàn)證者(2/3 以上)永遠(yuǎn)不會(huì)在同一個(gè)高度提交沖突的區(qū)塊。因此咒吐,基于 Temdermint 的區(qū)塊鏈永遠(yuǎn)不會(huì)分叉野建。Tendermint 的設(shè)計(jì)決策偏向于安全性和不可改變性属划。但這樣的混合共識(shí)機(jī)制,雖然降低了能耗贬墩,但依然沒有本質(zhì)上解決 PoW“浪費(fèi)不必要能耗”的問(wèn)題。為了設(shè)計(jì)可持續(xù)發(fā)展的共識(shí)算法妄呕,需要同時(shí)做到以下兩點(diǎn):找到一個(gè)低能耗陶舞、有實(shí)際效用的算法將此實(shí)際效用作為 PoS 的防御機(jī)制

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绪励,隨后出現(xiàn)的幾起案子肿孵,更是在濱河造成了極大的恐慌,老刑警劉巖疏魏,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件停做,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡大莫,警方通過(guò)查閱死者的電腦和手機(jī)蛉腌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)只厘,“玉大人烙丛,你說(shuō)我怎么就攤上這事「嵛叮” “怎么了河咽?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赋元。 經(jīng)常有香客問(wèn)我忘蟹,道長(zhǎng),這世上最難降的妖魔是什么搁凸? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任媚值,我火速辦了婚禮,結(jié)果婚禮上护糖,老公的妹妹穿的比我還像新娘杂腰。我一直安慰自己,他們只是感情好椅文,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布喂很。 她就那樣靜靜地躺著,像睡著了一般皆刺。 火紅的嫁衣襯著肌膚如雪少辣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天羡蛾,我揣著相機(jī)與錄音漓帅,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛忙干,可吹牛的內(nèi)容都是我干的器予。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼捐迫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乾翔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起施戴,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤反浓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后赞哗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雷则,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年肪笋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了月劈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡藤乙,死狀恐怖艺栈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情湾盒,我是刑警寧澤湿右,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站罚勾,受9級(jí)特大地震影響毅人,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尖殃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一丈莺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧送丰,春花似錦缔俄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至登失,卻和暖如春遏佣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揽浙。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工状婶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留意敛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓膛虫,卻偏偏與公主長(zhǎng)得像草姻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子稍刀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 本文由幣乎社區(qū)(bihu.com)內(nèi)容支持計(jì)劃贊助撩独。 權(quán)益證明的漫漫長(zhǎng)路 權(quán)益證明的定義可以查看理解權(quán)益證明。 1...
    Lilymoana閱讀 6,570評(píng)論 0 22
  • 他們都把別離妝成一出愁緒的戲 先追憶又凝目無(wú)語(yǔ) 淚眼凄迷 忍不住痛失聲掉丽,眼哭紅 咱們可別這樣 我們的鏡頭里輕輕揮手...
    BORNALONE閱讀 156評(píng)論 0 0
  • 金指尖的花園閱讀 452評(píng)論 0 4
  • 孤城殘壁跌榔,戰(zhàn)火在燎原异雁,燒紅了天際捶障。你站在那里,手中緊握斷劍纲刀,身后是殘旗硝煙漫天项炼,寒鴉艷血,世界只剩你孤傲地立在天地...
    雪初閱讀 575評(píng)論 2 2