背景
DPoS算法中使用見證人機制(witness)解決中心化問題。總共有N個見證人對區塊進行簽名,而這些見證人由使用區塊鏈網路的主體投票產生。由於使用了去中心化的投票機制,DPoS相比其他的系統更加民主化。DPoS並沒有完全去除對於信任的要求,代表整個網路對區塊進行簽名的被信任主體在保護機制下確保行為正確而沒有偏見。另外,每個被簽名的區塊都有先前區塊被可信任節點簽名的證明。DPoS消除了交易需要等待一定數量區塊被非信任節點驗證的時間消耗。
通過減少確認的要求,DPoS算法大大提高了交易的速度。通過信任少量的誠信節點,可以去除區塊簽名過程中不必要的步驟。DPoS的區塊可以比PoW或者PoW容納更多的交易數量,從而使加密數字貨幣的交易速度接近像Visa和Mastercard這樣的中心化清算系統。
DPoS系統任然存在中心化,但是這種中心化是受到控制的,因為每個客戶端都有能力決定哪些節點可以被信任。DPoS使得這樣的區塊鏈網路保留了一些中心化系統的關鍵優勢,同時又能保證一定的去中心化。系統通過公平選舉,使每個人都有可能成為代表絕大多數用戶的授權人。
DPoS背後的理性邏輯
1.使權益所有者能夠通過投票決定記賬人
2.最大化權益所有者的紅利
3.最小化保證網路安全的消耗
4.最大化網路的性能
5.最小化運行網路的成本
權益所有者擁有控制權
DPoS的根本特性是權益所有者保留了控制權,從而使系統去中心化。就像投票機制也有缺陷一樣,DPoS是管理公司共有產權的唯一可行方式。幸運的是,如果你不喜歡運營公司的人,你可以通過賣出權益離場。而這種反饋機制可以使權益所有者在投票時比普通公民更加理性。
每個權益所有者通過投票決定區塊的簽名驗證者,任何一個擁有超過1%投票的人都可以參與到董事會。所有的代表構成一個“董事會”,輪流簽署區塊。如果一個董事錯過了簽署區塊的機會,客戶會自動把投票給予其他人。最終,這些錯過簽署機會的董事會被取消資格,其他人就可以加入董事會。董事會成員會收到少量代幣作為獎勵,用來激勵線上時間和參與競選。每一個董事必須要將單個區塊平均獎勵的100倍作為保證金,從而確保其至少99%的線上時間。
委任工作量證明的礦池
在目前的比特幣網路中,用戶為了盈利需要選擇參與一個礦池,而每一個礦池擁有超過10%的哈希算力。礦池的運營者就像礦工委任的代表。比特幣希望用戶在礦池間切換以避免過度中心化,但是前五個主要的礦池控制了整個網路,如果其中一個礦池出問題了就需要用戶進行手動干預。如果一個礦池掉線,則區塊的生產率將會等比例地下降。在哪個礦池中挖礦成了一個難題。
不隨機從所有用戶中選擇的原因
1.普通用戶大部分時間不線上 ;
2.攻擊者可以使用其權益控制網路,而不經過其他人的認可 ;
3.由於沒有挖礦,在去中心化網路中生成隨機數變得不可能。
擴展性
假設每筆交易的確認成本和手續費都是固定的,那么實現去中心化的數量也是有限制的。假設驗證成本與手續費相等,則整個網路是完全中心化的,並且只能支持一個驗證節點。假設手續費是驗證成本的100倍,則網路可以支持100個驗證節點。
PoS需要大量的手續費來保證其合理運行,而委任機制是PoS高效工作的唯一方式。在PoS中可以使用權益池的方式,但是這又變成某種形式的DPoS。委任代表無法從礦池張獲得實際的收益,因為驗證的花費將吞噬絕大部分的交易手續費。
去中心化的成本與驗證節點的數量成正比,而這個成本無法消除。從規模化角度看,這種成本的存在將最終使系統中心化,而委任代表制是唯一的解決方案。這種中心化應該在系統建設的初期就設計好,以利於用戶更好地控制,而不是通過被動演化為非預期的結果。
委任代表的角色
1.見證人是允許生成和廣播區塊的權威;
2.生成區塊的過程包括收集P2P網路中的交易並使用見證人的私鑰進行簽名 ;
3.見證人的位置由上一個區塊的最後部分隨機指定。
DPoS對於攻擊的抑制
1.如果某個見證人拒絕簽署一個區塊,那么他將被解職並失去未來的穩定收入預期 ;
2.不誠實的委任代表只有在明確有其他利益訴求時才會選擇放棄區塊生成 ;
3.見證人無法簽署無效的交易,因為交易需要所有見證人都確認。