區(qū)塊鏈共識算法:DPoS、PoW和PoS淺析

區(qū)塊鏈中的共識算法目前具有工業(yè)成熟度的是PoW德迹、PoS和DPoS芽卿,其次還有一些基于這些算法的變種和單一幣種使用的共識算法,例如:Ripple共識(瑞波幣共識證明)胳搞、PoC共識(容量證明)卸例、PoE共識(運(yùn)動量證明)。

PoX類的算法肌毅,容錯閥值是50%筷转,而分布式一致算法PBFT(拜占庭容錯)及其變種的容錯閥值是33%左右,這里的百分比是指網(wǎng)絡(luò)延遲悬而、網(wǎng)絡(luò)故障呜舒、作弊節(jié)點(diǎn)等占全網(wǎng)的比例。

與經(jīng)典的分布式一致算法相比笨奠,區(qū)塊鏈領(lǐng)域里的分布式一致算法(PoX類)通過概率選擇記賬者降低了潛在的提案者袭蝗,提高了可用性,但同時也延長了達(dá)成最終一致性的時間般婆。

PoW工作量證明

工作量證明(Proof-of-Work, PoW)是一種對應(yīng)服務(wù)與資源濫用到腥、或是阻斷服務(wù)攻擊的經(jīng)濟(jì)對策。一般是要求用戶進(jìn)行一些耗時適當(dāng)?shù)膹?fù)雜運(yùn)算蔚袍,并且答案能被服務(wù)方快速驗(yàn)算左电,以此耗用的時間、設(shè)備與能源做為擔(dān)保成本页响,以確保服務(wù)與資源是被真正的需求所使用篓足。...現(xiàn)時此一技術(shù)成為了加密貨幣的主流共識機(jī)制之一,如比特幣所采用的技術(shù) -- 維基百科

理解起來很容易闰蚕,就是為了選取有效的節(jié)點(diǎn)來記賬栈拖,首先要證明你是真正的工作者(礦工),先交給你一個有適當(dāng)難度的工作没陡,如果快速的完成了涩哟,那么說明你有能力做這個工作,然后才把記賬的工作交給你盼玄,并且在記賬完成時贴彼,給到一定的獎勵。

這個機(jī)制最早用于抵抗垃圾郵件埃儿,也就是發(fā)送一封郵件前器仗,要計(jì)算一道有難度的數(shù)學(xué)題,其中要消耗掉一部分算力。如果我們是正常的發(fā)送一封郵件精钮,這部分算力不會占用過多時間威鹿;但是如果要發(fā)送大量郵件(比如垃圾郵件),那么需要消耗的計(jì)算能力則會呈幾何級增長轨香,對垃圾郵件發(fā)送者來說忽你,這是個不劃算的事情。因此臂容,使用PoW機(jī)制科雳,能有效的防止垃圾郵件。

在區(qū)塊鏈中脓杉,最常用的運(yùn)算是哈希函數(shù)運(yùn)算(比特幣使用 SHA-256哈希函數(shù))炸渡,哈希函數(shù)的原理是,當(dāng)你輸入任意一個原始字符串(文本)丽已,經(jīng)過哈希運(yùn)算蚌堵,都能得到一個固定長度的哈希值;當(dāng)原始字符串改變時哪怕僅僅只有一個字符沛婴,運(yùn)算結(jié)果(哈希值)都會大大不同吼畏。因此,為了得到特定的哈希值嘁灯,只能通過窮舉運(yùn)算(暴力破解)的方式來運(yùn)算泻蚊,這個過程需要進(jìn)行大量的算力。

在比特幣中丑婿,一個交易要想被確認(rèn):(1)它存在于最長的分支的區(qū)塊里(block)性雄,(2)至少有5個驗(yàn)證過的(PoW共識算法驗(yàn)證)區(qū)塊在其后面得到驗(yàn)證。一個攻擊者(作弊者)要想發(fā)出雙重支付攻擊羹奉,那么必須投入超過總體一半以上的運(yùn)算量(51%攻擊)秒旋,才能篡改結(jié)果,這使得攻擊的成本變得高昂诀拭,難以實(shí)現(xiàn)迁筛。

PoS權(quán)益證明

權(quán)益證明是一種投票機(jī)制,通過固定時間協(xié)調(diào)所有節(jié)點(diǎn)參與投票(這個投票機(jī)制有點(diǎn)類似于傳統(tǒng)的分布式一致算法)耕挨,根據(jù)某種規(guī)則(例如持有代幣數(shù)量细卧、占有幣數(shù)的時間或提供存儲空間大小等)判斷每個節(jié)點(diǎn)的權(quán)重,最后選取權(quán)重最高的節(jié)點(diǎn)作為檢查節(jié)點(diǎn)筒占,獲得記賬權(quán)和獎勵(利息)贪庙。

在現(xiàn)實(shí)世界中,PoS很普遍翰苫,最為熟知的例子就是股票止邮,股票是用來記錄股權(quán)的證明,股票持有量最多的,擁有更多的投票權(quán)和收益權(quán)(利息)农尖。

PoS的防作弊機(jī)制是利益捆綁,股東自己保證安全良哲,擁有投票權(quán)多的人獲取的收益大盛卡,如果該投票權(quán)最多的人作弊的話,損失最大的也是他自己筑凫。

和PoW算法相比較滑沧,不需要礦工繼續(xù)的進(jìn)行挖礦消耗算力記賬,更節(jié)省能源巍实。

不過PoS算法對多節(jié)點(diǎn)一致性驗(yàn)證滓技、防偽等要求很高,而且隨著節(jié)點(diǎn)的增多棚潦,效率會越來越慢令漂,因?yàn)楣?jié)點(diǎn)越多,一致性越難丸边。

另外一點(diǎn)是叠必,擁有大量代幣的節(jié)點(diǎn)可以坐享其成,無法做到公平競爭妹窖,有形成中心化的風(fēng)險(大股東就是中心)纬朝。而且,在選舉的環(huán)節(jié)中骄呼,步驟較多共苛,容易產(chǎn)生安全漏洞(常見的有權(quán)益粉碎攻擊)。

權(quán)益粉碎攻擊(nothing-at-the-stake attack)蜓萄,由于PoS中隅茎,代幣越少,權(quán)益也越少嫉沽,而且很難改變現(xiàn)狀(如果持幣大戶不出售代幣的情況下)患膛。為了獲取更多權(quán)益,持幣少的節(jié)點(diǎn)耻蛇,就有可能去不斷的嘗試分叉踪蹬,在PoS共識機(jī)制里,即是嘗試失敗了臣咖,也不會消耗太多資源跃捣;但如果成功了,那么就會使整個幣的價值降低夺蛇,但由于他們的錢很少疚漆,也不會太在乎;這是人性里的惡,我不好娶聘,也不讓你好闻镶。

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

委托權(quán)益證明(Delegated Proof of Stake)機(jī)制是PoS機(jī)制的優(yōu)化版本,DPoS選擇一些節(jié)點(diǎn)代表來參與交易驗(yàn)證和記賬丸升。例如:EOS選擇了21個超級節(jié)點(diǎn)铆农,100個備用節(jié)點(diǎn)來維護(hù)整個平臺的正常運(yùn)行。

我們知道區(qū)塊鏈作為一個分布式網(wǎng)絡(luò)狡耻,它也具有分布式系統(tǒng)的特性墩剖,若使用PoS機(jī)制在成千上萬的網(wǎng)絡(luò)節(jié)點(diǎn)中達(dá)到一致性,效率將會很低夷狰,也是一個十分漫長的過程岭皂。

使用DPoS機(jī)制能夠大幅度的提升選舉效率,在幾十個最多上百個節(jié)點(diǎn)之間進(jìn)行一致性投票一般可以在秒級完成并達(dá)成共識沼头。

DPoS委托權(quán)益證明的缺點(diǎn)是嚴(yán)重依賴于節(jié)點(diǎn)所持有的代幣爷绘,但是代幣在很多國家都是被禁止的。

三者之間的對比

PoW采用簡單粗暴但極為有效的方式进倍,通過節(jié)點(diǎn)首先自證其資質(zhì)后才進(jìn)行廣播的方式揉阎,大幅度減少了網(wǎng)絡(luò)間的通訊壓力,但與之帶來的問題則在于自證資質(zhì)的計(jì)算資源消耗極大背捌。

PoS采用與傳統(tǒng)分布式一致性驗(yàn)證類似的機(jī)制毙籽,通過代幣數(shù)量(或存儲容量等指標(biāo))作為權(quán)重依據(jù),使用某種分布式算法選舉出每次的檢查點(diǎn)節(jié)點(diǎn)毡庆。這種機(jī)制的好處在于沒有消耗計(jì)算資源的自證資質(zhì)過程坑赡,但是帶來的問題在于每次選舉時在大量節(jié)點(diǎn)的網(wǎng)絡(luò)中對網(wǎng)絡(luò)壓力極大。同時PoS也沒有防御惡意分叉的能力么抗。

DPoS作為PoS的優(yōu)化變形毅否,通過縮小選舉節(jié)點(diǎn)的數(shù)量以減少網(wǎng)絡(luò)壓力,是一種典型的分治策略:將所有節(jié)點(diǎn)分為領(lǐng)導(dǎo)者與跟隨者蝇刀,只有領(lǐng)導(dǎo)者之間達(dá)成共識后才會通知跟隨者螟加。該機(jī)制能夠在不增加計(jì)算資源的前提下有效減少網(wǎng)絡(luò)壓力,在優(yōu)秀的軟件實(shí)現(xiàn)中將會具有較強(qiáng)的應(yīng)用價值吞琐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捆探,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子站粟,更是在濱河造成了極大的恐慌黍图,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奴烙,死亡現(xiàn)場離奇詭異助被,居然都是意外死亡剖张,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門揩环,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搔弄,“玉大人,你說我怎么就攤上這事丰滑」擞蹋” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵吨枉,是天一觀的道長蹦渣。 經(jīng)常有香客問我哄芜,道長貌亭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任认臊,我火速辦了婚禮圃庭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘失晴。我一直安慰自己剧腻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布涂屁。 她就那樣靜靜地躺著书在,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拆又。 梳的紋絲不亂的頭發(fā)上儒旬,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音帖族,去河邊找鬼栈源。 笑死,一個胖子當(dāng)著我的面吹牛竖般,可吹牛的內(nèi)容都是我干的甚垦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涣雕,長吁一口氣:“原來是場噩夢啊……” “哼艰亮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挣郭,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤垃杖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丈屹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體调俘,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伶棒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了彩库。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肤无。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖骇钦,靈堂內(nèi)的尸體忽然破棺而出宛渐,到底是詐尸還是另有隱情,我是刑警寧澤眯搭,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布窥翩,位于F島的核電站,受9級特大地震影響鳞仙,放射性物質(zhì)發(fā)生泄漏寇蚊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一棍好、第九天 我趴在偏房一處隱蔽的房頂上張望仗岸。 院中可真熱鬧,春花似錦借笙、人聲如沸扒怖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盗痒。三九已至,卻和暖如春低散,著一層夾襖步出監(jiān)牢的瞬間俯邓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工谦纱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留看成,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓跨嘉,卻偏偏與公主長得像川慌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子祠乃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355