主页 > imtoken钱包激活 > 十分钟区块链系列04:一篇文章看懂比特币挖矿全过程

十分钟区块链系列04:一篇文章看懂比特币挖矿全过程

imtoken钱包激活 2023-01-18 20:05:22

比特币的总量早就确定了,但比特币不是从数量上确定的。

比特币就像埋在地下的金子,需要矿工去挖掘,才能让比特币遇见大家。因为比特币的数量是固定的,越挖越深,越挖越难,直到最后完全挖完。

区块链“挖矿”其实是一个“算法”:根据一定的规则确定的计算规则。

我们知道有一个比特币客户端,每个人都可以使用它来上传交易交易和传输数据。在数据传输过程中,所有节点都参与记账和数据同步。

为了保持效率,会选择单独的节点负责数据打包,验证交易交易,最后将信息广播给大家记录在账本中。因为打包数据的节点做更多的工作,他们会得到一定的积分奖励。这个奖励是BTC。

有了奖励,节点将争夺打包权。为保证公平,将制定规则。

那么规则是什么?如果同时满足规则,块将如何分配?什么是计算能力?带着这些问题,一起来看看吧。

比特币骰子算法

1、比特币挖矿有什么用?

主要功能是抢夺区块打包权、验证交易交易、奖励新币发行和广播新区块。

2、如何确定打包权?

以每日掷骰子为例,即使你赢了一定的点数,比特币客户端也采用类似的规则来确定数据打包的权利。当然,比特币打包权的争夺会复杂很多。

在比特币软件中,有一个难度系数不断调整(大约每两周一次),称为难度值。

比特币钱包中的交易数据会不断上传,数据会被放入缓存池中,缓存池中包含各种未打包的交易数据。缓冲池对单个矿工可见。

比特币骰子算法

通过前面的研究,我们知道每个交易区块头都有一个唯一代表区块的哈希值,挖矿程序会计算缓存池中的交易数据(SHA256,哈希算法之一)。计算中涉及的参数由区块版本、难度、时间戳等组成,从而得到一个哈希值,然后比较挖矿的难度值。如果计算出的hash值小于目标hash值,则挖矿成功!

上述过程其实就是区块链的工作量证明机制,PoW(Proof of Work)。

3、如何获得挖矿奖励?

从以上确定打包权的过程可以得出,在比特币挖矿中,挖矿程序不断计算缓存数据的哈希值,然后匹配目标哈希值。

比特币骰子算法

如果计算出的值小于目标值,客户端可以将打包的新区块同步给其他客户端,大家可以一起验证。这个区块没有问题,可以将数据写入公共账本,然后就可以获得相应的比特币奖励。

4、奖励在哪里?

赢得包装权的客户将获得奖励。奖励实际上是写在新生成区块的交易交易中,一般位于区块交易的第一项比特币骰子算法,类似于转账记录。

5、奖励金额如何确定?

因为比特币的数量是有限的,所以数量会越来越少,当然奖励也不会保持不变。比特币挖矿的奖励实际上每 210,000 个区块减半,奖励也随之减少。 2009年是50,2012年11月变成25,现在是12.5,2020年年会又是6.25。

比特币骰子算法

大家谈比特币减半的时候,一个意思也是挖矿奖励减半。毫无疑问,奖励越来越小,竞争越来越大!

6、区块广播的过程(新区块的验证)

客户端A生成的hash值满足要求,此时会广播信息。邻居节点收到后会去验证,验证哈希值、时间戳等,验证后写入自己的区块链账本。

当挖矿节点收到新节点的确认信息后,将放弃当前挖矿,进入下一个区块。

7、多个矿工同时满足计算结果怎么办?

矿工计算出的哈希值小于目标值,表示他们有打包权。那么,如何应对这种情况呢?比特币的处理方式是让他们广播信息,看看哪个区块拥有最广泛的信息并且在最长的链中。

比特币骰子算法

如果此时只有两个节点参与确认,两个节点选择了相反的区块,意见悬而未决比特币骰子算法,会导致节点失效,这可能是挖矿的问题。

8、挖矿方式的演进

从上面我们了解到,挖矿最关键的部分就是计算hash值,而我们通常使用excel表格进行计算也知道数据太多,电脑的配置会更高。

挖矿的竞争最终变成了算力的竞争。算力越高,获得打包权的机会就越大。

在硬件方面,挖矿的竞争也从CPU演变到GPU(显卡)再到ASIC(集成电路)等顶级矿机。

战斗模式,从单人挖矿到矿池,越来越复杂!

也因为算力挖矿、矿机等行业而衍生。目前这些行业都需要不断提升设备的算力,而且因为功耗等问题,PoW挖矿似乎不太环保。