4.7 委託權益人證明機制——DPoS
委託權益人證明機制(Delegated Proof of Stake,以下簡稱DPoS)機制是PoS演算法的改進。筆者試著以通俗易懂的方式來說明這個演算法。
假設以下的場景:百花村旁有一座山叫區塊鏈山,屬村民集體所有。村外的A公司準備開發區塊鏈山的旅遊資源。A公司和村民委員會聯合成立了百花旅遊開發有限公司,簽了股份制合作協議。以下是春節假期期間發生在村民李大和柳五之間的對話:
李大:關於旅遊開發區塊鏈山,村民委員會和A公司簽約了。
柳五:那我們有什麼好處?
李大:我們都是區塊鏈旅遊有限公司的股東了。
由於村民都是股東,所有村民就是區塊鏈山的權益所有人。
柳五:股東要幹什麼工作呢?
李大:關於區塊鏈的開發的重要決定,股東都要投票的。
柳五:那可不成。春節後我要出去打工,在哪兒還不一定呢。哪有時間回來投票。
李大:不要緊,我們可以推選幾個代表,比如王老師,他會一直留在村辦小學教書,不會走的,而且人又可靠,講信用。
柳五:我也推選王老師,代表我們在重大決議上投票。
王老師在這裡就是委託權益人(也叫見證人)。DPoS演算法中使用見證人機制(witness)解決中心化問題。總 共有N個見證人對區塊進行簽名。DPoS消除了交易需要等待一定數量區塊被非信任節點驗證的時間消耗。通過減少確認的要求,DPoS演算法大大提高了交易的 速度。通過信任少量的誠信節點,可以去除區塊簽名過程中不必要的步驟。DPoS的區塊可以比PoW或者PoS容納更多的交易數量,從而使加密數字貨幣的交 易速度接近像Visa和Mastercard這樣的中心化清算系統。
李大:我們集體推舉王老師的人,每年給王老師一點補償,因為代表我們參加A公司的董事會也很花時間,挺累人的。
柳五:成啊!
權益所有人為了見證人儘量長時間線上,要付給見證人一定的報酬。
柳五:我還準備推薦陶大媽。文化高,人也好,也會一直留在村裡。
李大:陶大媽身體不好,還是不要幹這個差事了。
見證人必須保證儘量線上。如果見證人錯過了簽署區塊鏈,就要被踢出董事會。不能擔任見證人的工作。
村民選舉出幾個見證人後……
柳五:這次怎麼選出了賴大這傢伙。這傢伙一貫不幹好事。我退出!
如果權益所有人不喜歡選出來的見證人,可以選擇賣出權益退場。
DPoS使得區塊鏈網路保留了一些中心化系統的關鍵優勢,同時又能保證一定的去中心化。見證人機制使得交易只用等待少量誠信節點(見證人)的響應,而不必等待其他非信任節點的響應。見證人機制有以下特點。
·見證人的數量由權益所有者確定,至少需要確保11個見證人。
·見證人必須儘量長時間線上,以便做出響應。
·見證人代表權益所有人簽署和廣播新的區塊鏈。
·見證人如果無法簽署區塊鏈,就將失去資格,也將失去這一部分的收入。
·見證人無法簽署無效的交易,因為交易需要所有見證人都確認。
來源:我是碼農,轉載請保留出處和連結!
本文連結:http://www.54manong.com/?id=92
相關文章
- POS權益證明機制的去中心化是偽命題中心化
- 區塊鏈共識演算法(5)DPoS股份授權證明演算法區塊鏈演算法
- Java的類載入器與雙親委託機制Java
- Javascript事件模型系列(二)事件的捕獲-冒泡機制及事件委託機制JavaScript事件模型
- 委託、事件--委託例項篇事件
- 委託
- C#自學(一)委託(delegate)、委託泛型、多播委託C#泛型
- iOS:利用訊息轉發機制實現多播委託iOS
- 委託與事件-委託詳解(一)事件
- 理解JavaScript中的事件路由冒泡過程及委託代理機制JavaScript事件路由
- 委託、Lambda表示式、事件系列04,委託鏈是怎樣形成的, 多播委託, 呼叫委託鏈方法,委託鏈異常處理事件
- 事件委託事件
- 委託、Lambda表示式、事件系列01,委託是什麼,委託的基本用法,委託的Method和Target屬性事件
- 委託、Lambda表示式、事件系列07,使用EventHandler委託事件
- jQuery 事件委託jQuery事件
- 委託筆記筆記
- .NET委託解析
- Java-委託Java
- C#委託C#
- C# 委託(delegate)、泛型委託和Lambda表示式C#泛型
- 區塊鏈共識演算法(3)PoS權益證明演算法區塊鏈演算法
- 委託、Lambda表示式、事件系列05,Action委託與閉包事件
- C#-委託delegateC#
- winform實現委託ORM
- C# 事件委託C#事件
- C#委託(delegate)C#
- C#事件委託事件
- 重中之重:委託與事件事件
- C# 委託事件C#事件
- wpf移除事件委託事件
- dotnet 委託的實現解析(2)開放委託和封閉委託 (Open Delegates vs. Closed Delegates)
- 委託、Lambda表示式、事件系列03,從委託到Lamda表示式事件
- 委託、Lambda表示式、事件系列02,什麼時候該用委託事件
- 優化委託的 `DynamicInvoke`優化
- JQuery7:事件委託jQuery事件
- C#的委託案例C#
- C#委託與事件C#事件
- 事件模型和事件委託事件模型