pos投票機(jī)制

瀏覽:133 發(fā)布日期:2023-03-13 00:00:00 投稿人:佚名投稿

1、區(qū)塊鏈幾大共識(shí)機(jī)制及優(yōu)缺點(diǎn)

首先,沒(méi)有一種共識(shí)機(jī)制是完美無(wú)缺的,各共識(shí)機(jī)制都有其優(yōu)缺點(diǎn),有些共識(shí)機(jī)制是為解決一些特定的問(wèn)題而生。
1.pow( Proof of Work)工作量證明
一句話介紹:干的越多,收的越多。
依賴機(jī)器進(jìn)行數(shù)學(xué)運(yùn)算來(lái)獲取記賬權(quán),資源消耗相比其他共識(shí)機(jī)制高、可監(jiān)管性弱,同時(shí)每次達(dá)成共識(shí)需要全網(wǎng)共同參與運(yùn)算,性能效率比較低,容錯(cuò)性方面允許全網(wǎng)50%節(jié)點(diǎn)出錯(cuò)。
優(yōu)點(diǎn):
1)算法簡(jiǎn)單,容易實(shí)現(xiàn);
2)節(jié)點(diǎn)間無(wú)需交換額外的信息即可達(dá)成共識(shí);
3)破壞系統(tǒng)需要投入極大的成本;
缺點(diǎn):
1)浪費(fèi)能源;
2)區(qū)塊的確認(rèn)時(shí)間難以縮短;
3)新的區(qū)塊鏈必須找到一種不同的散列算法,否則就會(huì)面臨比特幣的算力攻擊;
4)容易產(chǎn)生分叉,需要等待多個(gè)確認(rèn);
5)永遠(yuǎn)沒(méi)有最終性,需要檢查點(diǎn)機(jī)制來(lái)彌補(bǔ)最終性;
2.POS Proof of Stake,權(quán)益證明
一句話介紹:持有越多,獲得越多。
主要思想是節(jié)點(diǎn)記賬權(quán)的獲得難度與節(jié)點(diǎn)持有的權(quán)益成反比,相對(duì)于PoW,一定程度減少了數(shù)學(xué)運(yùn)算帶來(lái)的資源消耗,性能也得到了相應(yīng)的提升,但依然是基于哈希運(yùn)算競(jìng)爭(zhēng)獲取記賬權(quán)的方式,可監(jiān)管性弱。該共識(shí)機(jī)制容錯(cuò)性和PoW相同。它是Pow的一種升級(jí)共識(shí)機(jī)制,根據(jù)每個(gè)節(jié)點(diǎn)所占代幣的比例和時(shí)間,等比例的降低挖礦難度,從而加快找隨機(jī)數(shù)的速度
優(yōu)點(diǎn):在一定程度上縮短了共識(shí)達(dá)成的時(shí)間;不再需要大量消耗能源挖礦。
缺點(diǎn):還是需要挖礦,本質(zhì)上沒(méi)有解決商業(yè)應(yīng)用的痛點(diǎn);所有的確認(rèn)都只是一個(gè)概率上的表達(dá),而不是一個(gè)確定性的事情,理論上有可能存在其他攻擊影響。例如,以太坊的DAO攻擊事件造成以太坊硬分叉,而ETC由此事件出現(xiàn),事實(shí)上證明了此次硬分叉的失敗。
DPOS與POS原理相同,只是選了一些“人大代表”。
BitShares社區(qū)首先提出了DPoS機(jī)制。
與PoS的主要區(qū)別在于節(jié)點(diǎn)選舉若干代理人,由代理人驗(yàn)證和記賬。其合規(guī)監(jiān)管、性能、資源消耗和容錯(cuò)性與PoS相似。類似于董事會(huì)投票,持幣者投出一定數(shù)量的節(jié)點(diǎn),代理他們進(jìn)行驗(yàn)證和記賬。
DPoS的工作原理為:
去中心化表示每個(gè)股東按其持股比例擁有影響力,51%股東投票的結(jié)果將是不可逆且有約束力的。其挑戰(zhàn)是通過(guò)及時(shí)而高效的方法達(dá)到51%批準(zhǔn)。為達(dá)到這個(gè)目標(biāo),每個(gè)股東可以將其投票權(quán)授予一名代表。獲票數(shù)最多的前100位代表按既定時(shí)間表輪流產(chǎn)生區(qū)塊。每名代表分配到一個(gè)時(shí)間段來(lái)生產(chǎn)區(qū)塊。所有的代表將收到等同于一個(gè)平均水平的區(qū)塊所含交易費(fèi)的10%作為報(bào)酬。如果一個(gè)平均水平的區(qū)塊含有100股作為交易費(fèi),一名代表將獲得1股作為報(bào)酬。
網(wǎng)絡(luò)延遲有可能使某些代表沒(méi)能及時(shí)廣播他們的區(qū)塊,而這將導(dǎo)致區(qū)塊鏈分叉。然而,這不太可能發(fā)生,因?yàn)橹圃靺^(qū)塊的代表可以與制造前后區(qū)塊的代表建立直接連接。建立這種與你之后的代表(也許也包括其后的那名代表)的直接連接是為了確保你能得到報(bào)酬。
該模式可以每30秒產(chǎn)生一個(gè)新區(qū)塊,并且在正常的網(wǎng)絡(luò)條件下區(qū)塊鏈分叉的可能性極其小,即使發(fā)生也可以在幾分鐘內(nèi)得到解決。
成為代表:
成為一名代表,你必須在網(wǎng)絡(luò)上注冊(cè)你的公鑰,然后分配到一個(gè)32位的特有標(biāo)識(shí)符。然后該標(biāo)識(shí)符會(huì)被每筆交易數(shù)據(jù)的“頭部”引用。
授權(quán)選票:
每個(gè)錢包有一個(gè)參數(shù)設(shè)置窗口,在該窗口里用戶可以選擇一個(gè)或更多的代表,并將其分級(jí)。一經(jīng)設(shè)定,用戶所做的每筆交易將把選票從“輸入代表”轉(zhuǎn)移至“輸出代表”。一般情況下,用戶不會(huì)創(chuàng)建特別以投票為目的的交易,因?yàn)槟菍⒑馁M(fèi)他們一筆交易費(fèi)。但在緊急情況下,某些用戶可能覺(jué)得通過(guò)支付費(fèi)用這一更積極的方式來(lái)改變他們的投票是值得的。
保持代表誠(chéng)實(shí):
每個(gè)錢包將顯示一個(gè)狀態(tài)指示器,讓用戶知道他們的代表表現(xiàn)如何。如果他們錯(cuò)過(guò)了太多的區(qū)塊,那么系統(tǒng)將會(huì)推薦用戶去換一個(gè)新的代表。如果任何代表被發(fā)現(xiàn)簽發(fā)了一個(gè)無(wú)效的區(qū)塊,那么所有標(biāo)準(zhǔn)錢包將在每個(gè)錢包進(jìn)行更多交易前要求選出一個(gè)新代表。
抵抗攻擊:
在抵抗攻擊上,因?yàn)榍?00名代表所獲得的權(quán)力權(quán)是相同的,每名代表都有一份相等的投票權(quán)。因此,無(wú)法通過(guò)獲得超過(guò)1%的選票而將權(quán)力集中到一個(gè)單一代表上。因?yàn)橹挥?00名代表,可以想象一個(gè)攻擊者對(duì)每名輪到生產(chǎn)區(qū)塊的代表依次進(jìn)行拒絕服務(wù)攻擊。幸運(yùn)的是,由于事實(shí)上每名代表的標(biāo)識(shí)是其公鑰而非IP地址,這種特定攻擊的威脅很容易被減輕。這將使確定DDOS攻擊目標(biāo)更為困難。而代表之間的潛在直接連接,將使妨礙他們生產(chǎn)區(qū)塊變得更為困難。
優(yōu)點(diǎn):大幅縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,可以達(dá)到秒級(jí)的共識(shí)驗(yàn)證。
缺點(diǎn):整個(gè)共識(shí)機(jī)制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的。
3.PBFT :Practical Byzantine Fault Tolerance,實(shí)用拜占庭容錯(cuò)
介紹:在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯(cuò)性。
在分布式計(jì)算上,不同的計(jì)算機(jī)透過(guò)訊息交換,嘗試達(dá)成共識(shí);但有時(shí)候,系統(tǒng)上協(xié)調(diào)計(jì)算機(jī)(Coordinator / Commander)或成員計(jì)算機(jī) (Member /Lieutanent)可能因系統(tǒng)錯(cuò)誤并交換錯(cuò)的訊息,導(dǎo)致影響最終的系統(tǒng)一致性。
拜占庭將軍問(wèn)題就根據(jù)錯(cuò)誤計(jì)算機(jī)的數(shù)量,尋找可能的解決辦法,這無(wú)法找到一個(gè)絕對(duì)的答案,但只可以用來(lái)驗(yàn)證一個(gè)機(jī)制的有效程度。
而拜占庭問(wèn)題的可能解決方法為:
在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計(jì)算機(jī)總數(shù),F(xiàn)為有問(wèn)題計(jì)算機(jī)總數(shù)。信息在計(jì)算機(jī)間互相交換后,各計(jì)算機(jī)列出所有得到的信息,以大多數(shù)的結(jié)果作為解決辦法。
1)系統(tǒng)運(yùn)轉(zhuǎn)可以脫離幣的存在,pbft算法共識(shí)各節(jié)點(diǎn)由業(yè)務(wù)的參與方或者監(jiān)管方組成,安全性與穩(wěn)定性由業(yè)務(wù)相關(guān)方保證。
2)共識(shí)的時(shí)延大約在2~5秒鐘,基本達(dá)到商用實(shí)時(shí)處理的要求。
3)共識(shí)效率高,可滿足高頻交易量的需求。
缺點(diǎn):
1)當(dāng)有1/3或以上記賬人停止工作后,系統(tǒng)將無(wú)法提供服務(wù);
2)當(dāng)有1/3或以上記賬人聯(lián)合作惡,且其它所有的記賬人被恰好分割為兩個(gè)網(wǎng)絡(luò)孤島時(shí),惡意記賬人可以使系統(tǒng)出現(xiàn)分叉,但是會(huì)留下密碼學(xué)證據(jù)
下面說(shuō)兩個(gè)國(guó)產(chǎn)的吧~
4.dBFT: delegated BFT 授權(quán)拜占庭容錯(cuò)算法
介紹:小蟻采用的dBFT機(jī)制,是由權(quán)益來(lái)選出記賬人,然后記賬人之間通過(guò)拜占庭容錯(cuò)算法來(lái)達(dá)成共識(shí)。
此算法在PBFT基礎(chǔ)上進(jìn)行了以下改進(jìn):
將C/S架構(gòu)的請(qǐng)求響應(yīng)模式,改進(jìn)為適合P2P網(wǎng)絡(luò)的對(duì)等節(jié)點(diǎn)模式;
將靜態(tài)的共識(shí)參與節(jié)點(diǎn)改進(jìn)為可動(dòng)態(tài)進(jìn)入、退出的動(dòng)態(tài)共識(shí)參與節(jié)點(diǎn);
為共識(shí)參與節(jié)點(diǎn)的產(chǎn)生設(shè)計(jì)了一套基于持有權(quán)益比例的投票機(jī)制,通過(guò)投票決定共識(shí)參與節(jié)點(diǎn)(記賬節(jié)點(diǎn));
在區(qū)塊鏈中引入數(shù)字證書,解決了投票中對(duì)記賬節(jié)點(diǎn)真實(shí)身份的認(rèn)證問(wèn)題。
優(yōu)點(diǎn):
1)專業(yè)化的記賬人;
2)可以容忍任何類型的錯(cuò)誤;
3)記賬由多人協(xié)同完成,每一個(gè)區(qū)塊都有最終性,不會(huì)分叉;
4)算法的可靠性有嚴(yán)格的數(shù)學(xué)證明;
缺點(diǎn):
1)當(dāng)有1/3或以上記賬人停止工作后,系統(tǒng)將無(wú)法提供服務(wù);
2)當(dāng)有1/3或以上記賬人聯(lián)合作惡,且其它所有的記賬人被恰好分割為兩個(gè)網(wǎng)絡(luò)孤島時(shí),惡意記賬人可以使系統(tǒng)出現(xiàn)分叉,但是會(huì)留下密碼學(xué)證據(jù);
以上總結(jié)來(lái)說(shuō),dBFT機(jī)制最核心的一點(diǎn),就是最大限度地確保系統(tǒng)的最終性,使區(qū)塊鏈能夠適用于真正的金融應(yīng)用場(chǎng)景。
5.POOL驗(yàn)證池
基于傳統(tǒng)的分布式一致性技術(shù),加上數(shù)據(jù)驗(yàn)證機(jī)制。
優(yōu)點(diǎn):不需要代幣也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基礎(chǔ)上,實(shí)現(xiàn)秒級(jí)共識(shí)驗(yàn)證。
缺點(diǎn):去中心化程度不如bictoin;更適合多方參與的多中心商業(yè)模式。

2、區(qū)塊鏈共識(shí)機(jī)制之POS和DPOS

工作量證明算法作為區(qū)塊鏈第一個(gè)也是目前經(jīng)受住足夠?qū)嵺`檢驗(yàn)的一個(gè)共識(shí)機(jī)制,解決的是分布式系統(tǒng)交易信息一致性的問(wèn)題,在一個(gè)去中心化的網(wǎng)絡(luò)中構(gòu)建了彼此不信任節(jié)點(diǎn)的信任機(jī)制,也是比特幣成功應(yīng)用的關(guān)鍵技術(shù)環(huán)節(jié)。

經(jīng)過(guò)幾年的實(shí)際運(yùn)轉(zhuǎn),這一算法的弊端也顯露出來(lái),比特幣網(wǎng)絡(luò)每秒完成600萬(wàn)億次SHA256運(yùn)算,消耗了大量的電力資源,而最終這些計(jì)算沒(méi)有任何實(shí)際或科學(xué)價(jià)值。這些運(yùn)算存在的唯一目的是用來(lái)解決工作量證明問(wèn)題,另外一個(gè)現(xiàn)實(shí)的威脅便是算力集中,工作量證明本質(zhì)上是利用窮舉法找出符合規(guī)定條件的哈希值的過(guò)程,算力越強(qiáng),獲得記賬權(quán)(即挖到礦)的可能性便越高,一開(kāi)始是最早利用顯卡挖礦的人,后來(lái)是利用FPGA礦機(jī)的人,再后來(lái)是利用ASIC專用芯片挖礦的人,現(xiàn)在就是不斷制造出更好的ASIC的人,另外還有“礦工”節(jié)點(diǎn)聯(lián)合起來(lái)組成礦池,如Ghash,Ghash 2014年曾經(jīng)發(fā)表聲明,將在今后確保不超過(guò)40%的全網(wǎng)算力,這類自律聲明是對(duì)比特幣去信任機(jī)制的莫大諷刺。

比特幣自誕生以來(lái),人們便開(kāi)始嘗試其他除了工作量證明算法之外的其他共識(shí)機(jī)制,如具有代表性的權(quán)益證明POS、委托權(quán)益證明DPOS、拜占庭容錯(cuò)機(jī)制(BFT)及實(shí)用拜占庭容錯(cuò)機(jī)制(PBFT)等,下面將主要介紹POS和DPOS,BFT和PBFT留待下一篇。

權(quán)益證明POS

POS是一類共識(shí)算法,或者說(shuō)是一類共識(shí)算法的設(shè)計(jì)思想,而不是一個(gè),最早采用POS的是Peercoin。Peercoin是2012年8月,一個(gè)化名Sunny King的極客推出的一類加密貨幣,采用工作量證明機(jī)制+權(quán)益證明機(jī)制,首次將權(quán)益證明機(jī)制引入了加密貨幣。Peercoin引入了“幣齡”的概念,每個(gè)幣每天產(chǎn)生1幣齡,比如你持有100個(gè)幣,總共持有了30天,那么,此時(shí)你的幣齡就為3000。當(dāng)一個(gè)新的區(qū)塊產(chǎn)生時(shí),其他想獲得記賬權(quán)的節(jié)點(diǎn)同比特幣也需要計(jì)算哈希值,得出滿足條件哈希值的難易與難度值有關(guān),這個(gè)難度值這里與幣齡成反比,即你的幣齡越大,得出符合條件的哈希值的概率就越大,同時(shí)你的幣齡被清空,記賬后系統(tǒng)會(huì)給予你相應(yīng)“利息”,你每被清空365幣齡,獲得利息為:3000 * 利率 / 365,Peercoin的利率為1%,即0.08個(gè)幣。

可以看出,在POS機(jī)制下,持有幣越多,越容易獲得記賬權(quán),接近于贏家通吃的感覺(jué),但持有的幣越多,越接近于一個(gè)誠(chéng)實(shí)的節(jié)點(diǎn),因?yàn)槠茐恼麄€(gè)網(wǎng)絡(luò)帶來(lái)的損失也越大。Peercoin的POS機(jī)制有一個(gè)漏洞,對(duì)于不持有幣的人而言,他們本來(lái)就沒(méi)什么收益,所以一些惡意攻擊對(duì)于他們則是無(wú)損失的,這就是Nothing-at-stake attack(無(wú)利益攻擊)。后續(xù)的比較成功的POS都引入了對(duì)付這種攻擊的機(jī)制。

以太坊系統(tǒng)的目標(biāo)是在今年引入權(quán)益證明,即Casper。在權(quán)益證明共識(shí)機(jī)制之下,用戶將能夠在以太坊網(wǎng)絡(luò)擁有“幣權(quán)”。用戶如果誠(chéng)實(shí)行事并確認(rèn)了合法交易,將獲得與其股權(quán)成比的利息;如果惡意行事并試圖網(wǎng)絡(luò)中作弊,就會(huì)失去其權(quán)益。

委托權(quán)益證明DPOS

委托權(quán)益證明DPOS是POS的變種,運(yùn)用DPOS的典型如比特股等,其基本原理在于全網(wǎng)投票選出101個(gè)節(jié)點(diǎn)代行記賬權(quán)限,這些代表節(jié)點(diǎn)的權(quán)限完全一致。代表節(jié)點(diǎn)輪流記賬,可以選擇創(chuàng)造區(qū)塊或不創(chuàng)造區(qū)塊。但他們無(wú)法改變交易的詳情,惡意或者遲到的代表節(jié)點(diǎn)的行為也會(huì)被公之于眾,那么網(wǎng)絡(luò)可能將他們簡(jiǎn)單快速地投票驅(qū)逐出去。被驅(qū)逐出去的代表節(jié)點(diǎn)將會(huì)失去他們記賬權(quán)限,以及對(duì)應(yīng)的收入。

DPOS作為是一種弱中心化的共識(shí)機(jī)制,保留了一些中心化系統(tǒng)的關(guān)鍵優(yōu)勢(shì),如交易速度等(每個(gè)塊的時(shí)間為10秒,一筆交易在得到6-10個(gè)確認(rèn)后大概1分鐘,一個(gè)完整的101個(gè)塊的周期大概僅僅需要16分鐘),但每個(gè)持幣者都有能力決定哪些節(jié)點(diǎn)可以被信任,并且事實(shí)上,代表節(jié)點(diǎn)會(huì)主動(dòng)降低自己的收入來(lái)贏得更多投票,剩下的收入會(huì)作為股息,支付給所有的比特股持有人。DPOS有點(diǎn)類似于代議制民主及股份公司董事會(huì)制度,都是一種精英制度,但其身份受制于下面的民眾,在DPOS中,幣的持有者至少有權(quán)決定代表節(jié)點(diǎn)—或者說(shuō)礦工的身份。

3、什么是pos算法和pos機(jī)制

pos是公鏈中的共識(shí)算法,作為pow的一種替換。pow是保證比特幣,當(dāng)前以太坊和許多區(qū)塊鏈安全的一種機(jī)制,但是pow算法在挖礦過(guò)程中,因?yàn)槠茐沫h(huán)境和浪費(fèi)電而受到指責(zé),pos試圖通過(guò)一種不同的機(jī)制取代挖礦的概念,從而解決這些問(wèn)題。

ps機(jī)制可以被描述成一種虛擬挖礦,鑒于pow主要依賴于計(jì)算硬件的稀缺性,來(lái)防止女巫攻擊。在pow中,一個(gè)用戶有可能用一千美元來(lái)買計(jì)算機(jī),加入網(wǎng)絡(luò)來(lái)挖礦,產(chǎn)生新區(qū)塊,從而得到獎(jiǎng)勵(lì)。在pos中,用戶可以拿到一千美元,買到等值的代幣,把這些代幣當(dāng)做押金放在pos機(jī)制之中,只要用戶就有機(jī)會(huì)產(chǎn)生,這樣用戶可以得到獎(jiǎng)勵(lì)。

pos算法如下,存在一個(gè)持幣人的集合,他們把手中的代幣放入pos機(jī)制中,這樣他們就變成驗(yàn)證者。

4、區(qū)塊鏈常見(jiàn)的三大共識(shí)機(jī)制

區(qū)塊鏈?zhǔn)墙⒃赑2P網(wǎng)絡(luò),由節(jié)點(diǎn)參與的分布式賬本系統(tǒng),最大的特點(diǎn)是“去中心化”。也就是說(shuō)在區(qū)塊鏈系統(tǒng)中,用戶與用戶之間、用戶與機(jī)構(gòu)之間、機(jī)構(gòu)與機(jī)構(gòu)之間,無(wú)需建立彼此之間的信任,只需依靠區(qū)塊鏈協(xié)議系統(tǒng)就能實(shí)現(xiàn)交易。

可是,要如何保證賬本的準(zhǔn)確性,權(quán)威性,以及可靠性?區(qū)塊鏈網(wǎng)絡(luò)上的節(jié)點(diǎn)為什么要參與記賬?節(jié)點(diǎn)如果造假怎么辦?如何防止賬本被篡改?如何保證節(jié)點(diǎn)間的數(shù)據(jù)一致性?……這些都是區(qū)塊鏈在建立“去中心化”交易時(shí)需要解決的問(wèn)題,由此產(chǎn)生了共識(shí)機(jī)制。

所謂“共識(shí)機(jī)制”,就是通過(guò)特殊節(jié)點(diǎn)的投票,在很短的時(shí)間內(nèi)完成對(duì)交易的驗(yàn)證和確認(rèn);當(dāng)出現(xiàn)意見(jiàn)不一致時(shí),在沒(méi)有中心控制的情況下,若干個(gè)節(jié)點(diǎn)參與決策達(dá)成共識(shí),即在互相沒(méi)有信任基礎(chǔ)的個(gè)體之間如何建立信任關(guān)系。

區(qū)塊鏈技術(shù)正是運(yùn)用一套基于共識(shí)的數(shù)學(xué)算法,在機(jī)器之間建立“信任”網(wǎng)絡(luò),從而通過(guò)技術(shù)背書而非中心化信用機(jī)構(gòu)來(lái)進(jìn)行全新的信用創(chuàng)造。

不同的區(qū)塊鏈種類需要不同的共識(shí)算法來(lái)確保區(qū)塊鏈上最后的區(qū)塊能夠在任何時(shí)候都反應(yīng)出全網(wǎng)的狀態(tài)。

目前為止,區(qū)塊鏈共識(shí)機(jī)制主要有以下幾種:POW工作量證明、POS股權(quán)證明、DPOS授權(quán)股權(quán)證明、Paxos、PBFT(實(shí)用拜占庭容錯(cuò)算法)、dBFT、DAG(有向無(wú)環(huán)圖)

接下來(lái)我們主要說(shuō)說(shuō)常見(jiàn)的POW、POS、DPOS共識(shí)機(jī)制的原理及應(yīng)用場(chǎng)景

概念:

工作量證明機(jī)制(Proof of work ),最早是一個(gè)經(jīng)濟(jì)學(xué)名詞,指系統(tǒng)為達(dá)到某一目標(biāo)而設(shè)置的度量方法。簡(jiǎn)單理解就是一份證明,用來(lái)確認(rèn)你做過(guò)一定量的工作,通過(guò)對(duì)工作的結(jié)果進(jìn)行認(rèn)證來(lái)證明完成了相應(yīng)的工作量。

工作量證明機(jī)制具有完全去中心化的優(yōu)點(diǎn),在以工作量證明機(jī)制為共識(shí)的區(qū)塊鏈中,節(jié)點(diǎn)可以自由進(jìn)出,并通過(guò)計(jì)算隨機(jī)哈希散列的數(shù)值解爭(zhēng)奪記賬權(quán),求得正確的數(shù)值解以生成區(qū)塊的能力是節(jié)點(diǎn)算力的具體表現(xiàn)。

應(yīng)用:

POW最著名的應(yīng)用當(dāng)屬比特幣。在比特幣網(wǎng)絡(luò)中,在Block的生成過(guò)程中,礦工需要解決復(fù)雜的密碼數(shù)學(xué)難題,尋找到一個(gè)符合要求的Block Hash由N個(gè)前導(dǎo)零構(gòu)成,零的個(gè)數(shù)取決于網(wǎng)絡(luò)的難度值。這期間需要經(jīng)過(guò)大量嘗試計(jì)算(工作量),計(jì)算時(shí)間取決于機(jī)器的哈希運(yùn)算速度。

而尋找合理hash是一個(gè)概率事件,當(dāng)節(jié)點(diǎn)擁有占全網(wǎng)n%的算力時(shí),該節(jié)點(diǎn)即有n/100的概率找到Block Hash。在節(jié)點(diǎn)成功找到滿足的Hash值之后,會(huì)馬上對(duì)全網(wǎng)進(jìn)行廣播打包區(qū)塊,網(wǎng)絡(luò)的節(jié)點(diǎn)收到廣播打包區(qū)塊,會(huì)立刻對(duì)其進(jìn)行驗(yàn)證。

如果驗(yàn)證通過(guò),則表明已經(jīng)有節(jié)點(diǎn)成功解迷,自己就不再競(jìng)爭(zhēng)當(dāng)前區(qū)塊,而是選擇接受這個(gè)區(qū)塊,記錄到自己的賬本中,然后進(jìn)行下一個(gè)區(qū)塊的競(jìng)爭(zhēng)猜謎。網(wǎng)絡(luò)中只有最快解謎的區(qū)塊,才會(huì)添加的賬本中,其他的節(jié)點(diǎn)進(jìn)行復(fù)制,以此保證了整個(gè)賬本的唯一性。

假如節(jié)點(diǎn)有任何的作弊行為,都會(huì)導(dǎo)致網(wǎng)絡(luò)的節(jié)點(diǎn)驗(yàn)證不通過(guò),直接丟棄其打包的區(qū)塊,這個(gè)區(qū)塊就無(wú)法記錄到總賬本中,作弊的節(jié)點(diǎn)耗費(fèi)的成本就白費(fèi)了,因此在巨大的挖礦成本下,也使得礦工自覺(jué)自愿的遵守比特幣系統(tǒng)的共識(shí)協(xié)議,也就確保了整個(gè)系統(tǒng)的安全。

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):結(jié)果能被快速驗(yàn)證,系統(tǒng)承擔(dān)的節(jié)點(diǎn)量大,作惡成本高進(jìn)而保證礦工的自覺(jué)遵守性。

缺點(diǎn):需要消耗大量的算法,達(dá)成共識(shí)的周期較長(zhǎng)

概念:

權(quán)益證明機(jī)制(Proof of Stake),要求證明人提供一定數(shù)量加密貨幣的所有權(quán)。

權(quán)益證明機(jī)制的運(yùn)作方式是,當(dāng)創(chuàng)造一個(gè)新區(qū)塊時(shí),礦工需要?jiǎng)?chuàng)建一個(gè)“幣權(quán)”交易,交易會(huì)按照預(yù)先設(shè)定的比例把一些幣發(fā)送給礦工本身。權(quán)益證明機(jī)制根據(jù)每個(gè)節(jié)點(diǎn)擁有代幣的比例和時(shí)間,依據(jù)算法等比例地降低節(jié)點(diǎn)的挖礦難度,從而加快了尋找隨機(jī)數(shù)的速度。

應(yīng)用:

2012年,化名Sunny King的網(wǎng)友推出了Peercoin(點(diǎn)點(diǎn)幣),是權(quán)益證明機(jī)制在加密電子貨幣中的首次應(yīng)用。PPC最大創(chuàng)新是其采礦方式混合了POW及POS兩種方式,采用工作量證明機(jī)制發(fā)行新幣,采用權(quán)益證明機(jī)制維護(hù)網(wǎng)絡(luò)安全。

為了實(shí)現(xiàn)POS,Sunny King借鑒于中本聰?shù)腃oinbase,專門設(shè)計(jì)了一種特殊類型交易,叫Coinstake。

上圖為Coinstake工作原理,其中幣齡指的是貨幣的持有時(shí)間段,假如你擁有10個(gè)幣,并且持有10天,那你就收集到了100天的幣齡。如果你使用了這10個(gè)幣,幣齡被消耗(銷毀)了。

優(yōu)缺點(diǎn):

優(yōu)點(diǎn):縮短達(dá)成共識(shí)所需的時(shí)間,比工作量證明更加節(jié)約能源。

缺點(diǎn):本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行挖礦運(yùn)算,轉(zhuǎn)賬真實(shí)性較難保證

概念:

授權(quán)股權(quán)證明機(jī)制(Delegated Proof of Stake),與董事會(huì)投票類似,該機(jī)制擁有一個(gè)內(nèi)置的實(shí)時(shí)股權(quán)人投票系統(tǒng),就像系統(tǒng)隨時(shí)都在召開(kāi)一個(gè)永不散場(chǎng)的股東大會(huì),所有股東都在這里投票決定公司決策。

授權(quán)股權(quán)證明在嘗試解決傳統(tǒng)的PoW機(jī)制和PoS機(jī)制問(wèn)題的同時(shí),還能通過(guò)實(shí)施科技式的民主抵消中心化所帶來(lái)的負(fù)面效應(yīng)?;贒PoS機(jī)制建立的區(qū)塊鏈的去中心化依賴于一定數(shù)量的代表,而非全體用戶。在這樣的區(qū)塊鏈中,全體節(jié)點(diǎn)投票選舉出一定數(shù)量的節(jié)點(diǎn)代表,由他們來(lái)代理全體節(jié)點(diǎn)確認(rèn)區(qū)塊、維持系統(tǒng)有序運(yùn)行。

同時(shí),區(qū)塊鏈中的全體節(jié)點(diǎn)具有隨時(shí)罷免和任命代表的權(quán)力。如果必要,全體節(jié)點(diǎn)可以通過(guò)投票讓現(xiàn)任節(jié)點(diǎn)代表失去代表資格,重新選舉新的代表,實(shí)現(xiàn)實(shí)時(shí)的民主。

應(yīng)用:

比特股(Bitshare)是一類采用DPOS機(jī)制的密碼貨幣。通過(guò)引入了見(jiàn)證人這個(gè)概念,見(jiàn)證人可以生成區(qū)塊,每一個(gè)持有比特股的人都可以投票選舉見(jiàn)證人。得到總同意票數(shù)中的前N個(gè)(N通常定義為101)候選者可以當(dāng)選為見(jiàn)證人,當(dāng)選見(jiàn)證人的個(gè)數(shù)(N)需滿足:至少一半的參與投票者相信N已經(jīng)充分地去中心化。

見(jiàn)證人的候選名單每個(gè)維護(hù)周期(1天)更新一次。見(jiàn)證人然后隨機(jī)排列,每個(gè)見(jiàn)證人按序有2秒的權(quán)限時(shí)間生成區(qū)塊,若見(jiàn)證人在給定的時(shí)間片不能生成區(qū)塊,區(qū)塊生成權(quán)限交給下一個(gè)時(shí)間片對(duì)應(yīng)的見(jiàn)證人。DPoS的這種設(shè)計(jì)使得區(qū)塊的生成更為快速,也更加節(jié)能。

DPOS充分利用了持股人的投票,以公平民主的方式達(dá)成共識(shí),他們投票選出的N個(gè)見(jiàn)證人,可以視為N個(gè)礦池,而這N個(gè)礦池彼此的權(quán)利是完全相等的。持股人可以隨時(shí)通過(guò)投票更換這些見(jiàn)證人(礦池),只要他們提供的算力不穩(wěn)定,計(jì)算機(jī)宕機(jī),或者試圖利用手中的權(quán)力作惡。

優(yōu)缺點(diǎn):

優(yōu)點(diǎn):縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,從而達(dá)到秒級(jí)的共識(shí)驗(yàn)證

缺點(diǎn):中心程度較弱,安全性相比POW較弱,同時(shí)節(jié)點(diǎn)代理是人為選出的,公平性相比POS較低,同時(shí)整個(gè)共識(shí)機(jī)制還是依賴于代幣的增發(fā)來(lái)維持代理節(jié)點(diǎn)的穩(wěn)定性。

5、區(qū)塊鏈的共識(shí)機(jī)制

一、區(qū)塊鏈共識(shí)機(jī)制的目標(biāo)

區(qū)塊鏈?zhǔn)鞘裁???jiǎn)單而言,區(qū)塊鏈?zhǔn)且环N去中心化的數(shù)據(jù)庫(kù),或可以叫作分布式賬本(distributed ledger)。傳統(tǒng)上所有的數(shù)據(jù)庫(kù)都是中心化的,例如一間銀行的賬本就儲(chǔ)存在銀行的中心服務(wù)器里。中心化數(shù)據(jù)庫(kù)的弊端是數(shù)據(jù)的安全及正確性全系于數(shù)據(jù)庫(kù)運(yùn)營(yíng)方(即銀行),因?yàn)槿魏文軌蛟L問(wèn)中心化數(shù)據(jù)庫(kù)的人(如銀行職員或黑客)都可以破壞或修改其中的數(shù)據(jù)。


而區(qū)塊鏈技術(shù)則容許數(shù)據(jù)庫(kù)存放在全球成千上萬(wàn)的電腦上,每個(gè)人的賬本通過(guò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)進(jìn)行同步,網(wǎng)絡(luò)中任何用戶一旦增加一筆交易,交易信息將通過(guò)網(wǎng)絡(luò)通知其他用戶驗(yàn)證,記錄到各自的賬本中。區(qū)塊鏈之所以得其名是因?yàn)樗怯梢粋€(gè)個(gè)包含交易信息的區(qū)塊(block)從后向前有序鏈接起來(lái)的數(shù)據(jù)結(jié)構(gòu)。


很多人對(duì)區(qū)塊鏈的疑問(wèn)是,如果每一個(gè)用戶都擁有一個(gè)獨(dú)立的賬本,那么是否意味著可以在自己的賬本上添加任意的交易信息,而成千上萬(wàn)個(gè)賬本又如何保證記賬的一致性? 解決記賬一致性問(wèn)題正是區(qū)塊鏈共識(shí)機(jī)制的目標(biāo) 。區(qū)塊鏈共識(shí)機(jī)制旨在保證分布式系統(tǒng)里所有節(jié)點(diǎn)中的數(shù)據(jù)完全相同并且能夠?qū)δ硞€(gè)提案(proposal)(例如是一項(xiàng)交易紀(jì)錄)達(dá)成一致。然而分布式系統(tǒng)由于引入了多個(gè)節(jié)點(diǎn),所以系統(tǒng)中會(huì)出現(xiàn)各種非常復(fù)雜的情況;隨著節(jié)點(diǎn)數(shù)量的增加,節(jié)點(diǎn)失效或故障、節(jié)點(diǎn)之間的網(wǎng)絡(luò)通信受到干擾甚至阻斷等就變成了常見(jiàn)的問(wèn)題,解決分布式系統(tǒng)中的各種邊界條件和意外情況也增加了解決分布式一致性問(wèn)題的難度。


區(qū)塊鏈又可分為三種:


公有鏈:全世界任何人都可以隨時(shí)進(jìn)入系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認(rèn)交易、競(jìng)爭(zhēng)記賬的區(qū)塊鏈。公有鏈通常被認(rèn)為是“完全去中心化“的,因?yàn)闆](méi)有任何人或機(jī)構(gòu)可以控制或篡改其中數(shù)據(jù)的讀寫。公有鏈一般會(huì)通過(guò)代幣機(jī)制鼓勵(lì)參與者競(jìng)爭(zhēng)記賬,來(lái)確保數(shù)據(jù)的安全性。


聯(lián)盟鏈:聯(lián)盟鏈?zhǔn)侵赣腥舾蓚€(gè)機(jī)構(gòu)共同參與管理的區(qū)塊鏈。每個(gè)機(jī)構(gòu)都運(yùn)行著一個(gè)或多個(gè)節(jié)點(diǎn),其中的數(shù)據(jù)只允許系統(tǒng)內(nèi)不同的機(jī)構(gòu)進(jìn)行讀寫和發(fā)送交易,并且共同來(lái)記錄交易數(shù)據(jù)。這類區(qū)塊鏈被認(rèn)為是“部分去中心化”。


私有鏈:指其寫入權(quán)限是由某個(gè)組織和機(jī)構(gòu)控制的區(qū)塊鏈。參與節(jié)點(diǎn)的資格會(huì)被嚴(yán)格的限制,由于參與的節(jié)點(diǎn)是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護(hù)、更低的交易成本、不容易被惡意攻擊、并且能夠做到身份認(rèn)證等金融行業(yè)必須的要求。相比中心化數(shù)據(jù)庫(kù),私有鏈能夠防止機(jī)構(gòu)內(nèi)單節(jié)點(diǎn)故意隱瞞或篡改數(shù)據(jù)。即使發(fā)生錯(cuò)誤,也能夠迅速發(fā)現(xiàn)來(lái)源,因此許多大型金融機(jī)構(gòu)在目前更加傾向于使用私有鏈技術(shù)。

二、區(qū)塊鏈共識(shí)機(jī)制的分類

解決分布式一致性問(wèn)題的難度催生了數(shù)種共識(shí)機(jī)制,它們各有其優(yōu)缺點(diǎn),亦適用于不同的環(huán)境及問(wèn)題。被眾人常識(shí)的共識(shí)機(jī)制有:


l PoW(Proof of Work)工作量證明機(jī)制

l PoS(Proof of Stake)股權(quán)/權(quán)益證明機(jī)制

l DPoS(Delegated Proof of Stake)股份授權(quán)證明機(jī)制

l PBFT(Practical Byzantine Fault Tolerance)實(shí)用拜占庭容錯(cuò)算法

l DBFT(Delegated Byzantine Fault Tolerance)授權(quán)拜占庭容錯(cuò)算法

l SCP (Stellar Consensus Protocol ) 恒星共識(shí)協(xié)議

l RPCA(Ripple Protocol Consensus Algorithm)Ripple共識(shí)算法

l Pool驗(yàn)證池共識(shí)機(jī)制


(一)PoW(Proof of Work)工作量證明機(jī)制


1. 基本介紹


在該機(jī)制中,網(wǎng)絡(luò)上的每一個(gè)節(jié)點(diǎn)都在使用SHA256哈希函數(shù)(hash function) 運(yùn)算一個(gè)不斷變化的區(qū)塊頭的哈希值 (hash sum)。 共識(shí)要求算出的值必須等于或小于某個(gè)給定的值。 在分布式網(wǎng)絡(luò)中,所有的參與者都需要使用不同的隨機(jī)數(shù)來(lái)持續(xù)計(jì)算該哈希值,直至達(dá)到目標(biāo)為止。當(dāng)一個(gè)節(jié)點(diǎn)的算出確切的值,其他所有的節(jié)點(diǎn)必須相互確認(rèn)該值的正確性。之后新區(qū)塊中的交易將被驗(yàn)證以防欺詐。


在比特幣中,以上運(yùn)算哈希值的節(jié)點(diǎn)被稱作“礦工”,而PoW的過(guò)程被稱為“挖礦”。挖礦是一個(gè)耗時(shí)的過(guò)程,所以也提出了相應(yīng)的激勵(lì)機(jī)制(例如向礦工授予一小部分比特幣)。PoW的優(yōu)點(diǎn)是完全的去中心化,其缺點(diǎn)是消耗大量算力造成了的資源浪費(fèi),達(dá)成共識(shí)的周期也比較長(zhǎng),共識(shí)效率低下,因此其不是很適合商業(yè)使用。



2. 加密貨幣的應(yīng)用實(shí)例


比特幣(Bitcoin) 及萊特幣(Litecoin)。以太坊(Ethereum) 的前三個(gè)階段(Frontier前沿、Homestead家園、Metropolis大都會(huì))皆采用PoW機(jī)制,其第四個(gè)階段 (Serenity寧?kù)o) 將采用權(quán)益證明機(jī)制。PoW適用于公有鏈。


PoW機(jī)制雖然已經(jīng)成功證明了其長(zhǎng)期穩(wěn)定和相對(duì)公平,但在現(xiàn)有框架下,采用PoW的“挖礦”形式,將消耗大量的能源。其消耗的能源只是不停的去做SHA256的運(yùn)算來(lái)保證工作量公平,并沒(méi)有其他的存在意義。而目前BTC所能達(dá)到的交易效率為約5TPS(5筆/秒),以太坊目前受到單區(qū)塊GAS總額的上限,所能達(dá)到的交易頻率大約是25TPS,與平均千次每秒、峰值能達(dá)到萬(wàn)次每秒處理效率的VISA和MASTERCARD相差甚遠(yuǎn)。


3. 簡(jiǎn)圖理解模式



(ps:其中A、B、C、D計(jì)算哈希值的過(guò)程即為“挖礦”,為了犒勞時(shí)間成本的付出,機(jī)制會(huì)以一定數(shù)量的比特幣作為激勵(lì)。)


(Ps:PoS模式下,你的“挖礦”收益正比于你的幣齡(幣的數(shù)量*天數(shù)),而與電腦的計(jì)算性能無(wú)關(guān)。我們可以認(rèn)為任何具有概率性事件的累計(jì)都是工作量證明,如淘金。假設(shè)礦石含金量為p% 質(zhì)量, 當(dāng)你得到一定量黃金時(shí),我們可以認(rèn)為你一定挖掘了1/p 質(zhì)量的礦石。而且得到的黃金數(shù)量越多,這個(gè)證明越可靠。)


(二)PoS(Proof of Stake)股權(quán)/權(quán)益證明機(jī)制


1.基本介紹


PoS要求人們證明貨幣數(shù)量的所有權(quán),其相信擁有貨幣數(shù)量多的人攻擊網(wǎng)絡(luò)的可能性低?;谫~戶余額的選擇是非常不公平的,因?yàn)閱我蛔罡挥械娜藙?shì)必在網(wǎng)絡(luò)中占主導(dǎo)地位,所以提出了許多解決方案。


在股權(quán)證明機(jī)制中,每當(dāng)創(chuàng)建一個(gè)區(qū)塊時(shí),礦工需要?jiǎng)?chuàng)建一個(gè)稱為“幣權(quán)”的交易,這個(gè)交易會(huì)按照一定比例預(yù)先將一些幣發(fā)給礦工。然后股權(quán)證明機(jī)制根據(jù)每個(gè)節(jié)點(diǎn)持有代幣的比例和時(shí)間(幣齡), 依據(jù)算法等比例地降低節(jié)點(diǎn)的挖礦難度,以加快節(jié)點(diǎn)尋找隨機(jī)數(shù)的速度,縮短達(dá)成共識(shí)所需的時(shí)間。


與PoW相比,PoS可以節(jié)省更多的能源,更有效率。但是由于挖礦成本接近于0,因此可能會(huì)遭受攻擊。且PoS在本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行挖礦運(yùn)算,所以它同樣難以應(yīng)用于商業(yè)領(lǐng)域。



2.數(shù)字貨幣的應(yīng)用實(shí)例


PoS機(jī)制下較為成熟的數(shù)字貨幣是點(diǎn)點(diǎn)幣(Peercoin)和未來(lái)幣(NXT),相比于PoW,PoS機(jī)制節(jié)省了能源,引入了" 幣天 "這個(gè)概念來(lái)參與隨機(jī)運(yùn)算。PoS機(jī)制能夠讓更多的持幣人參與到記賬這個(gè)工作中去,而不需要額外購(gòu)買設(shè)備(礦機(jī)、顯卡等)。每個(gè)單位代幣的運(yùn)算能力與其持有的時(shí)間長(zhǎng)成正相關(guān),即持有人持有的代幣數(shù)量越多、時(shí)間越長(zhǎng),其所能簽署、生產(chǎn)下一個(gè)區(qū)塊的概率越大。一旦其簽署了下一個(gè)區(qū)塊,持幣人持有的幣天即清零,重新進(jìn)入新的循環(huán)。


PoS適用于公有鏈。


3.區(qū)塊簽署人的產(chǎn)生方式


在PoS機(jī)制下,因?yàn)閰^(qū)塊的簽署人由隨機(jī)產(chǎn)生,則一些持幣人會(huì)長(zhǎng)期、大額持有代幣以獲得更大概率地產(chǎn)生區(qū)塊,盡可能多的去清零他的"幣天"。因此整個(gè)網(wǎng)絡(luò)中的流通代幣會(huì)減少,從而不利于代幣在鏈上的流通,價(jià)格也更容易受到波動(dòng)。由于可能會(huì)存在少量大戶持有整個(gè)網(wǎng)絡(luò)中大多數(shù)代幣的情況,整個(gè)網(wǎng)絡(luò)有可能會(huì)隨著運(yùn)行時(shí)間的增長(zhǎng)而越來(lái)越趨向于中心化。相對(duì)于PoW而言,PoS機(jī)制下作惡的成本很低,因此對(duì)于分叉或是雙重支付的攻擊,需要更多的機(jī)制來(lái)保證共識(shí)。穩(wěn)定情況下,每秒大約能產(chǎn)生12筆交易,但因?yàn)榫W(wǎng)絡(luò)延遲及共識(shí)問(wèn)題,需要約60秒才能完整廣播共識(shí)區(qū)塊。長(zhǎng)期來(lái)看,生成區(qū)塊(即清零"幣天")的速度遠(yuǎn)低于網(wǎng)絡(luò)傳播和廣播的速度,因此在PoS機(jī)制下需要對(duì)生成區(qū)塊進(jìn)行"限速",來(lái)保證主網(wǎng)的穩(wěn)定運(yùn)行。


4.簡(jiǎn)圖理解模式




(PS:擁有越多“股份”權(quán)益的人越容易獲取賬權(quán)。是指獲得多少貨幣,取決于你挖礦貢獻(xiàn)的工作量,電腦性能越好,分給你的礦就會(huì)越多。)


(在純POS體系中,如NXT,沒(méi)有挖礦過(guò)程,初始的股權(quán)分配已經(jīng)固定,之后只是股權(quán)在交易者之中流轉(zhuǎn),非常類似于現(xiàn)實(shí)世界的股票。)


(三)DPoS(Delegated Proof of Stake)股份授權(quán)證明機(jī)制


1.基本介紹


由于PoS的種種弊端,由此比特股首創(chuàng)的權(quán)益代表證明機(jī)制 DPoS(Delegated Proof of Stake)應(yīng)運(yùn)而生。DPoS 機(jī)制中的核心的要素是選舉,每個(gè)系統(tǒng)原生代幣的持有者在區(qū)塊鏈里面都可以參與選舉,所持有的代幣余額即為投票權(quán)重。通過(guò)投票,股東可以選舉出理事會(huì)成員,也可以就關(guān)系平臺(tái)發(fā)展方向的議題表明態(tài)度,這一切構(gòu)成了社區(qū)自治的基礎(chǔ)。股東除了自己投票參與選舉外,還可以通過(guò)將自己的選舉票數(shù)授權(quán)給自己信任的其它賬戶來(lái)代表自己投票。


具體來(lái)說(shuō), DPoS由比特股(Bitshares)項(xiàng)目組發(fā)明。股權(quán)擁有著選舉他們的代表來(lái)進(jìn)行區(qū)塊的生成和驗(yàn)證。DPoS類似于現(xiàn)代企業(yè)董事會(huì)制度,比特股系統(tǒng)將代幣持有者稱為股東,由股東投票選出101名代表, 然后由這些代表負(fù)責(zé)生成和驗(yàn)證區(qū)塊。 持幣者若想稱為一名代表,需先用自己的公鑰去區(qū)塊鏈注冊(cè),獲得一個(gè)長(zhǎng)度為32位的特有身份標(biāo)識(shí)符,股東可以對(duì)這個(gè)標(biāo)識(shí)符以交易的形式進(jìn)行投票,得票數(shù)前101位被選為代表。

代表們輪流產(chǎn)生區(qū)塊,收益(交易手續(xù)費(fèi))平分。DPoS的優(yōu)點(diǎn)在于大幅減少了參與區(qū)塊驗(yàn)證和記賬的節(jié)點(diǎn)數(shù)量,從而縮短了共識(shí)驗(yàn)證所需要的時(shí)間,大幅提高了交易效率。從某種角度來(lái)說(shuō),DPoS可以理解為多中心系統(tǒng),兼具去中心化和中心化優(yōu)勢(shì)。優(yōu)點(diǎn):大幅縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,可以達(dá)到秒級(jí)的共識(shí)驗(yàn)證。缺點(diǎn):投票積極性不高,絕大部分代幣持有者未參與投票;另整個(gè)共識(shí)機(jī)制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的。


DPoS機(jī)制要求在產(chǎn)生下一個(gè)區(qū)塊之前,必須驗(yàn)證上一個(gè)區(qū)塊已經(jīng)被受信任節(jié)點(diǎn)所簽署。相比于PoS的" 全民挖礦 ",DPoS則是利用類似" 代表大會(huì) "的制度來(lái)直接選取可信任節(jié)點(diǎn),由這些可信任節(jié)點(diǎn)(即見(jiàn)證人)來(lái)代替其他持幣人行使權(quán)力,見(jiàn)證人節(jié)點(diǎn)要求長(zhǎng)期在線,從而解決了因?yàn)镻oS簽署區(qū)塊人不是經(jīng)常在線而可能導(dǎo)致的產(chǎn)塊延誤等一系列問(wèn)題。 DPoS機(jī)制通常能達(dá)到萬(wàn)次每秒的交易速度,在網(wǎng)絡(luò)延遲低的情況下可以達(dá)到十萬(wàn)秒級(jí)別,非常適合企業(yè)級(jí)的應(yīng)用。 因?yàn)楣艑殧?shù)據(jù)交易所對(duì)于數(shù)據(jù)交易頻率要求高,更要求長(zhǎng)期穩(wěn)定性,因此DPoS是非常不錯(cuò)的選擇。



2. 股份授權(quán)證明機(jī)制下的機(jī)構(gòu)與系統(tǒng)


理事會(huì)是區(qū)塊鏈網(wǎng)絡(luò)的權(quán)力機(jī)構(gòu),理事會(huì)的人選由系統(tǒng)股東(即持幣人)選舉產(chǎn)生,理事會(huì)成員有權(quán)發(fā)起議案和對(duì)議案進(jìn)行投票表決。


理事會(huì)的重要職責(zé)之一是根據(jù)需要調(diào)整系統(tǒng)的可變參數(shù),這些參數(shù)包括:


l 費(fèi)用相關(guān):各種交易類型的費(fèi)率。

l 授權(quán)相關(guān):對(duì)接入網(wǎng)絡(luò)的第三方平臺(tái)收費(fèi)及補(bǔ)貼相關(guān)參數(shù)。

l 區(qū)塊生產(chǎn)相關(guān):區(qū)塊生產(chǎn)間隔時(shí)間,區(qū)塊獎(jiǎng)勵(lì)。

l 身份審核相關(guān):審核驗(yàn)證異常機(jī)構(gòu)賬戶的信息情況。

l 同時(shí),關(guān)系到理事會(huì)利益的事項(xiàng)將不通過(guò)理事會(huì)設(shè)定。


在Finchain系統(tǒng)中,見(jiàn)證人負(fù)責(zé)收集網(wǎng)絡(luò)運(yùn)行時(shí)廣播出來(lái)的各種交易并打包到區(qū)塊中,其工作類似于比特幣網(wǎng)絡(luò)中的礦工,在采用 PoW(工作量證明)的比特幣網(wǎng)絡(luò)中,由一種獲獎(jiǎng)概率取決于哈希算力的抽彩票方式來(lái)決定哪個(gè)礦工節(jié)點(diǎn)產(chǎn)生下一個(gè)區(qū)塊。而在采用 DPoS 機(jī)制的金融鏈網(wǎng)絡(luò)中,通過(guò)理事會(huì)投票決定見(jiàn)證人的數(shù)量,由持幣人投票來(lái)決定見(jiàn)證人人選。入選的活躍見(jiàn)證人按順序打包交易并生產(chǎn)區(qū)塊,在每一輪區(qū)塊生產(chǎn)之后,見(jiàn)證人會(huì)在隨機(jī)洗牌決定新的順序后進(jìn)入下一輪的區(qū)塊生產(chǎn)。


3. DPoS的應(yīng)用實(shí)例


比特股(bitshares) 采用DPoS。DPoS主要適用于聯(lián)盟鏈。


4.簡(jiǎn)圖理解模式





(四)PBFT(Practical Byzantine Fault Tolerance)實(shí)用拜占庭容錯(cuò)算法


1. 基本介紹


PBFT是一種基于嚴(yán)格數(shù)學(xué)證明的算法,需要經(jīng)過(guò)三個(gè)階段的信息交互和局部共識(shí)來(lái)達(dá)成最終的一致輸出。三個(gè)階段分別為預(yù)備 (pre-prepare)、準(zhǔn)備 (prepare)、落實(shí) (commit)。PBFT算法證明系統(tǒng)中只要有2/3比例以上的正常節(jié)點(diǎn),就能保證最終一定可以輸出一致的共識(shí)結(jié)果。換言之,在使用PBFT算法的系統(tǒng)中,至多可以容忍不超過(guò)系統(tǒng)全部節(jié)點(diǎn)數(shù)量1/3的失效節(jié)點(diǎn) (包括有意誤導(dǎo)、故意破壞系統(tǒng)、超時(shí)、重復(fù)發(fā)送消息、偽造簽名等的節(jié)點(diǎn),又稱為”拜占庭”節(jié)點(diǎn))。



2. PBFT的應(yīng)用實(shí)例


著名聯(lián)盟鏈Hyperledger Fabric v0.6采用的是PBFT,v1.0又推出PBFT的改進(jìn)版本SBFT。PBFT主要適用于私有鏈和聯(lián)盟鏈。


3. 簡(jiǎn)圖理解模式




上圖顯示了一個(gè)簡(jiǎn)化的PBFT的協(xié)議通信模式,其中C為客戶端,0 – 3表示服務(wù)節(jié)點(diǎn),其中0為主節(jié)點(diǎn),3為故障節(jié)點(diǎn)。整個(gè)協(xié)議的基本過(guò)程如下:


(1) 客戶端發(fā)送請(qǐng)求,激活主節(jié)點(diǎn)的服務(wù)操作;

(2) 當(dāng)主節(jié)點(diǎn)接收請(qǐng)求后,啟動(dòng)三階段的協(xié)議以向各從節(jié)點(diǎn)廣播請(qǐng)求;

(a) 序號(hào)分配階段,主節(jié)點(diǎn)給請(qǐng)求賦值一個(gè)序號(hào)n,廣播序號(hào)分配消息和客戶端的請(qǐng)求消息m,并將構(gòu)造pre-prepare消息給各從節(jié)點(diǎn);

(b) 交互階段,從節(jié)點(diǎn)接收pre-prepare消息,向其他服務(wù)節(jié)點(diǎn)廣播prepare消息;

(c) 序號(hào)確認(rèn)階段,各節(jié)點(diǎn)對(duì)視圖內(nèi)的請(qǐng)求和次序進(jìn)行驗(yàn)證后,廣播commit消息,執(zhí)行收到的客戶端的請(qǐng)求并給客戶端響應(yīng)。

(3) 客戶端等待來(lái)自不同節(jié)點(diǎn)的響應(yīng),若有m+1個(gè)響應(yīng)相同,則該響應(yīng)即為運(yùn)算的結(jié)果;



(五)DBFT(Delegated Byzantine Fault Tolerance)授權(quán)拜占庭容錯(cuò)算法


1. 基本介紹


DBFT建基于PBFT的基礎(chǔ)上,在這個(gè)機(jī)制當(dāng)中,存在兩種參與者,一種是專業(yè)記賬的“超級(jí)節(jié)點(diǎn)”,一種是系統(tǒng)當(dāng)中不參與記賬的普通用戶。普通用戶基于持有權(quán)益的比例來(lái)投票選出超級(jí)節(jié)點(diǎn),當(dāng)需要通過(guò)一項(xiàng)共識(shí)(記賬)時(shí),在這些超級(jí)節(jié)點(diǎn)中隨機(jī)推選出一名發(fā)言人擬定方案,然后由其他超級(jí)節(jié)點(diǎn)根據(jù)拜占庭容錯(cuò)算法(見(jiàn)上文),即少數(shù)服從多數(shù)的原則進(jìn)行表態(tài)。如果超過(guò)2/3的超級(jí)節(jié)點(diǎn)表示同意發(fā)言人方案,則共識(shí)達(dá)成。這個(gè)提案就成為最終發(fā)布的區(qū)塊,并且該區(qū)塊是不可逆的,所有里面的交易都是百分之百確認(rèn)的。如果在一定時(shí)間內(nèi)還未達(dá)成一致的提案,或者發(fā)現(xiàn)有非法交易的話,可以由其他超級(jí)節(jié)點(diǎn)重新發(fā)起提案,重復(fù)投票過(guò)程,直至達(dá)成共識(shí)。



2. DBFT的應(yīng)用實(shí)例


國(guó)內(nèi)加密貨幣及區(qū)塊鏈平臺(tái)NEO是 DBFT算法的研發(fā)者及采用者。


3. 簡(jiǎn)圖理解模式




假設(shè)系統(tǒng)中只有四個(gè)由普通用戶投票選出的超級(jí)節(jié)點(diǎn),當(dāng)需要通過(guò)一項(xiàng)共識(shí)時(shí),系統(tǒng)就會(huì)從代表中隨機(jī)選出一名發(fā)言人擬定方案。發(fā)言人會(huì)將擬好的方案交給每位代表,每位代表先判斷發(fā)言人的計(jì)算結(jié)果與它們自身紀(jì)錄的是否一致,再與其它代表商討驗(yàn)證計(jì)算結(jié)果是否正確。如果2/3的代表一致表示發(fā)言人方案的計(jì)算結(jié)果是正確的,那么方案就此通過(guò)。


如果只有不到2/3的代表達(dá)成共識(shí),將隨機(jī)選出一名新的發(fā)言人,再重復(fù)上述流程。這個(gè)體系旨在保護(hù)系統(tǒng)不受無(wú)法行使職能的領(lǐng)袖影響。


上圖假設(shè)全體節(jié)點(diǎn)都是誠(chéng)實(shí)的,達(dá)成100%共識(shí),將對(duì)方案A(區(qū)塊)進(jìn)行驗(yàn)證。



鑒于發(fā)言人是隨機(jī)選出的一名代表,因此他可能會(huì)不誠(chéng)實(shí)或出現(xiàn)故障。上圖假設(shè)發(fā)言人給3名代表中的2名發(fā)送了惡意信息(方案B),同時(shí)給1名代表發(fā)送了正確信息(方案A)。


在這種情況下該惡意信息(方案B)無(wú)法通過(guò)。中間與右邊的代表自身的計(jì)算結(jié)果與發(fā)言人發(fā)送的不一致,因此就不能驗(yàn)證發(fā)言人擬定的方案,導(dǎo)致2人拒絕通過(guò)方案。左邊的代表因接收了正確信息,與自身的計(jì)算結(jié)果相符,因此能確認(rèn)方案,繼而成功完成1次驗(yàn)證。但本方案仍無(wú)法通過(guò),因?yàn)椴蛔?/3的代表達(dá)成共識(shí)。接著將隨機(jī)選出一名新發(fā)言人,重新開(kāi)始共識(shí)流程。




上圖假設(shè)發(fā)言人是誠(chéng)實(shí)的,但其中1名代表出現(xiàn)了異常;右邊的代表向其他代表發(fā)送了不正確的信息(B)。


在這種情況下發(fā)言人擬定的正確信息(A)依然可以獲得驗(yàn)證,因?yàn)樽筮吪c中間誠(chéng)實(shí)的代表都可以驗(yàn)證由誠(chéng)實(shí)的發(fā)言人擬定的方案,達(dá)成2/3的共識(shí)。代表也可以判斷到底是發(fā)言人向右邊的節(jié)點(diǎn)說(shuō)謊還是右邊的節(jié)點(diǎn)不誠(chéng)實(shí)。


(六)SCP (Stellar Consensus Protocol ) 恒星共識(shí)協(xié)議


1. 基本介紹


SCP 是 Stellar (一種基于互聯(lián)網(wǎng)的去中心化全球支付協(xié)議) 研發(fā)及使用的共識(shí)算法,其建基于聯(lián)邦拜占庭協(xié)議 (Federated Byzantine Agreement) 。傳統(tǒng)的非聯(lián)邦拜占庭協(xié)議(如上文的PBFT和DBFT)雖然確??梢酝ㄟ^(guò)分布式的方法達(dá)成共識(shí),并達(dá)到拜占庭容錯(cuò) (至多可以容忍不超過(guò)系統(tǒng)全部節(jié)點(diǎn)數(shù)量1/3的失效節(jié)點(diǎn)),它是一個(gè)中心化的系統(tǒng) — 網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)量和身份必須提前知曉且驗(yàn)證過(guò)。而聯(lián)邦拜占庭協(xié)議的不同之處在于它能夠去中心化的同時(shí),又可以做到拜占庭容錯(cuò)。


[…]


(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共識(shí)算法


1. 基本介紹


RPCA是Ripple(一種基于互聯(lián)網(wǎng)的開(kāi)源支付協(xié)議,可以實(shí)現(xiàn)去中心化的貨幣兌換、支付與清算功能)研發(fā)及使用的共識(shí)算法。在 Ripple 的網(wǎng)絡(luò)中,交易由客戶端(應(yīng)用)發(fā)起,經(jīng)過(guò)追蹤節(jié)點(diǎn)(tracking node)或驗(yàn)證節(jié)點(diǎn)(validating node)把交易廣播到整個(gè)網(wǎng)絡(luò)中。追蹤節(jié)點(diǎn)的主要功能是分發(fā)交易信息以及響應(yīng)客戶端的賬本請(qǐng)求。驗(yàn)證節(jié)點(diǎn)除包含追蹤節(jié)點(diǎn)的所有功能外,還能夠通過(guò)共識(shí)協(xié)議,在賬本中增加新的賬本實(shí)例數(shù)據(jù)。


Ripple 的共識(shí)達(dá)成發(fā)生在驗(yàn)證節(jié)點(diǎn)之間,每個(gè)驗(yàn)證節(jié)點(diǎn)都預(yù)先配置了一份可信任節(jié)點(diǎn)名單,稱為 UNL(Unique Node List)。在名單上的節(jié)點(diǎn)可對(duì)交易達(dá)成進(jìn)行投票。共識(shí)過(guò)程如下:


(1) 每個(gè)驗(yàn)證節(jié)點(diǎn)會(huì)不斷收到從網(wǎng)絡(luò)發(fā)送過(guò)來(lái)的交易,通過(guò)與本地賬本數(shù)據(jù)驗(yàn)證后,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidate set)。交易候選集里面還包括之前共識(shí)過(guò)程無(wú)法確認(rèn)而遺留下來(lái)的交易。

(2) 每個(gè)驗(yàn)證節(jié)點(diǎn)把自己的交易候選集作為提案發(fā)送給其他驗(yàn)證節(jié)點(diǎn)。

(3) 驗(yàn)證節(jié)點(diǎn)在收到其他節(jié)點(diǎn)發(fā)來(lái)的提案后,如果不是來(lái)自UNL上的節(jié)點(diǎn),則忽略該提案;如果是來(lái)自UNL上的節(jié)點(diǎn),就會(huì)對(duì)比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時(shí)間內(nèi),當(dāng)交易獲得超過(guò)50%的票數(shù)時(shí),則該交易進(jìn)入下一輪。沒(méi)有超過(guò)50%的交易,將留待下一次共識(shí)過(guò)程去確認(rèn)。

(4) 驗(yàn)證節(jié)點(diǎn)把超過(guò)50%票數(shù)的交易作為提案發(fā)給其他節(jié)點(diǎn),同時(shí)提高所需票數(shù)的閾值到60%,重復(fù)步驟(3)、步驟(4),直到閾值達(dá)到80%。

(5) 驗(yàn)證節(jié)點(diǎn)把經(jīng)過(guò)80%UNL節(jié)點(diǎn)確認(rèn)的交易正式寫入本地的賬本數(shù)據(jù)中,稱為最后關(guān)閉賬本(last closed ledger),即賬本最后(最新)的狀態(tài)。


在Ripple的共識(shí)算法中,參與投票節(jié)點(diǎn)的身份是事先知道的,因此,算法的效率比PoW等匿名共識(shí)算法要高效,交易的確認(rèn)時(shí)間只需幾秒鐘。這點(diǎn)也決定了該共識(shí)算法只適合于聯(lián)盟鏈或私有鏈。Ripple共識(shí)算法的拜占庭容錯(cuò)(BFT)能力為(n-1)/5,即可以容忍整個(gè)網(wǎng)絡(luò)中20%的節(jié)點(diǎn)出現(xiàn)拜占庭錯(cuò)誤而不影響正確的共識(shí)。



2. 簡(jiǎn)圖理解模式


共識(shí)過(guò)程節(jié)點(diǎn)交互示意圖:



共識(shí)算法流程:



(八)POOL驗(yàn)證池共識(shí)機(jī)制


Pool驗(yàn)證池共識(shí)機(jī)制是基于傳統(tǒng)的分布式一致性算法(Paxos和Raft)的基礎(chǔ)上開(kāi)發(fā)的機(jī)制。Paxos算法是1990年提出的一種基于消息傳遞且具有高度容錯(cuò)特性的一致性算法。過(guò)去, Paxos一直是分布式協(xié)議的標(biāo)準(zhǔn),但是Paxos難于理解,更難以實(shí)現(xiàn)。Raft則是在2013年發(fā)布的一個(gè)比Paxos簡(jiǎn)單又能實(shí)現(xiàn)Paxos所解決問(wèn)題的一致性算法。Paxos和Raft達(dá)成共識(shí)的過(guò)程皆如同選舉一樣,參選者需要說(shuō)服大多數(shù)選民(服務(wù)器)投票給他,一旦選定后就跟隨其操作。Paxos和Raft的區(qū)別在于選舉的具體過(guò)程不同。而Pool驗(yàn)證池共識(shí)機(jī)制即是在這兩種成熟的分布式一致性算法的基礎(chǔ)上,輔之以數(shù)據(jù)驗(yàn)證的機(jī)制。






轉(zhuǎn)載請(qǐng)帶上網(wǎng)址:http://m.svinexta.cn/posji/9736.html

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
聯(lián)系我們
訂購(gòu)聯(lián)系:小莉
微信聯(lián)系方式
地址:深圳市寶安區(qū)固戍聯(lián)誠(chéng)發(fā)產(chǎn)業(yè)園木星大廈

公司地址:深圳市寶安區(qū)固戍聯(lián)誠(chéng)發(fā)產(chǎn)業(yè)園木星大廈

舉報(bào)投訴 免責(zé)申明 版權(quán)申明 廣告服務(wù) 投稿須知 技術(shù)支持:第一POS網(wǎng) Copyright@2008-2030 深圳市慧聯(lián)實(shí)業(yè)有限公司 備案號(hào):粵ICP備18141915號(hào)