区块链核心技术:委任权益证明算法DPoS
委任權(quán)益證明Delegated Proof of Stake(簡稱DPoS)是比特股BitShares采用的區(qū)塊鏈公識算法。在加密貨幣技術(shù)中,使用共識算法來保證整個區(qū)塊鏈網(wǎng)絡(luò)的安全可靠,著名的共識算法包括比特幣網(wǎng)絡(luò)使用的工作量證明PoW,以及Peercoin和NXT使用的權(quán)益證明PoS。但是,這些共識算法都不能解決交易性能問題,尤其是PoW算法大量消耗計算所需的電力。而委任權(quán)益證明DPoS很好地解決了性能和能耗的問題。
背景
DPoS算法中使用見證人機(jī)制(witness)解決中心化問題。總共有N個見證人對區(qū)塊進(jìn)行簽名,而這些見證人由使用區(qū)塊鏈網(wǎng)絡(luò)的主體投票產(chǎn)生。由于使用了去中心化的投票機(jī)制,DPoS相比其他的系統(tǒng)更加民主化。DPoS并沒有完全去除對于信任的要求,代表整個網(wǎng)絡(luò)對區(qū)塊進(jìn)行簽名的被信任主體在保護(hù)機(jī)制下確保行為正確而沒有偏見。另外,每個被簽名的區(qū)塊都有先前區(qū)塊被可信任節(jié)點(diǎn)簽名的證明。DPoS消除了交易需要等待一定數(shù)量區(qū)塊被非信任節(jié)點(diǎn)驗(yàn)證的時間消耗。
通過減少確認(rèn)的要求,DPoS算法大大提高了交易的速度。通過信任少量的誠信節(jié)點(diǎn),可以去除區(qū)塊簽名過程中不必要的步驟。DPoS的區(qū)塊可以比PoW或者PoW容納更多的交易數(shù)量,從而使加密數(shù)字貨幣的交易速度接近像Visa和Mastercard這樣的中心化清算系統(tǒng)。
DPoS系統(tǒng)任然存在中心化,但是這種中心化是受到控制的,因?yàn)槊總€客戶端都有能力決定哪些節(jié)點(diǎn)可以被信任。DPoS使得這樣的區(qū)塊鏈網(wǎng)絡(luò)保留了一些中心化系統(tǒng)的關(guān)鍵優(yōu)勢,同時又能保證一定的去中心化。系統(tǒng)通過公平選舉,使每個人都有可能成為代表絕大多數(shù)用戶的委托人。
DPoS背后的理性邏輯
1.使權(quán)益所有者能夠通過投票決定記賬人?
2.最大化權(quán)益所有者的紅利?
3.最小化保證網(wǎng)絡(luò)安全的消耗?
4.最大化網(wǎng)絡(luò)的性能?
5.最小化運(yùn)行網(wǎng)絡(luò)的成本
權(quán)益所有者擁有控制權(quán)
DPoS的根本特性是權(quán)益所有者保留了控制權(quán),從而使系統(tǒng)去中心化。就像投票機(jī)制也有缺陷一樣,DPoS是管理公司共有產(chǎn)權(quán)的唯一可行方式。幸運(yùn)的是,如果你不喜歡運(yùn)營公司的人,你可以通過賣出權(quán)益離場。而這種反饋機(jī)制可以使權(quán)益所有者在投票時比普通公民更加理性。
每個權(quán)益所有者通過投票決定區(qū)塊的簽名驗(yàn)證者,任何一個擁有超過1%投票的人都可以參與到董事會。所有的代表構(gòu)成一個“董事會”,輪流簽署區(qū)塊。如果一個董事錯過了簽署區(qū)塊的機(jī)會,客戶會自動把投票給予其他人。最終,這些錯過簽署機(jī)會的董事會被取消資格,其他人就可以加入董事會。董事會成員會收到少量代幣作為獎勵,用來激勵在線時間和參與競選。每一個董事必須要將單個區(qū)塊平均獎勵的100倍作為保證金,從而確保其至少99%的在線時間。
委任工作量證明的礦池
在目前的比特幣網(wǎng)絡(luò)中,用戶為了盈利需要選擇參與一個礦池,而每一個礦池?fù)碛谐^10%的哈希算力。礦池的運(yùn)營者就像礦工委任的代表。比特幣希望用戶在礦池間切換以避免過度中心化,但是前五個主要的礦池控制了整個網(wǎng)絡(luò),如果其中一個礦池出問題了就需要用戶進(jìn)行手動干預(yù)。如果一個礦池掉線,則區(qū)塊的生產(chǎn)率將會等比例地下降。在哪個礦池中挖礦成了一個難題
不隨機(jī)從所有用戶中選擇的原因
1.普通用戶大部分時間不在線?
2.攻擊者可以使用其權(quán)益控制網(wǎng)絡(luò),而不經(jīng)過其他人的認(rèn)可?
3.由于沒有挖礦,在去中心化網(wǎng)絡(luò)中生成隨機(jī)數(shù)變得不可能。
擴(kuò)展性
假設(shè)每筆交易的確認(rèn)成本和手續(xù)費(fèi)都是固定的,那么實(shí)現(xiàn)去中心化的數(shù)量也是有限制的。假設(shè)驗(yàn)證成本與手續(xù)費(fèi)相等,則整個網(wǎng)絡(luò)是完全中心化的,并且只能支持一個驗(yàn)證節(jié)點(diǎn)。假設(shè)手續(xù)費(fèi)是驗(yàn)證成本的100倍,則網(wǎng)絡(luò)可以支持100個驗(yàn)證節(jié)點(diǎn)。
PoS需要大量的手續(xù)費(fèi)來保證其合理運(yùn)行,而委任機(jī)制是PoS高效工作的唯一方式。在PoS中可以使用權(quán)益池的方式,但是這又變成某種形式的DPoS。委任代表無法從礦池張獲得實(shí)際的收益,因?yàn)轵?yàn)證的花費(fèi)將吞噬絕大部分的交易手續(xù)費(fèi)。
去中心化的成本與驗(yàn)證節(jié)點(diǎn)的數(shù)量成正比,而這個成本無法消除。從規(guī)模化角度看,這種成本的存在將最終使系統(tǒng)中心化,而委任代表制是唯一的解決方案。這種中心化應(yīng)該在系統(tǒng)建設(shè)的初期就設(shè)計好,以利于用戶更好地控制,而不是通過被動演化為非預(yù)期的結(jié)果。
委任代表的角色
1.見證人是允許生成和廣播區(qū)塊的權(quán)威?
2.生成區(qū)塊的過程包括收集P2P網(wǎng)絡(luò)中的交易并使用見證人的私鑰進(jìn)行簽名?
3.見證人的位置由上一個區(qū)塊的最后部分隨機(jī)指定。
DPoS對于攻擊的抑制
1.如果某個見證人拒絕簽署一個區(qū)塊,那么他將被解職并失去未來的穩(wěn)定收入預(yù)期?
2.不誠實(shí)的委任代表只有在明確有其他利益訴求時才會選擇放棄區(qū)塊生成?
3.見證人無法簽署無效的交易,因?yàn)榻灰仔枰幸娮C人都確認(rèn)。
見證人的數(shù)量
見證人的數(shù)量有權(quán)益所有者確定,至少需要確保11個見證人。
李啟雷
浙江大學(xué)博士,趣鏈科技聯(lián)合創(chuàng)始人
浙江杭州?http://liqilei.com總結(jié)
以上是生活随笔為你收集整理的区块链核心技术:委任权益证明算法DPoS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式一致性与共识算法
- 下一篇: 5行代码帮你梳理EOS.IO的脉络