pos算法原理(详解pos共识算法的特点)

佚名 举报 | 买帖

区块链系统采用去中心化的设计,网络节点分散且相互独立,所以由不同节点组成的系统之间必须依赖一个制度来维护系统的数据一致性,并奖励提供区块链服务的节点,以及惩罚恶意节点。

这个制度的建立需要依赖一套方法和规则,即由谁取得一个区块的打包权(或称记账权),并获取该区块的奖励或者怎样界定谁是作恶者,让他受到怎样的惩罚,这套方法和规则便是共识机制。

现在有多种共识算法在区块链中使用,较为常用的有:工作量证明(Proof of Work,PoW)算法、权益证明(Proof of Stake,PoS)算法、股份授权证明(Delegated Proof of Stake,DPoS)算法、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法。

1 PoW算法

PoW算法是一种防止分布式服务资源被滥用、拒绝服务攻击的机制。

PoW算法要求节点进行适量消耗时间和资源的复杂运算,并且其运算结果能被其他节点快速验算,以耗用时间、能源做担保,以确保服务与资源被真正的需求所使用。比特币首次利用PoW算法来验证交易并向网络广播区块,现在很多区块链也采用PoW算法。PoW算法已经成为广泛使用的共识算法。

矿工进行哈希运算,此过程消耗算力,算出“正确的结果”,并向全网广播,其他矿工或者普通节点同步区块并校验是否正确。共识算法 | 四种常见的共识算法详解

PBFT算法的共识过程

PBFT算法的共识过程如下:客户端(Client)发起消息请求(request),并广播转发至每一个副本节点(Replica),由其中一个主节点(Leader)发起提案消息pre-prepare,并广播。其他节点获取原始消息,在校验完成后发送prepare消息。每个节点收到2f+1个prepare消息,即认为已经准备完毕,并发送commit消息。当节点收到2f+1个commit消息时,我们就认为该消息已经被确认完成(reply)。