从数字货币到信用社会(二十)
 51

从数字货币到信用社会(二十)

00:00
07:21

区块链共识机制——工作量证明

您好,我是DAO.ONE的主播老豹,每天八分钟学懂区块链。

 

区块链要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化诚实可信系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的系统。在实践中,该流程分为两个方面:一是选择一个独特的节点来产生一个区块;二是使分布式数据记录不可逆。实现上述流程的技术核心就是:共识机制。共识机制是区块链节点就区块信息达成全网一致共的机制,可以保证最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉甚至可以抵御恶意攻击。

当前主流的共识机制包括:工作量证明、权益证明、工作量证明与权益证明混合(POS+POW)、股份授权证明、瑞波共识协议等。

工作量证明

工作量证明(Proofof Work),顾名思义,即指工作量的证明。POW机制的基本步骤如下:①节点监听全网数据记录,通过基本合法性验证的数据记录将进行暂存;②节点消耗自身算力尝试不同的随机数,进行指定哈希计算,并不断重复该过程直至找到合理的随机数;③找到合理的随机数后,生成区块信息,首先输入区块头信息,然后是数据记录信息;④接单对外部广播出新产生的区块,其他节点验证通过后,连接至区块链中,主链高度加一,然后所有节点切换至新区块后面继续进行工作量证明和区块生产。

POW叫工作量证明体现在步骤②中,节点需要不断消耗算力工作,进行哈希计算,以找到期望的随机数。以比特币区块链为例,通过POW机制维护区块链的整体运行及其安全性。验证节点通过随机的散列运算,争夺比特币区块链的记账权,防止欺诈交易,避免“双重支付”,这一过程需要消耗电力、算力来完成。因此,验证节点也成为“矿工”,随机数计算查找过程称为“挖矿”每一个比特币区块链中的区块都包含着一个由无意义数据构成的短字符串(称为随机数),找到一个合适的随机数唯一已知的方法是不停地随机试探直到搜索到一个有效的数。比特币的POW中, 平均每10分钟有一个节点找到一个区块。如果两个节点在同一个时间找到区块,那么网络将根据后续节点和区块生成情况来确定哪个区块构建最终区块链。一般情况下,需要6个区块的生成时间进行确认,因为一般交易在6个区块(约1个小时)后被认为是安全确认且不可逆的。其工作量主要体现在:一个符合要求的区块随机数由N个前导零构成,零的个数取决于网络的难度值。要得到合理的随机数需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的随机数值,说明该节点确实经过了大量的尝试计算。当然,这并不能得出计算次数的绝对值,因为寻找合理随机数值是一个概率事件。工作量证明机制看似很神 秘,其实在社会中的应用非常广泛。例如,毕业证、学位证、律师证等证书就是工作证明,拥有证书即表明在过去付出了努力。挖矿为整个系统的运转提供原动力,挖矿有三个重要功能:一是发行新的货币;二是维系系统的支付功能;三是通过算力保障系统安全。首先,挖矿消耗资源将黄金注入流通经济,比特币通过“挖矿”完成相同的事情,只不过消耗的是CPU时间与电力。其次,挖矿用于产量调节,区块的产量为大约每两周2016个,即每10分钟一块。第三,通过算力保障系统安全。算力攻击的概率难度呈指数上升(泊松分布),每个区块都必须指向前一个区块,否则无法验证通过。追根溯源便是高度为零的创世区块。POW机制存在两方面明显的缺陷。一是算力的消耗与浪费。在POW中,尽管区块链节点是用来帮区块链进行分布式数据记录的,但是它们实际所做的大部分工作是寻找正确的随机数而与数据记录无关。用来寻找随机数的能量和资源将永远地消失,这显然是一种浪费。二是算力集中化凸显。POW机制自然地导致了算力集中问题。由于作为一个普通的个体或者几十、几百台规模的矿机目前都很难挖到区块了,因此大家必须联合起来挖矿,就诞生了算力集中的地方 ——矿池。其中最著名的是比特币Ghash矿池,它因为数次接近甚至达到了50%比特币的算力,从而引起了比特币社区的广泛担忧。

 

每天八分钟,学透区块链。

下期我们学习区块链共识机制——权益证明+工作量证明。

                                                               

关注DAO.ONE公众号有更多精彩等你,我是老豹,明天见。



用户评论

    还没有评论,快来发表第一个评论!

猜你喜欢