DPoS 股份授權證明 go簡單實現

2021-09-01 10:31:51 字數 1485 閱讀 3548

⚫ dpos 即 delegated proof of stake 譯為股份授權證明

⚫ 最早於 2013 年由 bitshares 提出,目的為解決 pow 和 pos 機制的不足

⚫dpos 機制的加密貨幣,每個節點都可以操作區塊,並按照個人的持股比例獲得「利 息」

⚫dpos 是由被社群選舉的可信帳戶(受託人,得票數排行前 101 位)來建立區塊, 為了成為正式受託人,使用者要去社群拉票,獲得足夠多使用者的信任,使用者根據自己 持有的加密貨幣數量佔總量的百分比來投票

⚫dpos 機制類似於股份制公司,普通股民進不了董事會,要投票選舉代表(受託人) 代他們做決策

⚫這 101 個受託人可以理解為 101 個礦池,而這 101 個礦池彼此的權利是完全相等的

⚫那些握著加密貨幣的使用者可以隨時通過投票更換這些代表(礦池),只要他們提供 的算力不穩定,計算機宕機、或者試圖利用手中的權力作惡,他們將會立刻被憤怒 的選民門踢出整個系統,而後備代表可以隨時頂上去

//實現投票的功能

//定義全節點

type node struct

//區塊

type block struct

func firstblock() block

gene.hash = string(blockhash(gene))

return gene

}//計算雜湊

func blockhash(block block) byte

//生成新的區塊

func (node *node) generatenewblock(lastblock block, data byte) block

newblock.hash = hex.encodetostring(blockhash(newblock))

newblock.delegate = node

return newblock

}//建立10個節點

var nodeaddr = make(node, 10)

//建立節點

func createnode() }}

//簡單模擬投票

func vote()

}//一共10個節點,選出票數最多的前三名

func sortnodes() node

} }//返回三個票數多的節點

return n[:3]

}func main()

}

dpos優點

能耗低更加去中心化

更快的確認速度

eos用dpos

pbft(超級賬本)

dpos缺點

投票的積極性不高

社群選舉有可能存在網路安全問題

DPOS共識機制

鏈客,有問必答!eos在第一版 中使用的dpos共識機制,而在新一版的白書中,對共識機制進行了改進,使用bft dpos混合共識機制。使出塊速度從原來的3秒變為0.5秒,tps顯著提高,達到測試3590次 秒。eos第一版共識機制dpos eos現在系統執行的鏈用的共識機制是第一版 的,也就是純dp...

DPOS共識機制

鏈客,有問必答!eos在第一版 中使用的dpos共識機制,而在新一版的白書中,對共識機制進行了改進,使用bft dpos混合共識機制。使出塊速度從原來的3秒變為0.5秒,tps顯著提高,達到測試3590次 秒。eos第一版共識機制dpos eos現在系統執行的鏈用的共識機制是第一版 的,也就是純dp...

05 區塊鏈共識演算法 5 DPoS股份授權證明演算法

dpos,即delegated proof of stake,譯為股份授權證明。最早於2013年由位元股bitshares提出,目的為解決pow和pos機制的不足。pow機制純粹依賴算力,導致專業挖礦群體與社群完全分隔,礦池的巨大算力形成另外的中心。這與位元幣的去中心化思想衝突。pos雖然考慮了po...