區(qū)塊鏈為什么離不開共識(shí)機(jī)制
掃描二維碼
隨時(shí)隨地手機(jī)看文章
區(qū)塊鏈共識(shí)是什么?
共識(shí)機(jī)制是區(qū)塊鏈的靈魂。就像一個(gè)國(guó)家的法律,維系著區(qū)塊鏈?zhǔn)澜绲恼_\(yùn)作。區(qū)塊鏈最早的共識(shí)是工作量證明(POW),比特幣和以太坊都是采用的工作量證明。
現(xiàn)在流行的一個(gè)趨勢(shì)是權(quán)益證明(POS)。以太坊2.0就會(huì)采用 POS 共識(shí),還有最新的公鏈如 Tezos,Polkadot,Algorand 等等。
權(quán)益證明還包括委托權(quán)益證明(DPOS),代表公鏈有EOS。FileStorm 現(xiàn)在就是采用的 DPOS 共識(shí),聯(lián)盟鏈就還有 PBFT, RBFT 等等共識(shí)。共識(shí)是區(qū)塊鏈的靈魂,是區(qū)塊鏈價(jià)值的基礎(chǔ)。
為什么需要共識(shí)?
從技術(shù)上講,因?yàn)閰^(qū)塊鏈?zhǔn)侨ブ行幕?。所有參與的節(jié)點(diǎn)需要有一個(gè)共識(shí),才能維護(hù)一條唯一的鏈。這個(gè)選擇唯一的鏈的方式,是一個(gè)規(guī)則,可以是大家競(jìng)爭(zhēng)得到,也可以是投票得出。
這個(gè)規(guī)則,就是共識(shí)。所以也可以說,區(qū)塊鏈共識(shí)的目的是決定出塊權(quán)。
工作量證明的基本思想就是用算力來決定出塊權(quán)。如果你能第一個(gè)解出 POW 的計(jì)算難題,你就可以出塊。
在每一個(gè)時(shí)間點(diǎn),大家都在算題,然后在差不多的時(shí)間里,大家把題算出來,再把計(jì)算結(jié)果發(fā)布出去。這其實(shí)就是一個(gè)投票的過程。發(fā)布的塊就是投的票。最后被選中的票,就是來自于那個(gè)最快算出結(jié)果的礦機(jī)。至于沒有發(fā)布?jí)K的節(jié)點(diǎn),相當(dāng)于棄權(quán)了。
工作量證明的一個(gè)最大優(yōu)點(diǎn),就是所投的票和投票權(quán)是綁定的。而且一旦投票成功以后,即使是投票者本人也修改不了投票的內(nèi)容。因?yàn)橐话阍诔鰤K前,節(jié)點(diǎn)就已經(jīng)打包好一個(gè)塊,然后才對(duì)這個(gè)塊做工作量證明,做完后馬上投出去。這個(gè)時(shí)候打包的塊已經(jīng)沒有辦法修改了。所以工作量證明的安全性很有保障。
缺點(diǎn)就是延遲比較高,因?yàn)槲覀儼呀灰状虬絽^(qū)塊以后,還要完成一個(gè)工作量證明,這個(gè)區(qū)塊才能稱為候選區(qū)塊。工作量證明的時(shí)間還不能設(shè)得特別短,否則容易分叉。
于是,至少從打包好區(qū)塊到做完區(qū)塊的工作量證明這一段時(shí)間內(nèi),交易是能被確認(rèn)的。
POW 機(jī)制另一個(gè)被人詬病的點(diǎn)就是能耗特別高,不環(huán)保。因?yàn)楣_\(yùn)算耗電。所以,要想讓區(qū)塊鏈支持大規(guī)模的商用,POW 需要改變。所以,就有了 POS。
跟 POW 不知道有多少礦機(jī)參與挖礦不同,POS 協(xié)議必須知道所有共識(shí)參與者的數(shù)量和它們的持幣量,然后去分配打包權(quán)和投票權(quán)。
所以 POS 的共識(shí)建立在大家經(jīng)濟(jì)上對(duì)一條鏈的投入多少。在 POW 里面,打包權(quán)和投票權(quán)是一起的,但是在 POS 里,這兩者是可以分開的。
有區(qū)塊以前就知道誰有投票權(quán)了。拿到投票權(quán)以后,可以隨便地去投,這就意味著我可以選擇的策略空間更大,整個(gè)博弈會(huì)變得更復(fù)雜。
通常來說,策略空間大對(duì)于安全性是不好的,因?yàn)榻o攻擊者留出了更大的操作空間。這對(duì)鏈的安全性是有挑戰(zhàn)的,因?yàn)楣?jié)點(diǎn)可以通過一票多投,或者放棄投票來做惡。
但是在 POS 系統(tǒng)中,節(jié)點(diǎn)做了質(zhì)押,如果檢測(cè)到有參與者違反了 POS 共識(shí)的協(xié)議,可以對(duì)他們做出一些懲罰。委托權(quán)益證明 DPOS是 POS 的變種。
因?yàn)樵谌ブ行幕瘷C(jī)制中,我們需要選舉誰負(fù)責(zé)打包,誰負(fù)責(zé)投票。有時(shí)候?yàn)榱诵?,大家?huì)先選出一個(gè)比較小的委員會(huì),然后由他們負(fù)責(zé)投票。這樣的委員會(huì)通常是隨機(jī)選取的,而且為了公平性還要經(jīng)常輪換。
或者還可以用代理權(quán)益證明的 DPOS 機(jī)制,選取相對(duì)固定的委員會(huì)負(fù)責(zé)打包和投票。這樣雖然損失一些去中心化程度,但是可以大大提高效率。
FileStorm就是用的 DPOS 機(jī)制,我們的節(jié)點(diǎn)協(xié)助我們推廣平臺(tái),這也是為什么我們的平臺(tái)能發(fā)展得這么快。
能不能再詳細(xì)的介紹一下當(dāng)今區(qū)塊鏈比較流行的一些共識(shí)機(jī)制呢?
區(qū)塊鏈最早的共識(shí)是工作量證明,這個(gè)大家比較熟知。BTC,ETH,和很多2017年之前出來的公鏈絕大部分都是采用的工作量證明。
新的公鏈大多數(shù)采用 POS,所以,我這里主要介紹幾個(gè) POS 的共識(shí),主要了解他們的基本原理和各自的差異。
1、Tendermint
這是跨鏈平臺(tái) Cosmos 采用的共識(shí)。可以做為了解 POS 的入門共識(shí)。Tendermint 每次由不固定的節(jié)點(diǎn)發(fā)布新塊,然后通過 PBFT 的方式讓其他所有節(jié)點(diǎn)對(duì)區(qū)塊進(jìn)行投票驗(yàn)證。超過2/3的贊同票就通過,而且是對(duì)區(qū)塊的終極確認(rèn),不像 POW 還要等好幾個(gè)塊。但缺點(diǎn)就是,如果投票通不過,就要一直等著。
2、Polkadot
波卡也是一個(gè)跨鏈的平臺(tái),它的中繼鏈采用的是 Nominated Proof of Stake,既「提名權(quán)益證明」。參與者通過質(zhì)押成為提名人,然后從提名人里選舉出驗(yàn)證者,驗(yàn)證者再負(fù)責(zé)出塊。
驗(yàn)證者的數(shù)量可以控制,民主集中,這樣效率會(huì)高很多。NPOS 跟 DPOS 很像,都是選出少數(shù)被選中節(jié)點(diǎn)出塊,但是 DPOS 選出來的都是大財(cái)閥,需要做大量質(zhì)押。NPOS 更民主,草根更容易參政,而且驗(yàn)證者輪換也更頻繁。
3、Algorand
前面提到,POS 共識(shí)的一個(gè)本質(zhì)問題就是出塊權(quán)由大家投票決定的,所以在出塊前大家就知道誰是出塊節(jié)點(diǎn),這樣容易被攻擊;而出塊節(jié)點(diǎn)也可以選擇各種打包策略將自己的利益最大化。
那如果有一種機(jī)制,可以隨機(jī)的產(chǎn)生一個(gè)節(jié)點(diǎn),這個(gè)隨機(jī)性是不可以被輕易預(yù)測(cè)到,但可以是大家很容易驗(yàn)證的,那就可以采用這樣的方式來選舉出塊節(jié)點(diǎn)了。
Algorand 就找到了這樣一個(gè)產(chǎn)生隨機(jī)節(jié)點(diǎn)的方式。這種方法其實(shí)就跟 POW 的方式很接近了。大家都可以打包提交候選區(qū)塊,但最后不是看誰最快算出題,而是通過一個(gè)真隨機(jī)數(shù),選出唯一的下一個(gè)出塊。
4、Casper
Casper是以太坊 2.0 將要采用的共識(shí)方式,Casper有了權(quán)益質(zhì)押,有了投票機(jī)制,但現(xiàn)在還是一個(gè) POW 和 POS 的混合體,將來要慢慢發(fā)展成一個(gè)完全的 POS 協(xié)議。
因?yàn)橐獙?duì)現(xiàn)有的基于 POW 的以太坊進(jìn)行升級(jí),它考慮更多的是鏈的可用性而非最終一致性。Casper出塊還是會(huì)通過 POW,然后再由 POS 節(jié)點(diǎn)投票。
投票的節(jié)點(diǎn)有點(diǎn)像是在賭博,可以隨便投任何塊,但是如果你沒有投中最后被選中的塊,會(huì)受到懲罰,所以最后大家都會(huì)趨向投最長(zhǎng)的鏈上的一個(gè)塊。
5、FileCoin
這是我們分布式存儲(chǔ)行業(yè)里的一個(gè)明星項(xiàng)目,他采用了一種新的共識(shí)機(jī)制叫預(yù)期共識(shí)。這可以理解成一種新的 POW 或者 POS 模式,說它是 POW,因?yàn)樗阉懔ν诘V改成了存儲(chǔ)挖礦,說他是 POS 是因?yàn)樗o投票權(quán)的理由不是看 Staking 里的通證數(shù),而是看你的有效存儲(chǔ)量。
其實(shí)每個(gè)項(xiàng)目的共識(shí)都很復(fù)雜,這里只是蜻蜓點(diǎn)水一樣的講一下。
從前面的分享中,大家可以看到,其實(shí) POW,POS,包括 DPOS 都不完美,未來 FileStorm 將繼續(xù)研究一種理論上無懈可擊,又具有實(shí)用性的區(qū)塊鏈共識(shí)。
FileStorm 采用的 DPOS 共識(shí),前期對(duì)我們的項(xiàng)目啟動(dòng)幫助很大。但是未來我們希望能讓我們的項(xiàng)目走向更加去中心化的公鏈共識(shí)。同時(shí)實(shí)現(xiàn)多鏈架構(gòu),更好的支持更多的存儲(chǔ)應(yīng)用。
從區(qū)塊鏈應(yīng)用落地看區(qū)塊鏈共識(shí),能否談一下落地應(yīng)用和共識(shí)的關(guān)系?
剛才一直談共識(shí),為什么需要共識(shí)?因?yàn)閰^(qū)塊鏈改變的是人類的生產(chǎn)關(guān)系。以后沒有老板和員工了,不存在誰為誰打工,而是大家為了共同的目標(biāo)一起奮斗。
但是每個(gè)人的訴求是不一樣的,為一件事愿意做的付出也是不一樣的,如果希望通過區(qū)塊鏈的激勵(lì)機(jī)制來實(shí)現(xiàn)利益的公平分配,大家就需要對(duì)區(qū)塊鏈高度認(rèn)同,這個(gè)認(rèn)同就是共識(shí)。
POW 通過算力投入實(shí)現(xiàn)共識(shí),POS 通過資金投入鞏固共識(shí),共識(shí)的價(jià)值通過通證來體現(xiàn)。共識(shí)越強(qiáng),通證的價(jià)值就越高。但是,如果這個(gè)通證不能真正實(shí)現(xiàn)應(yīng)用,那這個(gè)通證就是空氣幣,就遲早要?dú)w零。
比特幣因?yàn)槭鞘澜缟系谝粋€(gè)區(qū)塊鏈的實(shí)現(xiàn),共識(shí)強(qiáng)大,所以雖然它還沒有實(shí)現(xiàn)中本聰賦予它的成為點(diǎn)對(duì)點(diǎn)的電子支付系統(tǒng)這個(gè)使命,它依然有價(jià)值。它是加密貨幣的黃金。
但是以太坊的價(jià)值來自于它實(shí)現(xiàn)了智能合約。這個(gè)智能合約讓開發(fā)基于區(qū)塊鏈的應(yīng)用成為可能。代幣發(fā)行,去中心化金融,都是它的應(yīng)用。
FileStorm 的價(jià)值來自于發(fā)行的通證可以用來做存儲(chǔ)。用戶用通證購買存儲(chǔ),礦工通過提供存儲(chǔ)服務(wù)來賺取通證,這就形成了一個(gè)經(jīng)濟(jì)閉環(huán)。這個(gè)經(jīng)濟(jì)閉環(huán)就能體現(xiàn)區(qū)塊鏈的價(jià)值。很遺憾的是,當(dāng)今實(shí)現(xiàn)經(jīng)濟(jì)閉環(huán)的區(qū)塊鏈應(yīng)用很少,F(xiàn)ileStorm 是為數(shù)不多的一個(gè)。
但是我們要樂觀的看問題。整個(gè)區(qū)塊鏈行業(yè)還很新?;趨^(qū)塊鏈的應(yīng)用占有的市場(chǎng)份額還很小,前途無量。使用我們存儲(chǔ)的用戶還遠(yuǎn)遠(yuǎn)不夠,我們的業(yè)務(wù)未來會(huì)成指數(shù)級(jí)增長(zhǎng)。我們的通證價(jià)值也會(huì)不可估量。如何讓更多的用戶知道我們的應(yīng)用,就需要更多的人幫我們?nèi)ゲ嫉?,去加?qiáng)大家對(duì) FileStorm 的共識(shí)。這也是每一個(gè)區(qū)塊鏈應(yīng)用必須走的路。
如何通過一個(gè)強(qiáng)大的共識(shí)來實(shí)現(xiàn)落地應(yīng)用?FileStorm 是怎么做的?
如何打造一個(gè)強(qiáng)大的共識(shí),我們認(rèn)為有兩個(gè)重要點(diǎn),一個(gè)是技術(shù),一個(gè)是治理。
FileStorm 在共識(shí)機(jī)制上追求創(chuàng)新,就是從技術(shù)上優(yōu)化我們的共識(shí)基礎(chǔ)。前面我們提到我們要打造我們民族自主創(chuàng)新的公鏈,走向世界。這不是一句口號(hào),而是我們真正要在技術(shù)上跟國(guó)際知名的公鏈項(xiàng)目較勁。未來大家一定會(huì)看到我們逐步推出的,讓大家眼睛一亮的核心技術(shù)。
另外,區(qū)塊鏈項(xiàng)目一定要開源。這才是公鏈項(xiàng)目正確的打開方式。FileStorm有幾十個(gè)技術(shù)創(chuàng)新,github發(fā)布數(shù)百萬行代碼,也沒有申請(qǐng)一個(gè)專利。
優(yōu)秀的區(qū)塊鏈項(xiàng)目都是開源的。
越開源越安全:比特幣因?yàn)殚_源,越來越難因?yàn)榇a漏洞被攻擊。越開源生態(tài)越大:以太坊開源,無數(shù)項(xiàng)目抄襲,但它得到的是全球最多的區(qū)塊鏈開發(fā)者為他服務(wù)。
在治理方面,未來區(qū)塊鏈在持續(xù)開發(fā)中的進(jìn)化和升級(jí)能力,將成為它能否在它所控制的利益競(jìng)爭(zhēng)中生存下來的關(guān)鍵因素。
所以,區(qū)塊鏈治理的根基,來自于這樣一個(gè)事實(shí):一個(gè)區(qū)塊鏈系統(tǒng)有很多的涉眾,礦工,礦場(chǎng)主/節(jié)點(diǎn),投資人,用戶和開發(fā)者。他們通過與區(qū)塊鏈交互獲得價(jià)值,成為利益相關(guān)者。
利益相關(guān)者一定是要維護(hù)自身利益的,而他們之間的利益是有差異的,從而他們一定會(huì)要讓區(qū)塊鏈為他們服務(wù)。
因此,如果要讓整個(gè)區(qū)塊鏈系統(tǒng)長(zhǎng)期生存下去,就需要有相關(guān)的流程,來消除這些差異。創(chuàng)造和執(zhí)行這個(gè)流程,就是治理。
我了解到 Comunion 就是看重了它在社群治理和社群協(xié)助這個(gè)領(lǐng)域的努力,我們的理想是一樣的,區(qū)塊鏈就應(yīng)該這樣的方式發(fā)展。
有了強(qiáng)大的技術(shù)和強(qiáng)大的社區(qū),應(yīng)用落地就不是項(xiàng)目方一個(gè)人的事了,所有的參與者,都會(huì)為項(xiàng)目添磚加瓦,尋找落地機(jī)會(huì)。
區(qū)塊鏈發(fā)展到今天,有很多項(xiàng)目追求的東西太好高騖遠(yuǎn),談遠(yuǎn)景,談高大上,但是不能在可預(yù)見的未來實(shí)現(xiàn)。這樣的項(xiàng)目就需要超乎想象的強(qiáng)大共識(shí),或者國(guó)家和大投資機(jī)構(gòu)的信任背書,才又機(jī)會(huì)存活下去。如果不接地氣,光吹牛,那很快就會(huì)玩完。
我們選擇存儲(chǔ),因?yàn)檫@是跟每一個(gè)人的生活都息息相關(guān)的事情,每個(gè)人都可以是我們的用戶,每個(gè)人都能為我們做項(xiàng)目推廣。所以,我們選擇的賽道,非常接地氣,相當(dāng)容易落地。
能否談一下FileStorm 存儲(chǔ)技術(shù)的特點(diǎn)?
首先,F(xiàn)ileStorm 結(jié)合自身的技術(shù)特點(diǎn),提出如下幾條價(jià)值觀念,推出了一個(gè)「數(shù)據(jù)存儲(chǔ)的核心價(jià)值觀」。我們還在跟整個(gè)行業(yè)探討,現(xiàn)在提出的數(shù)據(jù)存儲(chǔ)的核心價(jià)值觀就是 保護(hù)隱私,數(shù)據(jù)確權(quán),鼓勵(lì)實(shí)用,技術(shù)開源。
數(shù)據(jù)存儲(chǔ)的核心價(jià)值觀反映的是數(shù)據(jù)存儲(chǔ)領(lǐng)域的豐富內(nèi)涵和實(shí)踐要求,是人類對(duì)數(shù)據(jù)的創(chuàng)造和使用訴求的高度凝練和集中表達(dá)。
我們的創(chuàng)新技術(shù)如下:保護(hù)隱私就是要做到數(shù)據(jù)加密。數(shù)據(jù)加密大家很了解,也有很多現(xiàn)成的技術(shù)實(shí)現(xiàn)。但是高效的對(duì)加密數(shù)據(jù)進(jìn)行搜索和計(jì)算卻很難。我們跟大學(xué)和研究機(jī)構(gòu)的頂級(jí)專家合作,共同創(chuàng)新同態(tài)加密和零知識(shí)驗(yàn)證技術(shù),讓加密數(shù)據(jù)搜索計(jì)算和普通數(shù)據(jù)一樣。
有了讓加密數(shù)據(jù)搜索,我們就可以把目標(biāo)劍指分布式存儲(chǔ)上的谷歌和百度。數(shù)據(jù)確權(quán)就是要給數(shù)據(jù)做時(shí)間戳,要做內(nèi)容智能辨識(shí),這個(gè)需要很強(qiáng)的區(qū)塊鏈技術(shù)和大數(shù)據(jù)技術(shù)。這兩個(gè)板塊正是 FileStorm 的強(qiáng)項(xiàng)。(也是web3.0的技術(shù)核心)
另外,數(shù)據(jù)確權(quán)也不是一個(gè)應(yīng)用能實(shí)現(xiàn)的,而是好多不同的應(yīng)用。FileStorm 未來的多鏈生態(tài),就是為這個(gè)目的打造。
鼓勵(lì)實(shí)用就是要讓數(shù)據(jù)動(dòng)起來。FileStorm 的檢索挖礦,按數(shù)據(jù)使用率給出獎(jiǎng)勵(lì)的共識(shí)算法,鼓勵(lì)數(shù)據(jù)大量復(fù)制,大量分發(fā)。冷數(shù)據(jù)可以去重存儲(chǔ)。但只有流動(dòng)的活數(shù)據(jù),才更實(shí)用,才能創(chuàng)造更多的價(jià)值。
技術(shù)開源前面已經(jīng)提到,不開源,口里喊著去中心化,走的還是中心化的路子,是沒有前途的!
所以,F(xiàn)ileStorm 愿與全球分布式存儲(chǔ)行業(yè)的項(xiàng)目一起,實(shí)現(xiàn)整個(gè)數(shù)據(jù)行業(yè)的價(jià)值目標(biāo),讓數(shù)據(jù)更好的為人類服務(wù),讓人類真正成為自己數(shù)據(jù)的主人。
Q&A
Q1:共識(shí)的前提是需要有共識(shí)者,一般是如何尋找共識(shí)者呢嗎?非公鏈項(xiàng)目如何設(shè)計(jì)共識(shí)呢?
您這里有兩個(gè)問題:
公鏈如何尋找共識(shí)者。其實(shí)1CO是一個(gè)公鏈尋找共識(shí)者的好方法,因?yàn)橐婚_始就從經(jīng)濟(jì)上把共識(shí)者綁定。ETH就是一個(gè)非常成功的案例??上Ш髞肀煌鎵牧?。DPOS 其實(shí)也是一個(gè)很好的方法,可以早期就找到金主做盟友一起推廣。但是缺點(diǎn)是盟友可能成為利益沖突者。權(quán)利太大,影響共識(shí)發(fā)展。
非公鏈項(xiàng)目如何設(shè)計(jì)共識(shí):這個(gè)用聯(lián)盟鏈的方式可以實(shí)現(xiàn)。其實(shí)比公鏈簡(jiǎn)單。
Q2:能評(píng)論一下POC共識(shí)嗎?
您說的 POC 是指的 proof of capacity 硬盤存儲(chǔ)空間挖礦對(duì)吧?這個(gè)跟我們存儲(chǔ)挖礦行業(yè)很接近,因?yàn)橛玫氖怯脖P空間做共識(shí)。
跟比特幣用算力挖礦不一樣的是。POC 提前把哈希運(yùn)算做好,存在硬盤里,像存了一堆彩票。然后到點(diǎn)抽獎(jiǎng),抽中了誰,誰就出塊。
Q3:您是怎么看待集權(quán)與效率,投票與共識(shí)的呢?
這個(gè)問題非常好。也是我們常常討論的。集權(quán)提高效率,但是犧牲去中心化。投票民主,但是效率降低。
我覺得每個(gè)項(xiàng)目要根據(jù)具體情況選擇共識(shí)??醋⒅氐氖切?,還是民主。
不是每個(gè)項(xiàng)目都追求高TPS,這樣的話,選擇慢一點(diǎn)的區(qū)塊鏈也挺好的。FileStorm想做多鏈生態(tài),就是看到每個(gè)項(xiàng)目都不一樣,未來我們希望能支持基于各類共識(shí)的應(yīng)用。
Q4:您認(rèn)為共識(shí)和效率能否共存呢?如果能,那么有什么方法呢?
現(xiàn)在就是共存的呀。只不過是以互相博弈的方式共存。聯(lián)盟鏈的效率很高。如果這個(gè)共識(shí)能被認(rèn)可,聯(lián)盟鏈足夠了!
做為原教旨主意區(qū)塊鏈信仰者,我原來其實(shí)更支持公鏈。直到我看到谷歌的Libra,一個(gè)巨大的聯(lián)盟鏈平臺(tái),只要擁護(hù)的人多,共識(shí)一樣很強(qiáng)大。
Q5:現(xiàn)在底層的組件或協(xié)議除了 IPSF 以外還有別的類似基于區(qū)塊鏈的分布式存儲(chǔ)嗎?
底層協(xié)議很多,不是一定需要IPFS。FileStorm也在IPFS的基礎(chǔ)上做了很多改造,這是FileStorm最新的數(shù)據(jù)傳播協(xié)議層架構(gòu)。