什么樣的共識(shí)算法是我們需要的
幾乎每個(gè)人從事區(qū)塊鏈媒體行業(yè)的人,都是痛并快樂者。快樂,是因?yàn)檫@個(gè)行業(yè)的媒體有高收入,行情好的時(shí)候,一篇文章頂其他行業(yè)文章的好幾倍;痛,是因?yàn)殡S著媒體行業(yè)的發(fā)展,想產(chǎn)出一篇內(nèi)容,耗費(fèi)精力多,光是從選題上,已經(jīng)不是天天有話題。
“我們之所以需要區(qū)塊鏈,是因?yàn)閷?duì)于中心化系統(tǒng)最大的擔(dān)憂不是作惡代價(jià)的大小,而恰恰是作惡成本無法估計(jì)、無法量化。
作惡的回報(bào)并不限于系統(tǒng)內(nèi),還可以在系統(tǒng)外。即便是最透明的上市公司,我們也無法獲知股東的所有收益來源,因此,也就無法量化他們能夠通過作惡在系統(tǒng)外獲得多少利益。
無論是POS還是POW,當(dāng)區(qū)塊鏈中「大節(jié)點(diǎn)」過于集中的時(shí)候,我們將面臨和中心化系統(tǒng)一樣的問題——我們無法量化系統(tǒng)的安全性,于是,只好把安全性寄托于對(duì)于節(jié)點(diǎn)的信任,而不是可量化的作惡成本上?!?/p>
這是任博士關(guān)于 POW vs POS 的第三篇,這也將是本系列的最后一篇文章。
“由于POW和POS(或者其他的什么算法)在不同屬性上各有千秋,所以它們各自適用于不同的場(chǎng)景,于是他們會(huì)在現(xiàn)實(shí)中并存,不同的區(qū)塊鏈可以用不同的算法?!?/p>
這似乎是現(xiàn)在更流行的看法,也是個(gè)更模棱兩可和左右逢源的看法。
但這并不是我的看法。
我的看法其實(shí)已經(jīng)在上兩篇文章里表達(dá)的很明確了,我認(rèn)為——
在安全性面前,其他的特性都是末節(jié)。
同樣的,我認(rèn)為安全性上遜色的算法,就是差一些的算法。
于是,我們又回到了上次我們想要討論、但還沒有討論的問題——
我們究竟需要什么樣的共識(shí)算法。
其實(shí),以上的論點(diǎn)放在2-3年前可能關(guān)注度會(huì)更高。在很多人看來,就算我寫擴(kuò)容、分片或者鏈下技術(shù),都已經(jīng)是屬于前兩年的、過時(shí)了的東西了。更何況是“POW”、“安全性”這種似乎從n年前公鏈項(xiàng)目爆炸的年代就在討論、結(jié)果到了大部分公鏈都死了也沒有結(jié)果,于是到現(xiàn)在雙方都決定各退一步說:“兩者互有優(yōu)劣適用場(chǎng)景不同”的話題。
那么,我為什么還要寫這個(gè)問題呢?為什么不去寫一些更熱門的話題,例如Defi,例如鏈上治理,例如Staking Economy,例如價(jià)值捕獲,例如生態(tài)建設(shè)等等……
因?yàn)樵谖铱磥?,這個(gè)問題并不過時(shí),而且,從未如此重要過。
因?yàn)橐陨系乃袉栴},在我看來都是安全問題。
因?yàn)閰^(qū)塊鏈本身,解決的就是安全問題。
“安全”是指這個(gè)系統(tǒng)能夠可靠地按照我們的設(shè)想,做它該做的事
那么,什么是共識(shí)算法的安全性?
一方面,在之前的兩篇中我們已經(jīng)介紹了——“所有人都認(rèn)為的安全”,并不是真正的安全性。同時(shí),“在現(xiàn)實(shí)中沒有被攻破”,也并不是安全性的保證。
那么,理論上的安全呢?有了論文,有了數(shù)學(xué)證明,總該夠安全了吧。
其實(shí)也不盡然。
從理論上,我們可以從分布式系統(tǒng)的方法證明共識(shí)算法是拜占庭容錯(cuò)的,或者,可以從密碼學(xué)的角度證明其中所有采用密碼學(xué)的機(jī)制都是安全的,我們還可以用Bitcoin backbone protocol里的模型證明某個(gè)算法適用于區(qū)塊鏈共識(shí),因?yàn)樗鼡碛泻?u>比特幣一樣的特性,然而所有這些關(guān)于安全性的證明都是基于某些理論上的模型或者假設(shè),并不代表它們?cè)诂F(xiàn)實(shí)之中就一定是安全的。
例如,BFT里關(guān)于超過2/3誠實(shí)節(jié)點(diǎn)的假設(shè),對(duì)于不同的算法,這個(gè)假設(shè)的成立與否是不一定的——如果你要求誠實(shí)節(jié)點(diǎn)安裝某個(gè)客戶端,這個(gè)客戶端每十分鐘驗(yàn)證1MB的交易,那么多數(shù)節(jié)點(diǎn)可能可以是誠實(shí)的;但如果這個(gè)算法要求誠實(shí)節(jié)點(diǎn)每秒鐘驗(yàn)證1M的交易,那么很多帶寬和計(jì)算能力達(dá)不到要求的節(jié)點(diǎn)顯然是無法完成的,于是,在BFT的模型里,這些節(jié)點(diǎn)就會(huì)變成“不誠實(shí)”的。而這個(gè)時(shí)候,如果說每個(gè)節(jié)點(diǎn)能夠收到相應(yīng)的激勵(lì)的話,他們又會(huì)變得誠實(shí)起來。于是,一個(gè)證明是拜占庭容錯(cuò)的算法,未必在現(xiàn)實(shí)中是安全的,而一個(gè)能容錯(cuò)1/3的算法,在現(xiàn)實(shí)中,也未必一定比容錯(cuò)1/5要更安全。
另一個(gè)例子就是,不考慮自私挖礦的話,比特幣從理論上來講是“安全的”,因?yàn)槲覀兊募僭O(shè)是“惡意節(jié)點(diǎn)無法控制超過50%的算力”。但是我們之前已經(jīng)說了,這個(gè)假設(shè)本身并不實(shí)際,首先獲得50%算力的難度很低,其次在實(shí)際之中一些POW項(xiàng)目50%以上的算力就控制在一個(gè)或幾個(gè)節(jié)點(diǎn)手中。
換句話說,實(shí)際上,即便在學(xué)術(shù)界,目前也沒有一個(gè)確切的定義,或者說一個(gè)公認(rèn)的,非常貼合實(shí)際的模型來描述現(xiàn)實(shí)中對(duì)于區(qū)塊鏈系統(tǒng)“安全”的標(biāo)準(zhǔn),于是,我們也無從證明,到底什么才是“安全”的共識(shí)算法。
一個(gè)能夠證明的,安全的共識(shí)算法,只是說明了它在某些假設(shè)下和某些模型中的安全性。雖然這總比沒有證明好,但是,在我們還在尋找一個(gè)能夠更好地描述區(qū)塊鏈的模型時(shí),說這種算法就是我們?cè)趯ふ业摹鞍踩钡墓沧R(shí)算法,區(qū)塊鏈系統(tǒng)用了他們就可以高枕無憂了,還為時(shí)過早。
那么,什么才是“安全”的區(qū)塊鏈共識(shí)算法呢?
這里我說的安全并不是傳統(tǒng)信息安全里面講的安全性。
這里,“安全”是指這個(gè)系統(tǒng)能夠可靠地按照我們的設(shè)想,做它該做的事。
這件事,在我看來,凌駕于其他一切屬性之上,是區(qū)塊鏈共識(shí)算法的首要責(zé)任。
因?yàn)椋瑓^(qū)塊鏈的首要責(zé)任,也是安全。
這又是一個(gè)相當(dāng)“非主流”的觀點(diǎn)——我猜很多人會(huì)說:“區(qū)塊鏈的首要責(zé)任不是去中心化嗎?”
當(dāng)然,我承認(rèn),去中心化很重要,去中心化是區(qū)塊鏈最大的特點(diǎn),是區(qū)塊鏈與中心化系統(tǒng)最大的不同,如果沒有了“去中心化”,那么區(qū)塊鏈也就不能稱之為區(qū)塊鏈了。
但是,別忘了比特幣誕生于整個(gè)密碼朋克小組的初衷,我們需要去中心的原因,不還是因?yàn)槲覀儾幌嘈胖行幕到y(tǒng)的安全性和可靠性,也就是說,雖然一個(gè)中心,例如銀行,例如政府,告訴我它會(huì)做一些事,告訴我們“這是數(shù)字貨幣,這里面的錢記在我的系統(tǒng)里是安全的,請(qǐng)放心”,但是,我們其實(shí)并不完全相信它會(huì)遵守我們的約定,而可靠地做這件事嗎?
所有區(qū)塊鏈領(lǐng)域的從業(yè)者,都應(yīng)該記住一件事——
我們需要區(qū)塊鏈,但其他人并不在乎,他們需要的是一個(gè)更好的系統(tǒng)——無論它是中心化的,還是去中心化的。
所以,我們需要去中心化,但它的目的是,我們需要通過提供一個(gè)去中心化的區(qū)塊鏈,使得我們能夠更好地量化它的安全性,而不需要依賴于對(duì)于某個(gè)中心的信任,最終,得到一個(gè)比中心化系統(tǒng)更安全的系統(tǒng)。
因此,如果天平的兩邊是去中心化和安全性——那么無論如何我都會(huì)選擇安全;如果天平的兩邊是一個(gè)“更去中心化、但不那么安全的系統(tǒng)”和一個(gè)“不那么去中心化、但更安全的系統(tǒng)”,那么我無論如何都會(huì)選擇后者。
但是,在目前的階段,我們確實(shí)需要去探索性地嘗試那些“不那么安全、但是更去中心化”的方法,但是請(qǐng)一定謹(jǐn)記,如果我們都往這個(gè)方向走,并且不回頭地走得太遠(yuǎn),那么最終被拋棄掉的,將不是一個(gè)系統(tǒng)而已,而是整個(gè)區(qū)塊鏈技術(shù)。
因此,在我看來,安全是第一位的。
換言之,我們可以不在乎一個(gè)區(qū)塊鏈?zhǔn)遣皇悄軌颉坝行У亍弊鏊撟龅氖拢遣皇悄軌颉翱焖俚亍弊鏊撟龅氖?,是不是能夠“足夠去中心化地”做它該做的事,甚至,我們可以不在乎它是不是能夠“?jié)能地”做它該做的事,我們更不在乎它做事的方法是不是足夠簡(jiǎn)潔,足夠優(yōu)雅,足夠吸引所有人參加生態(tài)建設(shè),或者是不是能夠自行啟動(dòng),自行進(jìn)化,自我治理,自發(fā)形成一個(gè)健康的生態(tài)……
因?yàn)槌恕翱煽俊边@一點(diǎn),其他的我們?cè)缇驮谥行幕到y(tǒng)里實(shí)現(xiàn)過了。
沒錯(cuò),我們也許的確只知道如何在中心化的場(chǎng)景下實(shí)現(xiàn)以上的這些,而不知道如何在去中心化的情況下實(shí)現(xiàn)這些,而這點(diǎn)的確是目前學(xué)術(shù)界和工業(yè)界研究的重點(diǎn),也是目前媒體和這個(gè)圈子聚光燈下的焦點(diǎn)。
然而,如果沒有安全性,這一切都成了無源之水,無本之木。
因?yàn)槲覀儫o法回答的問題是——
即便我們能夠做出一個(gè)去中心化的系統(tǒng),即便我們找出了以上一切的去中心化實(shí)現(xiàn)方法,但是,如果實(shí)現(xiàn)這些所有功能的系統(tǒng)不可靠,安全性無法量化,甚至說,最終安全性還是主要取決于對(duì)于某個(gè)中心、某個(gè)創(chuàng)始人、某家公司、某些礦工的信任,那么我們究竟是為什么要放棄已然成熟的中心化方案,來使用區(qū)塊鏈系統(tǒng)?
換句話說,我們之所以推崇區(qū)塊鏈,投入這個(gè)領(lǐng)域之中,不就是因?yàn)槲覀冋J(rèn)為一個(gè)中心化系統(tǒng)不夠“可靠”,因此,我們希望用“算法”來代替“信任”,用“機(jī)器”來取代“人”嗎?
更何況,正如我以上所說——其實(shí),一切我們正在討論的,歸根結(jié)底仍舊是安全問題。因?yàn)闊o論是鏈下技術(shù),鏈上治理,激勵(lì)機(jī)制,生態(tài)建設(shè),經(jīng)濟(jì)模型……所有的這些,只要在鏈上實(shí)現(xiàn),就都會(huì)回歸到區(qū)塊鏈共識(shí)算法的安全問題——
如果共識(shí)算法不安全,憑什么相信節(jié)點(diǎn)會(huì)執(zhí)行鏈上治理投票決定的決策?
如果共識(shí)算法不安全,憑什么認(rèn)為節(jié)點(diǎn)會(huì)誠實(shí)地對(duì)于激勵(lì)進(jìn)行分配?
如果共識(shí)算法不安全,憑什么認(rèn)為它天然就成了所謂價(jià)值互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施?
如果共識(shí)算法不安全,憑什么可以將區(qū)塊鏈當(dāng)做一個(gè)可信第三方使用,在上面構(gòu)建側(cè)鏈、支鏈,運(yùn)行Dapp,并且搭建一整個(gè)生態(tài)?
這也是我之所以認(rèn)為這篇東西并不過時(shí),而且,恰恰需要在此時(shí)出現(xiàn)的原因——
最近以來,關(guān)于共識(shí)算法問題的降溫和公鏈的退潮,讓資本和輿論都開始追逐新的話題和項(xiàng)目。于此同時(shí),也帶了了這種盲目樂觀地將共識(shí)算法當(dāng)做一個(gè)成熟的基礎(chǔ)設(shè)施的幻覺,而完全忽略了一個(gè)事實(shí)——
我們最常用的,也是最司空見慣的被認(rèn)為是絕對(duì)安全的POW,實(shí)際上遠(yuǎn)比我們認(rèn)為的要不安全得多。以及,我們其實(shí)一直在討論的POW vs. POS的問題,始終都沒有一個(gè)結(jié)果。所有人都在憧憬區(qū)塊鏈的未來,設(shè)想著怎么圍繞區(qū)塊鏈搭建生態(tài),怎么利用區(qū)塊鏈重塑經(jīng)濟(jì),怎么通過區(qū)塊鏈改變世界的時(shí)候,只有很少的人和很少的聲音在關(guān)注究竟這個(gè)區(qū)塊鏈究竟能不能用,安不安全。
因此,我們始終需要這種回歸本質(zhì)的討論和研究——我們,究竟需要怎樣的共識(shí)算法。以及,一個(gè)真正安全的區(qū)塊鏈,應(yīng)該是什么樣的。
我們需要一個(gè)衡量區(qū)塊鏈安全的標(biāo)準(zhǔn)
這個(gè)問題,其實(shí)從前面一段的分析中我已經(jīng)表達(dá)了我的看法——一個(gè)區(qū)塊鏈的共識(shí)算法的第一標(biāo)準(zhǔn),是能夠可靠地實(shí)現(xiàn)它設(shè)計(jì)的功能。我們必須知道,當(dāng)我們用算法來代替“信任”的部分,得出的共識(shí)一定是可靠的,而且,它的可靠程度是可以量化的。否則,整個(gè)區(qū)塊鏈就毫無意義,因?yàn)樗茏龅降囊磺兄行幕到y(tǒng)也能做到,甚至做得更快更好,然而,我們并不能確定它比中心化系統(tǒng)更可靠。
這種可量化的安全,僅滿足于“我們覺得是安全的”的層面是不夠的,停留在“從來沒有發(fā)生過”的層面也是不夠的,甚至,停留在“我們可以從理論上證明”的層面,在早些年的探索時(shí)期也許還勉強(qiáng)夠用,放在巨量資本已經(jīng)開始在上面搭建生態(tài)的現(xiàn)在,也顯得捉襟見肘了。我們需要一種量化的分析方法和模型,來計(jì)算一個(gè)共識(shí)算法的安全性,更理想的狀況是,我們能夠根據(jù)共識(shí)算法的應(yīng)用場(chǎng)景需求,來具體量化每一個(gè)屬性的安全性。
比如,一個(gè)安全的哈希函數(shù),我們可以計(jì)算出需要多少計(jì)算能力才能“破解”它(找到一個(gè)沖突),于是,我們可以根據(jù)相應(yīng)硬件的價(jià)格和時(shí)間,量化出哈希函數(shù)的攻擊成本。同理,我們也可以算出橢圓曲線加密的攻擊成本。實(shí)際上,在信息安全的領(lǐng)域里,這樣的分析從理論到實(shí)踐上,都是十分常見的。
現(xiàn)在,我認(rèn)為,是時(shí)候?qū)⑦@樣的模型擴(kuò)展至區(qū)塊鏈的領(lǐng)域了,盡管我們需要克服許多困難——
最核心的問題就是,我們要怎么定義安全,以及怎么定義攻擊,而這點(diǎn)對(duì)于區(qū)塊鏈而言并非易事。
以比特幣為例,如果我們以密碼學(xué)的標(biāo)準(zhǔn)來評(píng)估比特幣的話,它的安全性是漏洞百出的——比如,對(duì)于哈希函數(shù),我們認(rèn)為只要有比窮舉更好的方案,這個(gè)哈希函數(shù)就是不安全的。但是,對(duì)于比特幣,且不說最著名的“自私挖礦”的問題,單從比特幣鏈上存在的空塊來看,很顯然礦工有比“誠實(shí)”地挖出區(qū)塊更有利的方法。有人可能會(huì)說——這并不影響安全性,但其實(shí)這影響到了比特幣的活性,就如同“粉塵攻擊”,也是影響活性的攻擊。
而這也是目前對(duì)于區(qū)塊鏈共識(shí)算法安全性的證明的局限所在——想要證明算法的絕對(duì)安全,我們就只能在假設(shè)的實(shí)際性上作出犧牲——例如,我們需要假設(shè)50%以上的算力是誠實(shí)的,或者2/3以上的節(jié)點(diǎn)是誠實(shí)的,而無法顧及這種假設(shè)背后的現(xiàn)實(shí)性,比如,是否有足夠的激勵(lì)讓這些節(jié)點(diǎn)誠實(shí)地去執(zhí)行算法中的每一個(gè)步驟,或者,在應(yīng)用的場(chǎng)景下,我們是否能做出這樣的假設(shè)。這種做法的弊端在之前的POW算法容易被51%攻擊的分析中已經(jīng)很明顯了——我們當(dāng)然可以對(duì)于所有的資源都做出“大多數(shù)人都誠實(shí)的假設(shè)”,但是,如果這個(gè)假設(shè)在現(xiàn)實(shí)中并不成立,那么采用這個(gè)假設(shè)證明了安全性也毫無意義。
另一方面,共識(shí)算法的安全性是與它的應(yīng)用場(chǎng)景相分離的。對(duì)于一個(gè)共識(shí)算法是否安全,我們要么通過BFT證明“它可以達(dá)到拜占庭容錯(cuò)”,能夠?qū)τ谒袛?shù)據(jù)達(dá)成一致和活性,要么通過Bitcoin Backbone Protocol的模型證明我們可以得到一個(gè)增長(zhǎng)的,一致的賬本。也就是說,前者,我們將區(qū)塊鏈視為一個(gè)拜占庭容錯(cuò)的分布式數(shù)據(jù)庫,后者,我們將區(qū)塊鏈視為某種類似比特幣的分布式賬本。然而,在此之上區(qū)塊鏈的應(yīng)用卻已經(jīng)遠(yuǎn)超分布式數(shù)據(jù)庫和賬本的范疇了。例如,對(duì)于分布式賬本,一致性的重要性高于活性(所以可能很多人會(huì)認(rèn)為空塊不算是對(duì)于比特幣安全性的破壞)。
因此,比特幣的POW算法并不保證交易的活性,而僅僅保證能夠被上鏈的交易的活性,同時(shí)用交易費(fèi)的模型鼓勵(lì)礦工盡可能地將交易添加上鏈,即保證“交易費(fèi)給得足夠多”的交易的活性。然而,當(dāng)將這種共識(shí)算法用于其他對(duì)于交易活性要求高的應(yīng)用時(shí)就可能會(huì)出現(xiàn)嚴(yán)重的問題——例如FOMO3D實(shí)際上就是受到了針對(duì)于以太坊交易活性的攻擊,而盡管比特幣以及以太坊的模型不保證交易活性這件事對(duì)于業(yè)內(nèi)人士都不是秘密,但是不可否認(rèn)的是,既然以太坊或者其他的區(qū)塊鏈具有這樣的應(yīng)用,在共識(shí)算法安全性分析的時(shí)候把這種情況排除在外,本身也說明了這個(gè)模型并不完備。
因此,我們需要一個(gè)更實(shí)際,從應(yīng)用出發(fā),面向目標(biāo)和場(chǎng)景的對(duì)于區(qū)塊鏈安全性的評(píng)價(jià)標(biāo)準(zhǔn),并且:
1、相比于每一個(gè)機(jī)制的可證明的安全性,我們更關(guān)注這個(gè)系統(tǒng)是不是能夠達(dá)成它應(yīng)有的功能。
2、相比于在一些條件限定下的絕對(duì)安全性,我們更關(guān)注在現(xiàn)實(shí)語境下的相對(duì)安全性。這點(diǎn)和我們之前的分析是一致的,也就是說,我們更關(guān)心——想要破壞這個(gè)系統(tǒng),使得它沒法做它該做的事情的代價(jià)有多大。
3、然后,對(duì)于“應(yīng)有的功能”相對(duì)應(yīng)的特性,我們應(yīng)該根據(jù)實(shí)際情況來分析他們的重要性——例如,對(duì)于貨幣,一致性、活性、抗審查、匿名的需求取決于什么樣的場(chǎng)景。如果黑市是需求,那么匿名可能需要擺在活性之上,但如果把交易和支付作為場(chǎng)景的話,我們應(yīng)該參照一個(gè)支付平臺(tái)的要求去考慮他們之間的權(quán)重。
以上的定義并不嚴(yán)謹(jǐn),但是畢竟這只是一個(gè)提議,我們不是在寫論文。
從這個(gè)角度來講,其實(shí)對(duì)于數(shù)字貨幣的共識(shí)算法而言,我們并不用去考慮51%攻擊,長(zhǎng)鏈攻擊,無利益攻擊這些方式和相應(yīng)的條件,也不用去關(guān)心在怎樣的假設(shè)下通過什么樣的算法可以防止他們的出現(xiàn)。
我們?cè)撽P(guān)心的的問題是——
1、我們需要付出多大的代價(jià)才能破壞一致性,進(jìn)行一次雙重支付攻擊:于是,我們可以判斷這個(gè)系統(tǒng)可以承載多少價(jià)值,而一筆交易的數(shù)額超過多少的時(shí)候,我們就需要考慮雙重支付這種可能,并且相應(yīng)地提高確認(rèn)時(shí)間,或者,仔細(xì)審視各個(gè)節(jié)點(diǎn)的動(dòng)態(tài)。
2、我們需要付出多大的代價(jià)才能破壞活性,每延遲一次出塊或者一分鐘達(dá)成共識(shí):于是,我們可以知道需要即時(shí)確認(rèn)的交易中,我們有可能會(huì)遭到多大的損失。然后,對(duì)于FOMO3D這樣的“游戲”,我們會(huì)知道當(dāng)一個(gè)幣賣到多少錢的時(shí)候,就已經(jīng)可能不安全了。
3、我們還需要知道需要付出多大的代價(jià)才能破壞抗審查:于是,我們可以知道,比特幣其實(shí)并不是一個(gè)完全自由的貨幣,當(dāng)代價(jià)足夠高的時(shí)候,我們是可以消滅掉某個(gè)地址的活性的。
4、然后,對(duì)于匿名貨幣,我們需要知道多大的代價(jià),可以破壞匿名性,于是可以追蹤到一筆錢的來歷,或者是標(biāo)記一個(gè)地址的身份。
以上,是對(duì)于“貨幣”這個(gè)功能而言的——這是我們的起點(diǎn)。
而之后,最理想的狀態(tài)是,我們應(yīng)該對(duì)于區(qū)塊鏈所能實(shí)現(xiàn)的所有功能,判斷它們所需的性質(zhì),然后,量化它們的安全性。
那么,在這里,去中心化的位置在哪里呢?
對(duì)于去中心化的要求,已經(jīng)融入安全性的標(biāo)準(zhǔn)之中了——畢竟,去中心化是手段而不是目的:一個(gè)過于去中心化的系統(tǒng),將面臨著和中心化系統(tǒng)同樣的風(fēng)險(xiǎn),即作惡的成本不可控。
而同時(shí),一個(gè)過于中心化的系統(tǒng)中,共識(shí)算法也將失去意義。
因此,在安全性標(biāo)準(zhǔn)中,我們必須也將它的去中心化程度納入考量。
1、我們需要衡量實(shí)際參與共識(shí)節(jié)點(diǎn)的大節(jié)點(diǎn)的數(shù)量。
2、我們需要知道這些節(jié)點(diǎn)的信息,來評(píng)估他們?cè)阪溚猥@益或者合謀的可能性。
3、同時(shí),我們還需要確定,這些節(jié)點(diǎn)確實(shí)有能力維護(hù)這個(gè)系統(tǒng)的安全。
正如之前所說,一個(gè)理想的,安全的區(qū)塊鏈系統(tǒng),是由足夠多數(shù)量的,身份已知的大節(jié)點(diǎn)來維護(hù)的。
于是,我們需要知道:
1、他們是否有足夠的動(dòng)力來維護(hù)這個(gè)系統(tǒng)——他們是否有足夠的收益。
2、這個(gè)系統(tǒng)的結(jié)構(gòu)是否穩(wěn)定——他們是否也能夠決定系統(tǒng)的發(fā)展方向。換言之,我們?cè)趺幢WC未來整個(gè)系統(tǒng)還是有足夠的大節(jié)點(diǎn)來維護(hù),而不是共識(shí)節(jié)點(diǎn)會(huì)由于系統(tǒng)未來的發(fā)展方向與期待不符而逐漸退出或者分叉,重新導(dǎo)致中心化。因此,我們需要評(píng)估的決策機(jī)制是否能夠代表共識(shí)節(jié)點(diǎn)的權(quán)益。
3、同時(shí),我們還需要保證,所有在系統(tǒng)中有利益的群體,都應(yīng)該能夠參與共識(shí)。
于是,我們需要激勵(lì)機(jī)制,鏈上治理等等其他的機(jī)制——
一切,歸根結(jié)底都是安全問題。
寫在最后
這是我關(guān)于POW和POS討論的最后一篇,這三篇的內(nèi)容和長(zhǎng)度都遠(yuǎn)遠(yuǎn)超出我的預(yù)期,可能是進(jìn)入這個(gè)領(lǐng)域以來看到聽到的東西太多,積攢了很多東西不吐不快的緣故。
之前,我寫過專業(yè)的在區(qū)塊鏈領(lǐng)域的頂會(huì)上發(fā)表的學(xué)術(shù)論文,也一直致力于在知乎上寫一些客觀的和中立的科普性文章,我一直致力于避免的,就是在這個(gè)本來就混亂的行業(yè)中引入新的混亂——因此,我一直只寫一些已經(jīng)成為這個(gè)領(lǐng)域基礎(chǔ)的論文和技術(shù),但不愿意寫太多新的、未經(jīng)證實(shí)或者檢驗(yàn)的結(jié)論,盡管有些結(jié)論我認(rèn)為是正確的。甚至于,即便我的文章已經(jīng)被接受甚至發(fā)表,我也不太愿意在我的專欄里介紹它們。
然而這一個(gè)系列和之前我寫過的所有文章都不同,這一篇里更多的是個(gè)人的觀點(diǎn)和判斷,其中,我可能提出了不少“政治不正確”的,“大家不喜聞樂見”的,“在業(yè)內(nèi)尚有爭(zhēng)議”的,或者“所有人都知道但是沒有人愿意說”的觀點(diǎn),因此,自從文章發(fā)表以來也或多或少引起了一些爭(zhēng)論——而這些都是我原來一直想要避免的。
之所以做出這樣的改變,其實(shí)關(guān)鍵的原因還是我在文中說的那點(diǎn)——資本和市場(chǎng)追逐新噱頭的腳步是不會(huì)停下等技術(shù)發(fā)展的,于是,當(dāng)這個(gè)領(lǐng)域所有的人似乎都已經(jīng)開始盲目樂觀地考慮長(zhǎng)期發(fā)展的時(shí)候,我們需要反思一下——我們做的這些東西,真的“夠安全”嗎?
來源:橙皮書