什么是工作量证明

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

PoW叫工作量证明体现在步骤②中,节点需要不断消耗算力工作,进行哈希计算,以找到期望的随机数。以比特币区块链为例,通过PoW机制维护区块链的整体运行及其安全性。验证节点通过随机的散列运算,争夺比特币区块链的记账权,防止欺诈交易,避免“双重支付”,这一过程需要消耗电力、算力来完成。因此,验证节点也成为“矿工”,随机数计算查找过程称为“挖矿”。每一个比特币区块链中的区块都包含着一个由无意义数据构成的短字符串(称为随机数),找到一个合适的随机数唯一已知的方法是不停地随机试探直到搜索到一个有效的数。比特币的PoW中,平均每10分钟有一个节点找到一个区块。如果两个节点在同一个时间找到区块,那么网络将根据后续节点和区块生成情况来确定哪个区块构建最终区块链。一般情况下,需要6个区块的生成时间进行确认,因为一般交易在6个区块(约1个小时)后被认为是安全确认且不可逆的。其工作量主要体现在:一个符合要求的区块随机数由N个前导零构成,零的个数取决于网络的难度值。要得到合理的随机数需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的随机数值,说明该节点确实经过了大量的尝试计算。当然,这并不能得出计算次数的绝对值,因为寻找合理随机数值是一个概率事件。工作量证明机制看似很神秘,其实在社会中的应用非常广泛。例如,毕业证、学位证、律师证等证书就是工作证明,拥有证书即表明在过去付出了努力。

挖矿为整个系统的运转提供原动力,挖矿有三个重要功能:一是发行新的货币;二是维系系统的支付功能;三是通过算力保障系统安全。首先,挖矿消耗资源将黄金注入流通经济,比特币通过“挖矿”完成相同的事情,只不过消耗的是CPU时间与电力。其次,挖矿用于产量调节,区块的产量为大约每两周2016个,即每10分钟一块。第三,通过算力保障系统安全。算力攻击的概率难度呈指数上升(泊松分布),每个区块都必须指向前一个区块,否则无法验证通过。追根溯源便是高度为零的创世区块。PoW机制存在两方面明显的缺陷。一是算力的消耗与浪费。在PoW中,尽管区块链节点是用来帮区块链进行分布式数据记录的,但是它们实际所做的大部分工作是寻找正确的随机数而与数据记录无关。用来寻找随机数的能量和资源将永远地消失,这显然是一种浪费。二是算力集中化凸显。PoW机制自然地导致了算力集中问题。由于作为一个普通的个体或者几十、几百台规模的矿机目前都很难挖到区块了,因此大家必须联合起来挖矿,就诞生了算力集中的地方——矿池。其中最著名的是比特币Ghash矿池,它因为数次接近甚至达到了50%比特币的算力,从而引起了比特币社区的广泛担忧。

猜你喜欢

转载自blog.csdn.net/cljikd/article/details/80287105