比特币挖矿机制与PoW工作量证明

比特币挖矿如何运作?比特币或数字货币的挖矿(mining),是指用户可以获取新产生的数字货币的过程。比特币网络约每10分钟产生1个区块(block),当前提供给矿工6.25枚比特币的奖励。目前开采比特币需要大量的运算力力,并且只会随着杂凑率(hashrate)上升而增加。

简而言之,矿工是连接到网络的另一类节点。它们通常除了会执行普遍节点进行的所有操作,例如广播交易及区块资讯外,还会将交易记录添加到过去交易的公共分类帐,来创建新区块。

比特币挖矿流程

比特币和大多数数字货币的挖矿,都使用工作量证明(Proof-of-Work)机制。矿工将不同「输入值」(Input)组合起来,对其进行杂凑运算,得出「输出值」(Output);当矿工计算出目标的输出值、构成所谓新的区块头杂凑值(Block Header Hash ),网络便会以新产生的比特币和交易费奖励该矿工。新比特币的产生过程,与黄金具备相似的特征,只是过程当中涉及的资源并非用于金矿,而是涉及CPU运算资源、时间和电力。一旦产生了所有合共2,100万枚比特币,矿工在挖矿环节就将只会获得交易费用作为奖励,而交易费用不会受比特币的通胀率(即增发率)变动影响。

下面是由矿工在挖矿过程进行杂凑运算的「区块头」输入值(资料来自BitcoinWiki):

比特币挖矿的目标输出值

比特币区块链使用的是SHA256杂凑算法,矿工要计算出来的目标输出值是一组256位数字。比特币网络认受由SHA256运算而成的区块头杂凑值,且必须小于或等于目标值才算正确。简而言之,矿工运算出来的该组杂凑输出值,较前列的应该会有很多个「0」,才符合目标值范围。目标输出值愈低、即排前列的「0」愈多,随机算中低于目标值的数字、生成新区块的难度就会愈高。

可想而知,这个运算机制不是一个固定的数学计算问题。随着不同输入值的变动,例如相差几秒钟的时间记录、nonce(随机数)等,计算出来的输出值都不同;要能够得出正确的目标输出值,更像六合彩抽奖。矿工拥有的杂凑运算力愈强,每秒进行的尝试就愈多,就能有更大机会随机猜中。  随机数 (随机数),以能够产生正确的输出更像是赢得彩票。您拥有的散列能力越强,每秒进行的尝试就越多-就像购买许多彩票一样。

挖矿运算难度

比特币和数字货币的挖矿机制,重点在于维持难度。比特币网络通常约在每10分钟产生一个新区块,而每产生2,016个新区块,挖矿运算难度就会进行一次调整。通常每个块10分钟需要2周。每隔2,016个新区块,比特币网络会将实际挖矿所花的时间,与2周的基准进行比较,相应调整难度。当矿工过快地挖矿时,挖矿难度就会调高,反之亦然。

挖矿的比特币奖励

矿工可获得的创建区块费用,每隔210,000个新区块,便会作出一次调整。在初期,比特币矿工创建一个新区块,会获得50枚比特币,然后奖励下降到每个块25枚比特币,目前则是6.25枚比特币。最终,矿工收到的创建区块费用,将会生成第6,930,000个区块时减至零,届时累计生成并流通的比特币总数就达到2,100万枚的上限。随后,矿工在创建新区块时只会赚取交易费。

*挖矿难度、区块创建费用和数据架构等,均受比特币协议规则之限制。 

交易费用

如果你将一宗交易的输入和输出相加,你会发现有所不同,当中差别是比特币网络支付给矿工以工作量证明(PoW)方式验证交易,并将你的交易添加到区块链上涉及的交易费用。

一个新区块不必包含比特币网络上所有未完成的交易,矿工可以选择新区块中包含的内容。因此,交易费用愈高,矿工收录交易的可能性就越大。提出交易者可以设置每宗交易愿意支付的费用金额,亦有些电子钱包可以为用户决定,交易费用最终由提出交易者支付。你可以选择不付任何交易费用,但是该宗交易可能要花上数周、数月进行、甚至可能永远都不会确认完成。世上没有免费午餐,比特币网络的矿工们也不会免费为你的交易提供服务

本文链接地址:https://www.wwsww.cn/btbkuangye/8351.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。