dpos:delegated proof of stake,委任權益證明
它的原理是讓每乙個持有幣的人進行投票,由此產生n位代表 , 我們可以將其理解為n個超級節點或者礦池,而這n個超級節點彼此的權利是完全相等的。從某種角度來看,dpos有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責(當輪到他們時,沒能生成區塊),他們會被除名,網路會選出新的超級節點來取代他們。eos就是採用dpos共識演算法。
假設n為21,競選的節點有幾百個,持幣人對這些節點進行投票,選出票數最多的21位,由這21位輪流來出塊。
package main
import (
"fmt"
"math/rand"
"time"
"strconv"
"crypto/sha256"
"encoding/hex"
)type block struct
func genesisblock() block
gene.hash = string(blockhash(gene))
return block{}
}func blockhash(block block) byte
//節點型別
type node struct
func (node *node)generatenewblock(lastblock block, data byte) block
newblock.hash = hex.encodetostring(blockhash(newblock))
newblock.delegate = node
return newblock
}//建立節點
var nodearr = make(node,10)
func createnode()
}}//簡單模擬投票
func vote()
}//選出票數最多的前3位
func sortnodes() node ]
選出的節點 [ ]
第 10 個節點 出塊
第 4 個節點 出塊
第 3 個節點 出塊
EOS 共識演算法 DPOS3 0 的改進
bp block producer,塊產生者。本文描述了乙個dpos的改進,它更強地保證了遵守dpos3.0協議下的結點不會共識失敗。我們定義共識失敗為 兩個結點包括了兩個不同的不可逆的鏈.背景 pow 如bitcoin,定義了乙個 最長鏈 規則的共識。使用這個規則,任何block都不會被認為是不可...
Pow, Pos,Dpos 共識演算法原理
pow 工作量證明機制 工作量證明機制,通過工作量一定難度的工作得出乙個結果 工作量證明函式是sha256,安全雜湊演算法。過程 將不同的nonce值作為輸入,嘗試進行sha256雜湊運算,找出滿足給定數量前導0的雜湊值的過程。而要求的前導0的個數越多,難度越大。參考 要求使用者證明擁有某些數量的貨...
POW共識機制原理及優缺點
pow工作量證明 英文全稱為proof of work 在位元幣之前就已經出現,中本聰在設計區塊鏈的共識機制的時候就是借鑑了pow工作量證明。常見的是利用hash運算的複雜度進行cpu運算實現工作量確定。工作量證明 proof of work,pow 是一種對應服務與資源濫用 或是阻斷服務攻擊的經濟...