天天看点

分布式之PoW算法写在前面1:PoW算法写在后面

写在前面

在分布式之PBFT算法 一文中我们分析了PBFT

(pratical byzantine fault tolerant)

算法,但是该算法对恶意节点的个数有要求,即不能超过

(n-1/3)

,试想下如果将该算法用在区块链中,那就麻烦了。想要解决这个问题,就需要用到PoW算法,也正是本文要分析的内容,下面我们就开始吧!

1:PoW算法

首先PoW算法和PBTF算法一样都是一种拜占庭容错的分布式共识算法,但不同于PBFT,PoW全称是proof of work,即工作量证明,即某节点如果是想要加入到集群中,则需要完成一定的工作,什么意思呢?比如某公司招聘Java开发岗位,需要完成一道编程题,你完成了这道编程题,就是

你工作量的证明

,然后面试官负责对你的程序进行审核,进而确定是否满足其要求。在PoW算法就会引入请求方和验证方,请求方执行运算,运算处结果后,将结果发送给验证方进行验证,如下图:

分布式之PoW算法写在前面1:PoW算法写在后面

其实在区块链中使用的就是PoW算法,并且在其应用场景中,这个运算的成本是非常高的,有多高呢?以比特币为例,想要完整作恶的话,总的成本大概在百亿。所以Pow算法并非是能够让集群中没有作恶节点,而是通过提高加入集群的门槛

(通过工作量证明)

,来提高坏人作恶的成本,进而让坏人因为得不偿失而不去作恶。

写在后面

参考文章列表

分布式之PBFT算法 。

继续阅读