1. 創(chuàng)業(yè)頭條
  2. 前沿領(lǐng)域
  3. 區(qū)塊鏈
  4. 正文

一文讀懂Dipperin與BTC、ETH、EOS共識算法對比

 2019-09-02 16:21  來源:互聯(lián)網(wǎng)  我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

導(dǎo)語: 在現(xiàn)今三大主流公鏈:BTC(PoW)、ETH(即將轉(zhuǎn)為PoS)和EOS(DPoS),使用了完全不同的共識算法,每個都有自己的優(yōu)點,但同時每個也都不可避免的有自己的缺點。對比一下這幾家主流公鏈所采用的共識算法的優(yōu)缺點,可以更清晰地了解Dipperin采用DPoW共識算法的底層邏輯。

由于區(qū)塊鏈是去中心化的,也就是說在一個區(qū)塊鏈系統(tǒng)中,所有的節(jié)點或者說是參與者都是平等的地位。由于參與者的地位平等,因此需要一種機制來決定誰具有打包區(qū)塊的權(quán)力,這種機制就是共識算法。區(qū)塊鏈中共識算法的本質(zhì),就是誰擁有打包區(qū)塊的權(quán)力(也就是記賬權(quán))的問題,誰擁有記賬的權(quán)力,誰就能夠獲得記賬的獎勵。

一、BTC:工作量證明/PoW(Proof of Work)

BTC是區(qū)塊鏈的鼻祖,它采用的是PoW(Proof of Work),即工作量證明。這一概念最早在1993年由Cynthia Dwork和Moni Naor的學(xué)術(shù)論文中提出,并在1999年由Markus Jakobsson與AriJuels對工作量證明這一詞的進行了發(fā)表。PoW核心設(shè)計思路是提出求一個復(fù)雜度計算值的運算過程,用戶通過進行一定的算力來計算一個滿意值并提供給服務(wù)方快速做驗證,以防止服務(wù)被攻擊,數(shù)據(jù)資源被濫用,確保數(shù)據(jù)交易的公平和安全。

在BTC中,PoW工作其實就是如何去計算一個區(qū)塊的目標哈希值問題,這個哈希值還必須滿足一些必要條件,這個條件在區(qū)塊鏈中其實就是一個難度系數(shù)值,通過計算出的哈希值是否符合前面N位全是0,最終達成工作量證明。由于哈希值計算的隨機性,因此用戶只能通過大量的窮舉來實現(xiàn)。

圖1:比特幣的共識機制原理

舉個例子:

比如現(xiàn)在給出一個固定的字符串“Hello,Dipperin”,現(xiàn)在要求計算的難題是將這個字符串與一個隨機數(shù)(Nonce)拼接起來,并通過SHA256哈希計算一個固定256位長度的哈希值,如果得到的計算結(jié)果至少前4位全是0,即認為滿足計算條件,同時得到的隨機數(shù)(Nonce)值證明為達成工作量證明的有效隨機數(shù)。

當(dāng)中本聰剛開始提出比特幣的時候,比特幣還沒幾個人認可,那時的PoW無疑是最合適的:買幣不方便,大眾付出勞動挖礦就能拿到幣,所以挖礦是最好的辦法。

但是隨著參與挖礦的人越來越多,PoW的缺點便越來越受人詬?。?/p>

1. 消耗了大量的能源。隨著全網(wǎng)參與的算力越多,那么下一次調(diào)整的難度值就可能越高,能源的消耗就越嚴重。

2. 網(wǎng)絡(luò)性能低,需要等待多個確認,容易產(chǎn)生分叉。

二、ETH(Casper):股權(quán)證明/PoS(Proof of Stake)

雖然PoW有這些缺點,但是以太坊在它目前的版本中依舊采用了PoW的方法進行挖礦。與比特幣的PoW挖礦算法不同的是,以太坊采用的是內(nèi)存難解的PoW算法,由于它的計算的效率基本與CPU無關(guān),卻和內(nèi)存大小和內(nèi)存帶寬正相關(guān)。因此通過共享內(nèi)存的方式大規(guī)模部署的礦機芯片并不能在挖礦效率上有線性或者超線性的增長。這樣可以在一定程度上避免像比特幣一樣的出現(xiàn)算力的中心化,但是還是需要消耗很多的能源,所以以太坊也就一直宣稱要從PoW共識轉(zhuǎn)到PoS共識。

PoS共識算法的優(yōu)點很明顯:極少的能源消耗,擴展性強。但是它也有一個嚴重的問題:”無利害關(guān)系(Nothing at Stake)”問題,即如果在一條PoS鏈上(藍色鏈),如果你是一個驗證者,在你做完驗證押金被退回之后,你可以在藍色的主鏈上再次投票形成一條紅色的從主鏈中分出來的鏈條(如下圖),這時你分叉了鏈條之后,完全無需擔(dān)心間接的不良后果。不管發(fā)生什么事,你都總是可以贏,不會失去任何東西,不管你的行為有多惡意。這就是所謂的“無利害關(guān)系”問題,也是以太坊最新的Casper算法(PoS算法的一種)必須解決的問題。

圖2:“無利害關(guān)系”雙投

Casper通過引入stake(押金)、checkpoint(檢查點)等機制來解決“無利害關(guān)系”問題,這可以在一定程度上減輕無利害關(guān)系問題,但無法徹底解決,并且還有另外幾個問題無法解決(Vitalik Buterin他自己在關(guān)于Casper的論文中提出):

1.長程攻擊問題:即一旦有些驗證者聯(lián)合起來,退出了抵押,且長時間內(nèi)他們的抵押是超過總抵押的三分之二,他們可以利用歷史的絕對多數(shù)聯(lián)結(jié)來固化兩個沖突的檢查點,而不用擔(dān)心抵押被沒收。

2.災(zāi)難性崩潰的問題:這種問題雖然概率比較小,但是理論上是有可能發(fā)生的。假設(shè)總額大于三分之一押金的驗證者在同一時間崩潰,它們因為網(wǎng)絡(luò),計算機故障或者他們本身是邪惡的原因,連接不到網(wǎng)絡(luò)。這時由于整個網(wǎng)絡(luò)無法達成共識也導(dǎo)致無法產(chǎn)生一條能夠被最終確認的鏈。Casper采用了一種“非活躍泄漏”的方式來解決,具體是:慢慢地把那些沒有投票的驗證者的押金從總押金中釋放出去,最終總押金會下降到可以讓剩下活躍的驗證者占絕大多數(shù)的情況。但是這樣產(chǎn)生的問題在于,由于一些意外或者是惡意的原因,整個網(wǎng)絡(luò)可能被軟分叉成了兩部分,并且除非該節(jié)點放棄在被釋放鏈上的押金,否則無法在回到被釋放鏈上了。

3.隱性中心化的問題:如果一個用戶持有較多的coin,比如30%,那么理論上,他是有可能通過不斷的成為驗證者來是自己在整條鏈中的coin比例達到50%以上的。這樣就會對鏈產(chǎn)生 51%攻擊問題。

之所以比特幣和以太坊的共識算法都有自己的問題,主要在于區(qū)塊鏈技術(shù)長期面臨一個“三元悖論”也被稱為“不可能三角”。即在一個分布式計算系統(tǒng)的一致性(Consistency)、可用性(Availability)、分區(qū)容錯性(Partition-tolerant)三者不可兼得,最多只能兼顧其中的兩者。

圖3:PoW與PoS對比

區(qū)塊鏈作為典型的分布式系統(tǒng),它的共識算法就是對系統(tǒng)的安全性、可擴展性和去中心化作了一定的權(quán)衡。比特幣擁有最強的去中心化(當(dāng)然,算力的中心化是無法避免的),但是相應(yīng)了,它犧牲了它的可擴展性,每10分鐘一個區(qū)塊,每秒7筆交易,這個性能太過低下了。以太坊目前的PoW算法,一旦交易過大就會導(dǎo)致大量交易需要排隊上鏈,造成鏈的擁堵,交易費用上升,性能問題也很嚴重。而以太坊即將采用的Capser算法,從目前他們自己的分析來看,他們優(yōu)先考慮一致性,因為它不允許在沒有絕大多數(shù)驗證者同意的情況下完成checkpoint,這樣區(qū)塊也就不會達到最終的確認狀態(tài),但是它也在一定程度上放棄了安全性,即鏈在某種情況下可能出現(xiàn)分叉。

三、EOS:委任權(quán)益證明/DPoS(Delegated Proof of Stake)

而EOS所采用的DPoS(股份權(quán)益證明),它的原理是讓每一個持有EOS的人進行投票,由此產(chǎn)生21位代表,可以將其理解為21個超級節(jié)點或者礦池,而這21個超級節(jié)點彼此的權(quán)利是完全相等的。從某種角度來看,DPoS有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責(zé)(當(dāng)輪到他們時,沒能生成區(qū)塊),他們會被除名,網(wǎng)絡(luò)會選出新的超級節(jié)點來取代他們。這種機制的優(yōu)點是大幅度縮小參與驗證和記賬節(jié)點的數(shù)量,可以達到秒級共識驗證;缺點在于選舉固定數(shù)量的見證人作為記賬候選人有可能不適合完全去中心化的場景,另外在網(wǎng)絡(luò)節(jié)點數(shù)量少的場景,選舉的見證人代表性也不強。

圖4:PoS對比DPoS

四、Dipperin:確定性的工作量證明/DPoW(Deterministic Proof of Work)

針對于BTC、ETH以及EOS的共識算法及它們現(xiàn)存的缺點,Dipperin提出了自己的共識算法確定性的工作量證明DPoW(Deterministic Proof of Work),在DPoW共識算法中,使用了PoW、VRF(可驗證隨機函數(shù))、PBFT等共識和加密技術(shù)以及防卡死機制,這樣能夠在獲得高擴展性的同時保證安全性并且盡可能的去中心化。下面就來介紹一下Dipperin的DPoW共識算法,及其和三大主流公鏈共識算法的對比。

首先,對于BTC的PoW算法,Dipperin做了一定的改進,使用了分片的工作量證明,它的特點是將工作量證明計算過程分工,由分片服務(wù)器和礦工節(jié)點構(gòu)成的hash難題解答過程,其基本原理如下:

1.分片服務(wù)器將工作量證明的整個搜索空間劃分成多個部分,需要保證劃分的各小區(qū)間之間不會有相互覆蓋,然后將其分配給為其工作的礦工節(jié)點。

2.礦工節(jié)點將會在分配的搜索空間上計算hash難題以尋求完成工作量證明。礦工節(jié)點在計算過程中需要定時監(jiān)聽分片服務(wù)器的消息通知,以防分片服務(wù)器更新工作量搜索空間或重新分配任務(wù)。一旦礦工完成工作量證明,便會將滿足條件的區(qū)塊提交給分片服務(wù)器。

3.分片服務(wù)器接收到礦工提交的區(qū)塊后,將其提交給校驗服務(wù)器集群,并等待驗證結(jié)果。

其次,Dipperin引入了校驗者節(jié)點的角色,這些校驗者節(jié)點的主要作用是通過共識來確認一個塊,當(dāng)塊被共識確認了以后才能將它加到區(qū)塊鏈上。這樣就能避免純PoW算法確認時間過長的問題。Dipperin采用PBFT共識算法來進行驗證者之間的共識,PBFT在共識算法中是強一致性和高效的代表。然而,為了保證其安全性和存活性,必須有超過2/3的共識節(jié)點為誠實節(jié)點。因此,如何盡可能從廣大節(jié)點中選取出誠實節(jié)點作為驗證者代表變得極為重要。

圖5:Dipperin獨創(chuàng)的DPoW共識算法

Dipperin采用了一種基于VRF的驗證者抽簽機制。為了抵御女巫攻擊,Dipperin對每個用戶設(shè)定了權(quán)重,而這個權(quán)重則來源于用戶自身的信譽。Dipperin的系統(tǒng)對用戶的信譽進行量化計算,通過信譽來衡量用戶的權(quán)重。使用抽簽的方式選取驗證者,信譽高的具有更高機會被選中。Dipperin假設(shè)網(wǎng)絡(luò)中2/3的信譽是好的,那么鏈的安全性可以得到保障。Dipperin認為基于信譽的安全性假設(shè),比起基于算力,或者基于股份的更為合理,更為公平。

信譽:Reputation=F(Stake,Performance,Nonce)

其中,Stake押金數(shù)代表著作惡成本,Performance績效代表著過去用戶作為驗證者時的業(yè)績,Nonce是該帳號相關(guān)的交易數(shù),其他數(shù)據(jù)相同的情況下,交易數(shù)越高,信譽值越高。

最后,Dipperin對驗證者的選取使用密碼擲簽,密碼擲簽的作用是從選出一小部分作為區(qū)塊提出者或者驗證者,且他們的身份可以被所有其他用戶驗證。密碼擲簽的實現(xiàn)是VRF算法,對于一個公認的輸入(input),用戶使用私鑰SK和一個Hash函數(shù)可以產(chǎn)生一個Hash值和一個Proof。其他用戶則可以通過這個Hash值和Proof,結(jié)合該用戶的公鑰PK,證實這個Hash值是否是由這個用戶針對Input所產(chǎn)生的,并且在這個過程中,該用戶的私鑰自始至終沒有泄露。用戶通過這種方式得到驗證,其他用戶便可以相信他是某一段時間的驗證者。用這種方式,通過一個公認的輸入(Input)便可以隨機選出一組用戶,且其身份可以被其他人驗證。Dipperin結(jié)合用戶的信譽度R、一個使用VRF計算出的隨機數(shù)種子seed(用來充當(dāng)用戶的幸運值,避免信譽度高的人能夠一直被選上,提供給新參與者一些機會)。

這種抽簽機制保證了根據(jù)用戶的權(quán)重,只有一小部分用戶被隨機選出,且他們的身份可以被所有用戶驗證。對于攻擊者來說,隨機的結(jié)果無法被提前預(yù)測,無法操控。Dipperin的抽簽機制提供了客觀安全性,即整個過程是客觀的,完全通過計算做決策,人的干預(yù)無法影響這個過程。

這種客觀的安全性也能夠避免EOS的代表選舉曾遭到賄選問題。Dipperin的驗證者選舉過程透明。因為沒有人為因素操縱競選結(jié)果,所以不存在賄選的可能性。同樣也沒有人可以預(yù)知選舉結(jié)果,所以也不存在礦工賄賂驗證者打包其區(qū)塊的可能性。

總的來說,Dipperin的DPoW的共識算法綜合考慮了共識的去中心化程度和交易的效率問題,可以達到秒級出塊,2000TPS的效率,采用VRF密碼擲簽避免PoS算法中的公正性和DPoS中的中心化問題。

算法比特幣區(qū)塊鏈

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)文章

  • 亞洲區(qū)塊鏈學(xué)會會長:用戶破2億 波場TRON成全球最快增速公鏈

    近日,亞洲區(qū)塊鏈學(xué)會會長蔡志川博士發(fā)表了題為《波場TRON——數(shù)字未來之航,領(lǐng)航區(qū)塊鏈新時代》的文章指出,隨著新時代的來臨,區(qū)塊鏈技術(shù)和數(shù)字化經(jīng)營成為企業(yè)家升級的新引擎,孫宇晨和其創(chuàng)辦的波場TRON在過去幾年里發(fā)展迅速,尤其是在2023年,通過持續(xù)努力、技術(shù)創(chuàng)新和開放合作,波場TRON將繼續(xù)引領(lǐng)行業(yè)

  • 螞蟻鏈位列中國BaaS市場第一 核心技術(shù)自主可控

    9月4日,國際權(quán)威研究機構(gòu)IDC發(fā)布“中國BaaS廠商市場份額,2022”報告。報告顯示,螞蟻集團憑借螞蟻鏈以26.6%的市場占有率位居第一,騰訊云、華為云以16.3%、11.4%分列二三位。據(jù)了解,這是螞蟻鏈連續(xù)三年中國BaaS市場第一,據(jù)了解,螞蟻鏈是國內(nèi)代表性的區(qū)塊鏈廠商,技術(shù)完全自主研發(fā)。其

  • 護航區(qū)塊鏈生態(tài)安全,成都鏈安一直在行動

    2023年7月20日,成都鏈安創(chuàng)始人&CEO楊霞教授受邀在新一代信息技術(shù)安全與WEB3.0安全專題峰會上發(fā)表“區(qū)塊鏈安全態(tài)勢與技術(shù)研究”主題演講。成都鏈安楊霞教授首先介紹了全球區(qū)塊鏈安全態(tài)勢,指明目前全球區(qū)塊鏈安全事件層出不窮、居高不下,同時,區(qū)塊鏈、虛擬貨幣也被一些不法分子用來從事非法活動,監(jiān)管面

  • 美酒鏈數(shù)字酒證,打開酒類收藏新方式

    李先生是一位酒品收藏家,他對白酒的熱愛無與倫比,用心收集了許多珍貴的酒品。但是,他的收藏之旅卻遭遇到了一次大打擊。李先生為了慶祝自己生日,決定品嘗自己收藏了20年的白酒。激動之下,他打開珍藏的白酒,只想品味一口歷經(jīng)歲月的美酒。然而,想不到的是,香氣撲鼻之際,他發(fā)現(xiàn)嘴中的味道與記憶中的完全不同。心情一

  • 成都鏈安榮登《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》區(qū)塊鏈安全榜單

    成都鏈安上榜《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》2023年7月10日,嘶吼安全產(chǎn)業(yè)研究院聯(lián)合國家網(wǎng)絡(luò)安全產(chǎn)業(yè)園區(qū)(通州園)正式發(fā)布《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》。成都鏈安憑借自身技術(shù)實力以及在區(qū)塊鏈安全行業(yè)廣泛的品牌影響力,榮登《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》區(qū)塊鏈安全賽道榜單。這也是成都鏈安連續(xù)第二

  • 工信部公布2022年區(qū)塊鏈典型應(yīng)用案例 江行智能“源網(wǎng)荷儲系統(tǒng)”上榜

    近日,工業(yè)和信息化部辦公廳公布2022年區(qū)塊鏈典型應(yīng)用案例名單,江行智能《基于區(qū)塊鏈技術(shù)的工業(yè)園區(qū)“源網(wǎng)荷儲一體化”綜合能源服務(wù)系統(tǒng)》作為標桿案例入選。據(jù)了解,本次區(qū)塊鏈典型應(yīng)用案例征集吸引了全國各大省市的優(yōu)秀區(qū)塊鏈項目的紛紛參與。經(jīng)企業(yè)自主申報、地方和央企推薦、專家評審等環(huán)節(jié)的層層考核,61個具較

編輯推薦