|
区域链的难点在于其共识机制,共识机制包括:工作量证明、权益证明、工作量证明与证明混合,股分授权证明、瑞波共识协议等。在此,仅谈下我对比特币工作量证明的学习理解。
工作量证明顾名思义,就是一份证明,用来证明你做过一定量的某种工作。就像毕业证,证明你在学校学习并通过了考试一样。
比特币的获得是通过挖矿来完成的,全网平均十分钟挖出一个区域,系统就发行12.5BTC奖励给成功挖到区块的矿工。那么问题来了,系统如何判断谁挖到了区块?这就要用到工作量证明。那么,比特币的工作量证明到底是怎么一回事?
了解工作量证明前我们首先了解下区块的数据结构,下图为比特币的数据结构。
工作量证明就是在解一道函数题,函数的其中一个变量是区块头中的Nonce值,Nonce值初始值是0,函数f(x)的参考答案是区块头中的难度目标。矿工就是要不停地调整这个nonce值来将这个头部信息作为参数去计算f(x)的函数值,每算一次就和难度目标值进行对比,如果满足了条件就挖矿成功。
综上所述,比特币系统里的工作量证明的过程是:
1.矿工在网络中拿到最新一个区块的区块头信息;
2.将拿到的区块头信息作为参数,将nonce值从零开始,去进行函数运算;
3.如果算出的答案不符合要求,则将nonce值增加一个单位,再算;
4.直到计算出符合区块头难度目标的答案,就成功挖到一个区块。也就能拿到比特币系统给它发的12.5BTC的区块奖励。 |