時(shí)間:2022-02-23|瀏覽:464
與工作量證明相比(PoW)客觀、直覺(jué)、易驗(yàn)證,權(quán)益證明以過(guò)去狀態(tài)為共識(shí)基礎(chǔ),正確性環(huán)環(huán)相扣。
工作量證明vs 權(quán)益證明
工作量證明作為比特幣發(fā)明之初的共識(shí)機(jī)制,最大的優(yōu)勢(shì)是簡(jiǎn)單:礦工需要計(jì)算100兆次,驗(yàn)證只需要計(jì)算正確的時(shí)間,容易防御,難以攻擊,但缺點(diǎn)也很明顯,的無(wú)意義操作是浪費(fèi)資源。
權(quán)益證明放棄低效的挖掘猜測(cè)數(shù)字游戲,通過(guò)投票達(dá)成共識(shí)。任何持有一定數(shù)量貨幣的人都可以參與投票,多票勝利。
安全沉淀易于驗(yàn)證
相較于權(quán)益證明,驗(yàn)證需要有過(guò)去每個(gè)人的持幣量的先備知識(shí),工作量證明簡(jiǎn)單粗暴,你不需要知道幣的分布、全局狀態(tài)、過(guò)去的任何一筆交易,只要看區(qū)塊頭就知道合法,所以如果你有天不小心在路邊撿到兩條鏈,沒(méi)什么好猶豫的,更長(zhǎng)、累積工作量更多的鏈就是對(duì)。
基于物理規(guī)則,工作量證明區(qū)塊鏈上的交易不僅安全,而且在礦工打包后。隨著未來(lái)更多的塊被連接,塊被追溯的概率越來(lái)越低,即交易「沉淀」去更深更安全的地方。因此,我們經(jīng)??吹?a title='幣交易所' target='_blank' class='f_b'>交易所和家會(huì)有「n 個(gè)區(qū)塊」確認(rèn)等待設(shè)計(jì),就是等待錢變得更像不會(huì)跑掉。
最終的區(qū)塊鏈
權(quán)益證明區(qū)塊鏈沒(méi)有安全沉淀效應(yīng),因?yàn)椤竻^(qū)塊X 的正確性」仰賴「區(qū)塊X-1 的正確性」,又仰賴X-2,X-3,…,因此,如果你對(duì)整個(gè)區(qū)塊鏈的狀態(tài)一無(wú)所知(誰(shuí)有多少硬幣),無(wú)論你給你多少證據(jù),你都可能無(wú)法說(shuō)服你。畢竟,偽造區(qū)塊的成本非常非常低,即狀態(tài)轉(zhuǎn)移。
然而,股權(quán)證明的支持者會(huì)告訴你,我們有最終性(finality)這個(gè)工作量證明了沒(méi)有什么好的。換句話說(shuō),如果你確信區(qū)塊X-1 是對(duì)的,當(dāng)區(qū)塊X 產(chǎn)生的瞬間對(duì)你來(lái)說(shuō)永遠(yuǎn)是對(duì)的,根本不需要等任何沉淀。
原因很簡(jiǎn)單,因?yàn)楣ぷ髁孔C明的潛在礦工是未知的、無(wú)限的,很難知道世界上有多少設(shè)備可以挖掘,這甚至超過(guò)了時(shí)間跨度,也就是說(shuō),未來(lái)的計(jì)算能力可能會(huì)回來(lái)挖掘當(dāng)前的塊,所以只要越來(lái)越安全,就永遠(yuǎn)不可能相信100% 不會(huì)被逆轉(zhuǎn)。如果一個(gè)外星人拿出一臺(tái)不同維度的計(jì)算機(jī),并立即超過(guò)全球計(jì)算機(jī)計(jì)算能力,區(qū)塊鏈上的任何交易都可能被逆轉(zhuǎn)。
此時(shí),證明權(quán)益的有限礦工非常重要。「區(qū)塊X 是否正確」問(wèn)題是,有投票權(quán)的母親只是「所有在區(qū)塊X-1 持有貨幣的人」,當(dāng)這群人中的2/3 已經(jīng)投票(并且保證不會(huì)跑票)時(shí),區(qū)塊X 永遠(yuǎn)敲定。
主觀性
回到「有一天,你不小心在路邊撿到了兩條鏈」當(dāng)然,專業(yè)節(jié)點(diǎn)/礦工的情況不是問(wèn)題。他們隨時(shí)同步新區(qū)塊,總能根據(jù)共識(shí)規(guī)則選擇邊站。然而,業(yè)余用戶不可避免地會(huì)離線很長(zhǎng)時(shí)間,然后回來(lái)。有一天,當(dāng)你連接到互聯(lián)網(wǎng)時(shí),你會(huì)發(fā)現(xiàn)兩組人給你傳遞了兩條完全不同的鏈條。在權(quán)益證明的情況下,你不能立即知道選擇哪一方。甚至可以說(shuō),即使你在離線期間補(bǔ)充了每個(gè)塊,這兩條鏈的好壞仍然取決于感覺(jué)。這取決于你相信誰(shuí),也就是說(shuō)「主觀」的。
克服業(yè)余節(jié)點(diǎn)近用區(qū)塊鏈主觀威脅的唯一唯一的辦法就是在每個(gè)區(qū)塊輸出時(shí)立即達(dá)到最終(不分叉),但這相當(dāng)于要求「每一個(gè)礦工」都「永遠(yuǎn)活躍在線」且「了解狀態(tài)和每筆交易」并「隨時(shí)投票」,這樣的標(biāo)準(zhǔn)太嚴(yán)格了,很容易使新區(qū)塊難以生產(chǎn),甚至整個(gè)鏈條停滯,實(shí)際上是不可行的。
遠(yuǎn)程攻擊
在共識(shí)算法的設(shè)計(jì)中,最重要的指標(biāo)是「抗惡意行為」程度。工作量證明的術(shù)語(yǔ)「51% 攻擊」只要他們掌握的計(jì)算能力不超過(guò)整個(gè)系統(tǒng)的一半,區(qū)塊鏈就能容忍一些壞人。
對(duì)于攻擊發(fā)起人,我們只能假設(shè)他不太強(qiáng)大;對(duì)于其他誠(chéng)實(shí)中立的參與者(共識(shí)體系中沒(méi)有善意的概念),我們希望引導(dǎo)他們通過(guò)設(shè)計(jì)經(jīng)濟(jì)機(jī)制來(lái)促進(jìn)共識(shí)收斂。
當(dāng)工作量證明系統(tǒng)分叉時(shí),礦工選擇在短鏈上挖掘是不劃算的,因?yàn)橥诰颡?jiǎng)勵(lì)可能會(huì)消失,浪費(fèi)計(jì)算能力。理論上,證明權(quán)益的礦工在兩個(gè)分叉上存款是可行的,因?yàn)樗麄儾恍枰嬲褂迷O(shè)備。但是,如果每個(gè)礦工都這樣做,分叉永遠(yuǎn)不會(huì)收斂。為了強(qiáng)迫礦工選擇,我們將懲罰在同一塊高度的不同塊投票的人,減少挖掘獎(jiǎng)勵(lì),甚至沒(méi)收資金。
可以說(shuō),權(quán)益證明在處理分叉上更加強(qiáng)大。如果工作量證明的礦工雙方都在挖掘,他們最多不會(huì)賺錢;權(quán)益證明,如果礦工雙方都在挖掘,他們不僅不會(huì)賺錢,甚至?xí)ケ窘穑宜麄兊目謶置黠@大得多。然而,當(dāng)攻擊目標(biāo)是遙遠(yuǎn)的過(guò)去時(shí),權(quán)益證明比工作量證明更脆弱,甚至無(wú)助。
如前所述,工作量證明的區(qū)塊鏈具有持續(xù)沉淀的安全性,惡意攻擊最近的區(qū)塊可能是可行的,但惡意攻擊一年前的區(qū)塊必須重做一年的工作量,成本超高,容易被發(fā)現(xiàn)。相比之下,權(quán)益證明區(qū)塊鏈的會(huì)計(jì)不需要物理消耗設(shè)備和電力,攻擊一分鐘的區(qū)塊的成本幾乎與一年前的區(qū)塊相同。
想象一下一年前有人秘密掌握了大部分貨幣(投票權(quán)),一年內(nèi)表現(xiàn)正常,從不作惡,然后慢慢賣出貨幣退出。但就在完全脫手后,他突然從一年前占據(jù)一半以上投票權(quán)的時(shí)間點(diǎn)偽造了整個(gè)一年的歷史,一條完全被他偽造的分叉鏈。對(duì)于不知情的節(jié)點(diǎn),這條鏈完全合法。對(duì)于其他節(jié)點(diǎn),即使他想懲罰他(他確實(shí)有重復(fù)投票),他也沒(méi)有貨幣可以在主鏈上受到懲罰。這就是所謂的遠(yuǎn)程攻擊(long range attack)。
緩解主觀性和遠(yuǎn)程攻擊的方案
對(duì)于工作量證明鏈,礦工和貨幣持有人脫鉤,否則權(quán)益證明。股權(quán)證明的問(wèn)題基本上是共識(shí)機(jī)制與區(qū)塊鏈狀態(tài)高度耦合的后遺癥。共識(shí)有效性、活動(dòng)、輕節(jié)點(diǎn)實(shí)施等問(wèn)題必須由額外的機(jī)制處理。
鏈外共識(shí)
一種簡(jiǎn)單有效的方法是定期發(fā)布區(qū)塊鏈的里程碑(milestone),這種方法適用于工作量證明和權(quán)益證明。比如圣人明君,偉大全能的以太坊創(chuàng)始人Vitalik,可固定在他的Twitter發(fā)布整數(shù)塊block hash,告訴你,第九百萬(wàn)元是0x388f34dd9....d8e142960e3不會(huì)錯(cuò),甚至直接更新節(jié)點(diǎn)實(shí)作,在程式碼中寫(xiě)下里程碑,可以有效引導(dǎo)新加入的節(jié)點(diǎn)不會(huì)走到壞人的鏈上,可以稱之為PoS PoR (reputation)的共識(shí)機(jī)制。
合并工作量證明
另一種方法是合并使用兩種共識(shí)機(jī)制。例如,2018年 將上線,但突然被整個(gè)團(tuán)隊(duì)切斷Casper FFG,原來(lái)的計(jì)劃ETH 1.在0 鏈上疊加一層由智能合同實(shí)施的權(quán)益證明。也就是說(shuō),原礦工仍然負(fù)責(zé)塊,然后讓貨幣持有人投票進(jìn)行雙重驗(yàn)證。礦工不再只跟隨最長(zhǎng)的鏈,而是考慮鏈?zhǔn)欠襁`反了投票結(jié)果。它不僅可以享受最終還可以積累工作量,以避免遠(yuǎn)程攻擊。
但后來(lái)以太坊開(kāi)發(fā)者的大頭們決定放棄這個(gè)版本,直接推出一步到位PoS sharding 的真?ETH 2.0.預(yù)計(jì)這個(gè)版本也會(huì)有合并工作量證明,但不是原來(lái)的雙軌制,而是一種叫做VDF 的特殊演算法 特殊硬體提供工作量和重要鏈上的隨機(jī)數(shù)量生產(chǎn)器(RNG)。
VDF (verifiable delay function) 與原采礦有點(diǎn)不同,雖然也具有計(jì)算困難驗(yàn)證容易的特點(diǎn),但不能依靠堆疊礦機(jī)平行加速,而是使用一些硬件制造商聯(lián)合開(kāi)發(fā)可信機(jī),確保計(jì)算時(shí)間總是在一定范圍內(nèi),從而提供類似工作量證明的客觀性和安全沉淀。
中心化
回到權(quán)益證明區(qū)塊鏈高度耦合的問(wèn)題,本質(zhì)上是「證明自己是對(duì)的」困境。實(shí)際上,為了能夠運(yùn)行,為了避免一年前礦工的超時(shí)空打擊,必然會(huì)有比工作量證明更多的信任環(huán)節(jié):相信節(jié)點(diǎn)實(shí)踐給出的信任根源(如genesis block)、相信其他節(jié)點(diǎn)提供的狀態(tài),相信驗(yàn)證人和礦工不會(huì)作惡或聯(lián)合審查。
實(shí)際上,為了確??捎眯院突顒?dòng),不可避免地會(huì)接受一些不同程度的集中妥協(xié)計(jì)劃。不同之處在于,你更愿意相信社區(qū)之神的聲譽(yù),或者硬件制造商不會(huì)秘密地做改進(jìn)設(shè)備的職業(yè)道德。但話說(shuō)回來(lái),工作量證明也有自己的集中問(wèn)題,大礦池,ASIC 制造商壟斷等,沒(méi)有系統(tǒng)可以確保完全分散,只能在已知可用的幾個(gè)方案中,嘗試選擇更好的,尋求穩(wěn)定的進(jìn)步。