Java教程

POW、POS和Dpos 算法原理

本文主要是介绍POW、POS和Dpos 算法原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Pow(工作量证明机制)

  工作量证明机制, 通过工作量一定难度的工作得出一个结果

  工作量证明函数是SHA256,安全哈希算法。

  过程:

    将不同的nonce值作为输入,尝试进行SHA256哈希运算,找出满足给定数量前导0的哈希值的过程。而要求的前导0的个数越多,难度越大。

 

PoS(权益证明机制)

  要求用户证明拥有某些数量的货币(即对货币的权益)。

  根据每个节点所占有代币的数量和时间(即权益)来决定其挖矿的难度, 根据每个节点所占代币的比例和时间, 等比例的降低挖矿难度,从而加快找随机数的速度。  

 

DPoS(股权授权证明机制)

  DPoS类似于股份制公司,各个节点首先投票选举出可信度比较高的来作为达成共识过程中的决策者。

  当然,每个节点支持的票数由其持有的货币数量决定。这些可信节点可以被视为“ 挖矿池”,它们之间具有相同的权利。

  普通节点可以选举或驱逐不合格的“股东”。在比特股中这个股东数量被控制在100个。

 

对比:

  POW算法的优点包括完全去中心化, 节点自由进出, 算法简单, 容易实现, 节点间无需交换额外的信息即可达成共识。

    安全性高, 破坏系统需要投入极大的成本, 允许全网50%节点出错。

  POW 算法的缺点也同样多, 首先是需要大量算力,可监管性弱, 存在安全性风险, 同时超大矿池的出现, 也使得算力集中化问题凸显, 即 “51%攻击” 风险。

    性能效率比较低, 每次达成共识需要全网共同参与运算。无法达成最终一致性, 容易产生分叉, 需要等待多个确认。

 

  相比 POW, POS 算法的优点包括, 避免了挖矿造成大量的资源浪费, 缩短了各个节点之间达成共识的时间, 网络环境好的话可实现毫秒级, 对节点性能要求低。

  缺点是仍需要挖矿, 并且POS会使得 “富者更富”,有可能支配记账权, 拥有权益的参与者也未必希望参与记账。

    无法达成最终一致性, 容易产生分叉, 需要等待多个确认。POS依然是基于哈希运算竞争获取记账权的方式, 可监管性弱, 容错性和POW相同。

  DPOS相比 POS, 它的优点是, 能大幅缩小参与验证和记账节点的数量, 可以达到秒级的共识验证。缺点是整个共识机制还是依赖于代币, 而很多商业应用是不需要代币存在的。

这篇关于POW、POS和Dpos 算法原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!