1. 程式人生 > >四-4,股份授權證明機制(DPoS:Delegate Proof of Stake)

四-4,股份授權證明機制(DPoS:Delegate Proof of Stake)

        投票制,持幣者投出一定數量的節點,代理他們進行驗證和記賬。DPoS機制由BitShare社群首先提出。DPoS與PoS的主要區別在於節點選舉若干代理人,由代理人驗證和記賬。其合規監管、效能、資源消耗和容錯性與PoS相類似。類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。

        DPoS的工作原理:去中心化表示每個股東按其持股比例擁有影響力,51%股東投票的結果將是不可逆且有約束力的。其挑戰是通過及時而高效的方法達到51%批准。為達到這個目標,每個股東可以將其投票權授予一名代表。獲票數最多的前x位代表按照既定時間表輪流產生區塊。每名代表分配到一個時間段來生產區塊。所有的代表將收到等同於一個平均水平的區塊所含交易費的10%作為報酬。如果一個平均水平的區塊含有100股作為交易費,一名代表將獲得100/x股作為報酬。
        網路延遲有可能使某些代表沒能及時廣播他們的區塊,而這將導致區塊鏈分叉。然而,這不太可能發生,因為製造區塊的代表可以與製造前後區塊的代表建立直接連線。建立這種與你之後的代表(也許也包括其後的那名代表)的直接連線是為了確保你能夠得到報酬。
        由於偽去中心化的執行機制(多中心化),DPos在正常的網路條件下區塊鏈分叉的可能性極小,即使發生也可以在幾分鐘之內得到解決,

        DPos中的關鍵特性:
        成為代表:成為一名代表,你必須在網路上註冊你的公鑰,然後分配到一個32位的特有識別符號。然後該識別符號會被每筆交易資料的“頭部”引用。
        授權選票:每一個錢包有一個引數設定視窗,在該窗口裡使用者可以選擇一個或更多的代表,並將其分級。一經設定,使用者所做的每筆交易將把選票從“輸入代表”轉移到“輸出代表”。一般情況下,使用者不會建立特別以投票為目的的交易,因為那將耗費他們一筆交易費。但在緊急情況下,某些使用者可能覺得通過支付費用這一更積極的方式來改變他們的投票是值得的。
        保持代表誠實:每個錢包將顯示一個狀態顯示器,讓使用者知道他們的代表表現如何。如果他們錯過了太多的區塊,那麼系統將會推薦使用者去換一個新的代表。如果任何代表被發現簽發了一個無效的區塊,那麼所有標準錢包將在每個錢包進行更多交易前要求選出一個新代表。
        抵抗攻擊

:在抵抗攻擊上,因為前x名代表所獲得的權力是相同的,每名代表都有一份相等的投票權。因此,無法通過獲得超過1%的選票而將權利集中到一個單一代表上。因為只有x名代表,可以想象一個攻擊者對每名輪到生產區塊的代表依次進行拒絕服務攻擊。幸運的是,由於事實上每名代表的標識是其公鑰而非IP地址,這種特定攻擊的威脅很容易被減輕。這將使確定DDOS攻擊目標更為困難。而代表之間的潛在直接連線,將使妨礙他們生產區塊變得更為困難。

        優缺點:
        優點:大幅減少參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
        缺點:整個共識機制還是依賴於代幣。

        使用DPos的主要專案:

        EOS:大家應該還記得前段時間鬧得沸沸揚揚的EOS超級節點競選事件,EOS曾被很多人質疑其偽去中心化的架構,究其原因,就是因為採用了DPos的共識機制,EOS的出塊速度可達到秒級,但整體執行被21個超級節點所把持,21箇中心化的超級節點(代表)帶來了作弊的可能性,這和典型的去中心化的公鏈思想無疑是有衝突的。但不可否認,在當前公鏈世界魚龍混雜的狀態下,一種新的架構給我們帶來了更多的可能性,也使得我們在技術層面的經驗又向前推進了一步,何樂而不為呢?

        DPoS共識機制業務流程:
        A賣東西給B,A釋出全網廣播,但是所有節點由股東(持有位元股的持股人)經過投票選舉前101代表按照既定時間表輪流產生區塊。101個節點根據投票排名來進行挖礦,每個節點都有10秒的挖礦時間,如果第一個節點沒有在10秒之內挖到了隨機數,那麼就由下一個節點進行挖礦,如果挖到了隨機數,則記錄交易,並對其他節點進行廣播,當其他100個節點驗證了記錄後,區塊成立,區塊加入賬本。