⚫ DPoS 即 Delegated Proof of Stake 译为股份授权证明
⚫ 最早于 2013 年由 Bitshares 提出,目的为解决 PoW 和 PoS 机制的不足
⚫DPoS 机制的加密货币,每个节点都可以操作区块,并按照个人的持股比例获得“利 息”
⚫DPoS 是由被社区选举的可信帐户(受托人,得票数排行前 101 位)来创建区块, 为了成为正式受托人,用户要去社区拉票,获得足够多用户的信任,用户根据自己 持有的加密货币数量占总量的百分比来投票
⚫DPoS 机制类似于股份制公司,普通股民进不了董事会,要投票选举代表(受托人) 代他们做决策
⚫这 101 个受托人可以理解为 101 个矿池,而这 101 个矿池彼此的权利是完全相等的
⚫那些握着加密货币的用户可以随时通过投票更换这些代表(矿池),只要他们提供 的算力不稳定,计算机宕机、或者试图利用手中的权力作恶,他们将会立刻被愤怒 的选民门踢出整个系统,而后备代表可以随时顶上去
//实现投票的功能
//定义全节点
type Node struct {
//节点名称
Name string
//被选举的票数
Votes int
}
//区块
type Block struct {
Index int
Timestamp string
Prehash string
Hash string
Data []byte
//代理人
delegate *Node
}
func firstBlock() Block {
gene := Block{0, time.Now().String(),
"", "", []byte(