據(jù)摩根士丹利年初報(bào)告,2017年比特幣挖消耗的電力與中東國(guó)家卡塔爾年耗電相當(dāng),預(yù)計(jì)2018年的電力需求可能會(huì)達(dá)到2017年的三倍以上。
大量的電力消耗也帶來(lái)了很多爭(zhēng)議,很多人都嘗試在保證安全性的前提下改進(jìn)共識(shí)協(xié)議。一時(shí)間,業(yè)界出現(xiàn)了許多新的協(xié)議,如權(quán)益證明(PoS)、委托權(quán)益證明(DPoS)等等。
這些協(xié)議中最有前景的莫過于PoS,甚至以太坊在未來(lái)也會(huì)從工作量證明過渡到權(quán)益證明。
不過,近日Hugo Nguyen列舉了權(quán)益證明的幾大罪狀,實(shí)名反對(duì)權(quán)益證明。這到底是怎么回事,讓我們一起去看看。
多角度分析PoS并不是什么靈丹妙藥
很多人都在大力倡導(dǎo)使用權(quán)益證明,筆者看來(lái),權(quán)益證明并不是什么靈丹妙藥,從多個(gè)角度都能發(fā)現(xiàn)它的缺點(diǎn)。
進(jìn)化心理學(xué)/歷史學(xué)
歷史上的「收藏品」或「原始貨幣」都有一個(gè)共同點(diǎn),即不可偽造的成本(Unforgeable Costliness,有些人可能會(huì)將不可偽造的成本與勞動(dòng)價(jià)值論混為一談,但其實(shí)它們并不是同一回事,因?yàn)閮H靠消耗資源是不夠的,資產(chǎn)必須是不可偽造的),或者至少在他們的時(shí)代大背景下是不可偽造的成本,隨著歷史的不斷發(fā)展,這些貨幣逐漸從最初的貝殼,毛皮,牙齒,貴金屬演變成今天的鑄幣。
由于權(quán)益證明僅僅是臨時(shí)鎖定現(xiàn)有的資本而并不消耗這些資本,因此它不能滿足Nick Szabo(計(jì)算機(jī)專家,智能合約之父)確定為貨幣的三個(gè)關(guān)鍵屬性之一的不可偽造的成本。
經(jīng)濟(jì)學(xué)
如果某個(gè)物品具有價(jià)值,人們就會(huì)花費(fèi)精力追逐它,直到消耗的精力與物品的價(jià)值相抵(邊際成本=邊際收益,MC = MR)。這里的精力可以看作是某種形式的「工作量」。 前耶魯大學(xué)統(tǒng)計(jì)學(xué)家,現(xiàn)區(qū)塊鏈創(chuàng)業(yè)者Paul Sztorc認(rèn)為權(quán)益證明是一種混淆形式的工作量證明。
權(quán)益證明中的工作量可以來(lái)自多種不同的形式,比如說從銀行獲得的貸款,運(yùn)行全天候的權(quán)益證明挖礦服務(wù)器獲得的區(qū)塊獎(jiǎng)勵(lì),甚至可以是通過竊取私鑰獲得的贓款。
權(quán)益證明不僅混淆了工作量證明,它還不如工作量證明。任何權(quán)益證明為你節(jié)省的潛在成本,都需要你付出相應(yīng)的安全性損失的代價(jià)。
正如我們將在下面看到的那樣,短暫地鎖定1美元的權(quán)益創(chuàng)造出的安全性水平遠(yuǎn)遠(yuǎn)低于在挖礦中實(shí)際花費(fèi)1美元?jiǎng)?chuàng)造出的安全性。
計(jì)算機(jī)科學(xué)
Blockstream公司數(shù)學(xué)家Andrew Poelstra寫了業(yè)界第一篇批評(píng)權(quán)益證明的文章,在其中他創(chuàng)造了無(wú)成本模擬(Costless Simulation,即無(wú)利害關(guān)系)和遠(yuǎn)程攻擊(Long-range Attacks)這兩個(gè)術(shù)語(yǔ)。
加州大學(xué)伯克利分校研究員Jonah Brown-Cohen和《區(qū)塊鏈 技術(shù)驅(qū)動(dòng)金融》作者,德克薩斯州大學(xué)奧斯汀分校研究員Arvind Narayanan在最近的一篇論文中說明了權(quán)益證明協(xié)議中缺乏良好且可靠的隨機(jī)數(shù)來(lái)源。對(duì)于使用權(quán)益證明的加密貨幣,依賴外部的隨機(jī)數(shù)來(lái)源可能會(huì)出現(xiàn)循環(huán)推理謬誤(Circular Reasoning Fallacy)。因此,權(quán)益證明協(xié)議急切需要使用其區(qū)塊鏈中的內(nèi)容在內(nèi)部生成隨機(jī)數(shù)。然而,這個(gè)過程被證明是一個(gè)需要折衷的難題。
工程實(shí)踐
從工程實(shí)踐的角度,我寫了一篇關(guān)于權(quán)益證明缺點(diǎn)的文章(Proof-of-Stake & the Wrong Engineering Mindset [1]),其中列出了權(quán)益證明機(jī)制特別容易受到攻擊的某些特定場(chǎng)景,包括網(wǎng)絡(luò)分裂、私鑰被盜、以及權(quán)益證明參與率低。
也許看待權(quán)益證明的最簡(jiǎn)單方法就是透過時(shí)間尺度。
PoS應(yīng)該叫PoTS
權(quán)益證明是一個(gè)誤稱,正確的叫法應(yīng)該是臨時(shí)權(quán)益證明(Proof-of-Temporary-Stake,PoTS),臨時(shí)權(quán)益證明這個(gè)名稱更準(zhǔn)確,因?yàn)樗尤肓藱?quán)益證明中缺少的時(shí)間因素。
為了正確理解權(quán)益證明中時(shí)間因素的影響,我們首先來(lái)分析時(shí)間因素在工作量證明中發(fā)揮的作用。
工作量證明中持續(xù)消耗的資源以兩種方式保護(hù)整個(gè)區(qū)塊鏈網(wǎng)絡(luò)的安全:
每個(gè)區(qū)塊消耗的資源不僅可以保護(hù)屬于該區(qū)塊的UTXO(未使用的交易輸出),還可以保護(hù)前序區(qū)塊中所有的UTXO。為什么這么說呢?是因?yàn)槿绻皇紫然謴?fù)當(dāng)前的區(qū)塊,就不可能恢復(fù)過去的UTXO。所以說,每個(gè)新區(qū)塊都保護(hù)著所有前序的現(xiàn)存UTXO。
從本質(zhì)上來(lái)說,對(duì)專業(yè)挖礦設(shè)備的投資代表了對(duì)未來(lái)獲得潛在回報(bào)的樂觀預(yù)期,對(duì)于礦工而言,投資新的挖礦設(shè)備可以看作是在購(gòu)買定期支付股息的股票。這意味著挖礦設(shè)備大致代表了未來(lái)區(qū)塊鏈的潛在能源支出。
這么說可能有點(diǎn)抽象,想象一個(gè)時(shí)間軸。過去花費(fèi)的工作量單元積累在賬本中,未來(lái)消耗的工作量單元積累在當(dāng)前的挖礦設(shè)備中。
賬本積累了過去的工作量單元,挖礦設(shè)備積累了未來(lái)的工作量單元
隨著時(shí)間的推移,右側(cè)的工作量單元逐步實(shí)體化并向左側(cè)移動(dòng)。這里的挖礦設(shè)備可以看作是一個(gè)「緩沖區(qū)」,工作量單元在進(jìn)入最終目的地——賬本之前,都存放在這個(gè)緩沖區(qū)中。不過,并非所有的工作量單元都可以直接進(jìn)入帳本中,大部分都被拋棄了,但正是這些被拋棄的工作量單元保證了整個(gè)網(wǎng)絡(luò)的去中心化。
描述這種基于時(shí)間的資源積累現(xiàn)象的官方術(shù)語(yǔ)是存量和流量(stock & flow),這種現(xiàn)象也經(jīng)常發(fā)生在自然界中。從本質(zhì)上說,比特幣的安全性是因?yàn)槭艿劫~本和挖礦設(shè)備兩個(gè)部分的高存量流量比的保護(hù)。
相比之下,權(quán)益證明并沒有這種安全性保障。
在權(quán)益證明中,過去的權(quán)益(時(shí)間線的左側(cè))不會(huì)積累在賬本中,因?yàn)榻?jīng)過一段時(shí)間的凍結(jié)周期后,這些權(quán)益會(huì)被釋放。不過,權(quán)益證明不涉及資源的積累也并不影響其「確定性(Finality)」概念,因?yàn)閺男鲁闪⒐?jié)點(diǎn)、長(zhǎng)期休眠節(jié)點(diǎn)、分區(qū)節(jié)點(diǎn)中也可以看出不同的「確定性」。
遠(yuǎn)程攻擊是這種缺點(diǎn)的表現(xiàn):它的攻擊原理是因?yàn)闄?quán)益證明無(wú)法保護(hù)過去發(fā)生的交易。因而,遠(yuǎn)程攻擊是權(quán)益證明面臨的最嚴(yán)重問題之一,這種攻擊方式的出現(xiàn)表明,從長(zhǎng)遠(yuǎn)來(lái)看權(quán)益證明機(jī)制無(wú)法保證賬本的完整性,而賬本的完整性是區(qū)塊鏈最核心的特性。
在權(quán)益證明中,未來(lái)的權(quán)益(時(shí)間線的右側(cè))也不會(huì)在當(dāng)前的校驗(yàn)器中積累,因?yàn)闄?quán)益證明行為只在它發(fā)生的短暫窗口時(shí)間內(nèi)具有意義,而并不會(huì)影響未來(lái)。私鑰盜竊是這種缺點(diǎn)的表現(xiàn):它的原理是權(quán)益證明無(wú)法保護(hù)未來(lái)。
私鑰盜竊完全避開了獲得多數(shù)權(quán)益所需的財(cái)務(wù)成本,而在工作量證明中,攻擊者需要克服挖礦設(shè)備和持續(xù)能源消耗帶來(lái)的成本來(lái)發(fā)起并維持一場(chǎng)51%算力攻擊,而且任何攻擊者都不得不面對(duì)這個(gè)問題。在工作量證明中,挖礦設(shè)備被大規(guī)模查封(例如國(guó)家發(fā)布禁令)是最大的風(fēng)險(xiǎn),不過只要挖礦設(shè)備足夠去中心化,就可以大大降低這種風(fēng)險(xiǎn)。
然而,權(quán)益證明無(wú)法使用這種將挖礦設(shè)備去中心化的應(yīng)對(duì)方法,因?yàn)闄?quán)益證明中的校驗(yàn)器只是軟件節(jié)點(diǎn),它們可以輕而易舉地被遠(yuǎn)程定位。更重要的是,在工作量證明中即使控制了硬件,攻擊者仍然無(wú)法避免持續(xù)的能源消耗帶來(lái)的成本,所以說工作量證明更加安全。
權(quán)益證明中存在一種積累形式,即校驗(yàn)器獲得的周期性權(quán)益獎(jiǎng)勵(lì)。但是,與工作量證明中的積累不同,獎(jiǎng)勵(lì)積累僅對(duì)每個(gè)權(quán)益證明校驗(yàn)器有益,而不會(huì)提高整個(gè)網(wǎng)絡(luò)的安全性。
總的來(lái)說,如果在權(quán)益證明中進(jìn)一步脫離時(shí)間因素,更快的權(quán)益證明就失去了存在的意義,直到權(quán)益證明變得毫無(wú)意義。
工作量證明可以有力地抵擋時(shí)間的摧殘,而權(quán)益證明不能。工作量證明的穩(wěn)健性得益于其大量的哈希算力,而不是它所消耗的資源。新的技術(shù)可以提高挖礦效率,不過在未來(lái)某些時(shí)候,效率的增加會(huì)因?yàn)槲锢硐拗频钠款i慢慢放緩。比特幣工作量證明的穩(wěn)健性也依賴于SHA256哈希算法的安全性。
工作量證明消耗了大量的資源這一事實(shí)是一個(gè)重要的特性,而不是設(shè)計(jì)漏洞。關(guān)于權(quán)益證明的研究通常陷入工作量證明是一種漏洞并且效率十分低下的誤解中。
寫在最后
看到這里,相信你已經(jīng)理解我為什么反對(duì)使用權(quán)益證明,當(dāng)然這還不是全部的原因。對(duì)權(quán)益證明的另一個(gè)主要批評(píng)是,權(quán)益證明可以說是建立了一個(gè)財(cái)閥統(tǒng)治體系,在其中富人越富,窮人越窮。這也是一個(gè)很值得討論的問題,但由于本文的主題是安全性,所以在這里未做過多討論。
相關(guān)新聞