国产精品手机在线,亚洲国产精品影视,免费日韩av在线播放,中文字幕2区,超碰在线94,亚洲男人的天堂网,日韩av免费在线观看

區(qū)塊鏈共識算法知多少?(POW、POS、DPOS、PBFT區(qū)塊鏈共識算法)

2018-1-31 18:01 來源: 拓樸區(qū)塊鏈

區(qū)塊鏈 共識算法 
POW、POS、DPOS、PBFT區(qū)塊鏈共識算法

區(qū)塊鏈

區(qū)塊鏈是一種去中心化的分布式賬本系統(tǒng),它可以用于登記和發(fā)行數(shù)字化資產(chǎn)、產(chǎn)權(quán)憑證、積分等,并以點對點的方式進行轉(zhuǎn)賬、支付和交易。區(qū)塊鏈系統(tǒng)與傳統(tǒng)的中心化賬本系統(tǒng)相比,具有完全公開、不可篡改、防止多重支付等優(yōu)點,并且不依賴于任何的可信第三方。

由于點對點網(wǎng)絡(luò)下存在較高的網(wǎng)絡(luò)延遲,各個節(jié)點所觀察到的事務(wù)先后順序不可能完全一致。因此區(qū)塊鏈系統(tǒng)需要設(shè)計一種機制對在差不多時間內(nèi)發(fā)生的事務(wù)的先后順序進行共識。這種對一個時間窗口內(nèi)的事務(wù)的先后順序達成共識的算法被稱為“共識機制”。

在區(qū)塊鏈這樣一個分布式數(shù)據(jù)庫中,保障整個系統(tǒng)的安全性和適應(yīng)性是非常重要的,這也是共識算法出現(xiàn)的根本原因,那么在區(qū)塊鏈中有多少種共識算法呢?

1
POW:Proof of Work,工作量證明

POW工作量證明是比特幣在Block的生成過程中使用的,可以說是最原始的區(qū)塊鏈共識算法了。POW算法不難理解,就是通過工作量的大小來統(tǒng)計數(shù)據(jù),比如一塊礦石含鐵量有5%,那么你要得到數(shù)量為5的鐵時,就需要100個這樣的礦石。你的鐵越多就說明你用于提煉鐵礦石越多。你的鐵越多,這個證明就越可靠。

據(jù)一個簡單的例子,選舉投票畫“正”字方法,“正”字越多就說明你在選民中的選票越高,你更容易選中或排名靠前。比如有三個“正”以上的的可以晉級,那么超過三個“正”字的全部都可以晉級。

再比如有個在美國待了10年的中國人,回來之后幾乎不用對他英語進行考察,因為他在美國待了10年,我們相信他英文是肯定沒有問題的。也就是說他在美國的這10年大多數(shù)是用英文交流的,他已經(jīng)投入了足夠的工作量。這個工作量與他的英文熟練程度是成正相關(guān)的。

考英語六級為什么要做很多題目的原理也是這樣,是一種工作量的證明,只有多做題,工作量才會提升,通過六級的概率才會大,反過來看,如果他有英語過了8級,那么我們相信他有英語8級的實力。

當然,POW算法也應(yīng)用于我們生活中的其他場合,比如格斗類游戲和FPS類游戲的K/D比和勝率,越高就說明你越強。


2
POS:Proof of Stake,股權(quán)證明

PPC是從中本聰所創(chuàng)造的BTC衍生出來的一種P2P的電子密碼貨幣,以股權(quán)證明(Proof of Stake,以下簡稱POS)取代工作量證明(Proof of Work,以下簡稱POW)來維護網(wǎng)絡(luò)安全。POS實際上可以取代POW的大部分功能。這主要是因為,和工作量證明POW一樣,POS權(quán)益證明也不可能被輕易偽造。當然,這也是貨幣系統(tǒng)中的一個關(guān)鍵特性-防止偽造。從哲學(xué)角度而言,貨幣在過去就是一種“工作量證明”,因此其本身可以代替工作量的證明。

在這里我們需要引入一個概念:幣齡。

至少早在 2010年,中本聰就在BTC設(shè)計中提出并使用了幣齡這一概念,用于給交易排出優(yōu)先次序,但這個概念在其安全模式中沒有起來很重要的作用。幣齡只是簡單地定義為貨幣的持有時間段。簡單舉例說明一下:如果A從B那里收到了10個幣,并且持有30天,那么A就收集到了300幣天的幣齡。

如果A使用了從B收到的這10個幣,我們就認為A從這10個幣上積累的幣齡被消耗(銷毀)了。

為簡化幣齡的計算,我們?yōu)槊總€交易引入了時間戳的概念。區(qū)塊時間戳及交易時間戳相關(guān)聯(lián)的協(xié)議得以強化,以便確定對幣齡的運算。

這有點像我們現(xiàn)在放在銀行法幣里面的利息,在交易中,區(qū)塊持有人可以消耗他的幣齡獲得利息,同時獲得為網(wǎng)絡(luò)產(chǎn)生一個區(qū)塊和用POS造幣的優(yōu)先權(quán)。

由此POS區(qū)塊的產(chǎn)生具有隨機性,這一過程與POW相似。但有一個重要的區(qū)別在于,(POS)隨機散列運算是在一個有限制的空間里完成的(具體來說為1 hash/未消費錢包的輸出*秒),而不是象POW那樣在無限制的空間里尋找,因此無需大量的能源消耗。

3
DPoS–Delegated Proof of Stake授權(quán)權(quán)益證明

又稱受托人機制,它的原理是讓每一個持有比特股的人進行投票,由此產(chǎn)生101位代表 , 我們可以將其理解為101個超級節(jié)點或者礦池,而這101個超級節(jié)點彼此的權(quán)利是完全相等的。

由于使用了去中心化的投票機制,DPoS相比其他的系統(tǒng)更加民主化。DPoS并沒有完全去除對于信任的要求,代表整個網(wǎng)絡(luò)對區(qū)塊進行簽名的被信任主體在保護機制下確保行為正確而沒有偏見。另外,每個被簽名的區(qū)塊都有先前區(qū)塊被可信任節(jié)點簽名的證明。DPoS消除了交易需要等待一定數(shù)量區(qū)塊被非信任節(jié)點驗證的時間消耗。通過減少確認的要求,DPoS算法大大提高了交易的速度。通過信任少量的誠信節(jié)點,可以去除區(qū)塊簽名過程中不必要的步驟。

DPOS引人注目的安全性來自于其選擇塊生產(chǎn)者和驗證節(jié)點質(zhì)量的算法。運用贊成投票的過程可以確保一個人即使擁有50%的有效投票權(quán)也不能獨自挑選哪怕一個生產(chǎn)者。DPOS旨在優(yōu)化擁有強壯網(wǎng)絡(luò)連接的誠實節(jié)點100%參與(共識過程)的名義條件。這使得DPOS有能力在平均只有1.5秒的時間內(nèi)以99.9%的確定性確認交易,同時以優(yōu)雅和可檢測的方式降級 – 從降級中恢復(fù)正常也不過是小事一樁。

4
PBFT–Practical Byzantine FaultTolerance實用拜占庭容錯

PBFT是Practical Byzantine Fault Tolerance的縮寫,意為實用拜占庭容錯算法。該算法是Miguel Castro (卡斯特羅)和Barbara Liskov(利斯科夫)在1999年提出來的,解決了原始拜占庭容錯算法效率不高的問題,將算法復(fù)雜度由指數(shù)級降低到多項式級,使得拜占庭容錯算法在實際系統(tǒng)應(yīng)用中變得可行。

PBFT能夠保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。在分布式計算上,不同的計算機透過訊息交換,嘗試達成共識。拜占庭將軍問題就根據(jù)錯誤計算機的數(shù)量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。

而拜占庭問題的可能解決方法為:

在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計算機總數(shù),F(xiàn)為有問題計算機總數(shù)。信息在計算機間互相交換后,各計算機列出所有得到的信息,以大多數(shù)的結(jié)果作為解決辦法。

小蟻采用的dBFT機制,是由權(quán)益來選出記賬人,然后記賬人之間通過拜占庭容錯算法來達成共識。

此算法由小蟻獨創(chuàng),在PBFT基礎(chǔ)上進行了以下改進:

將C/S架構(gòu)的請求響應(yīng)模式,改進為適合P2P網(wǎng)絡(luò)的對等節(jié)點模式;

將靜態(tài)的共識參與節(jié)點改進為可動態(tài)進入、退出的動態(tài)共識參與節(jié)點;

為共識參與節(jié)點的產(chǎn)生設(shè)計了一套基于持有權(quán)益比例的投票機制,通過投票決定共識參與節(jié)點(記賬節(jié)點);

在區(qū)塊鏈中引入數(shù)字證書,解決了投票中對記賬節(jié)點真實身份的認證問題。

上述是目前主要的區(qū)塊鏈共識算法,當然還有其他的算法,比如PoET–Proof of Elapsed Time流逝時間量證明等。這幾種算法大多是按該共識算法從誕生到熱門的順序來定的,無論是技術(shù)上,還是業(yè)務(wù)上,每種算法都在特定的時間段中有各自的考慮和意義。優(yōu)缺點當然各有千秋。共識算法的選擇主要與應(yīng)用場景高度相關(guān)。網(wǎng)上也有很多這樣的帖子,日后有時間我也會大家一同分享。

最新評論

碳市場行情進入碳行情頻道
返回頂部