比特币挖矿如何运作? 比特币 或加密货币的挖矿(mining),是指用户可以获取新产生的加密货币的过程。比特币网络约每10分钟产生1个区块(block),当前提供给矿工6.25枚比特币的奖励。目前开采比特币需要大量的 杂凑运算力,愈大量杂凑运算力参与挖矿,「解题」难度就愈高,拥有更多运算资源的矿工就愈有利。

簡而言之,礦工是連接到網絡的另一類節點。 它們通常除了會執行普遍節點進行的所有操作,例如廣播交易及區塊資訊外,還會將交易記錄添加到過去交易的公共分散式賬簿,來創建新區塊。

比特币挖矿流程

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

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

 

比特币挖矿的目标输出值

比特币区块链使用的是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)方式验证交易,并将你的交易添加到区块链上涉及的交易费用。

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

交易者查看每笔交易的费用(以比特币为计算单位)可参考mempool 按此浏览.

這 link 提供了包括加密、交易、验证、挖掘新区块、以及生成比特币的整个过程的展示图。 (注意:展示图细节,包括每个区块的比特币奖励,未必属最新资料。

感谢你阅读我们此文章,想了解比特币及其他加密货币的最新资讯,欢迎订阅我们的通讯。

通讯