主页 > imtoken区块链钱包官网 > 比特币是如何被开采的(采矿原则)——工作量证明

比特币是如何被开采的(采矿原则)——工作量证明

imtoken区块链钱包官网 2023-01-17 18:45:41

比特币挖矿科普专辑到此收官。在前两篇文章铺垫之后,相信读者朋友已经对比特币交易和出块的过程有了一定的了解。那么它们与“挖矿”有什么关系呢?

我们知道,在比特币网络中,有很多挖矿节点和矿工参与创建新的比特币区块。如果多个挖矿节点创建了相同高度的区块,应该判断哪个区块更合法?比特币引入了PoW(Proof of Work)共识机制,通过挖矿来争夺新区块的记账权。谁获得了新区块的记账权,它创建的新区块就是合法的。挖矿的目的是为了赢得记账权,并确认新的区块和交易。那么挖矿节点和矿工如何协同工作完成挖矿呢?

矿工破解挖矿任务

挖矿节点创建预备区块后,将预备区块的区块头数据发送给矿工。矿工收到挖矿任务后,会增加区块头中的随机数。每次调整时,根据比特币协议,使用 SHA256 算法计算区块头的哈希值。如果区块头的哈希值大于目标哈希,则继续改变随机数,直到区块头的哈希值小于或等于目标哈希(或挖矿节点发现新区块已被其他节点挖出,则放弃原来的挖矿任务,构建新的储备块,重新开始挖矿)。

挖矿节点验证区块并扩展本地区块链

当矿工发现一个随机数可以使准备好的区块头的哈希值小于目标哈希值时,会立即将挖矿结果报告给挖矿节点。挖矿节点收到信息后,立即根据矿工上报的信息对区块进行重组,并对区块进行验证。验证后,挖矿节点将新区块保存到节点本地数据库中,并添加到节点本地区块链中。

区块的验证信息包括:

向全网广播新区块

挖矿节点在本地保存新区块后,将挖矿结果同步广播到比特币网络。由于整个块的块大小较大,一般先广播新块的块头。其他节点收到广播后,首先会验证区块头信息。验证通过后,节点会首先在其本地区块索引库中创建新区块的索引。节点收到新区块的所有信息后,验证交易信息和区块头的 MerkleRoot 哈希。验证通过后,节点将交易信息记录到新区块中,并扩展本地区块链。至此,新区块的广播和验证完成,挖矿节点开始下一个区块的挖矿。

当前挖矿的一些特点

集群挖矿-矿池:

在比特币挖矿中,理论上任何人都可以搭建比特币挖矿节点2020年比特币挖矿分析,参与挖矿,甚至可以手动验证区块头哈希,破解挖矿任务,争夺记账权。

但博主在上一篇文章中提到,按照目前的挖矿难度,即使使用目前主流的矿机,理论上也需要42年才能找到一个符合比特币网络要求的新区块。如果人工计算,需要数万年甚至数百万年。

因此,普通矿工单独挖矿的经济效益太低,可能报废,赚不到一分钱。矿池就是在这种情况下应运而生的。大量矿工将自己的矿机接入矿池,从矿池的挖矿节点获取挖矿任务,集体挖矿。这样就可以在比较短的时间内挖出新的区块,获得区块奖励。矿池根据每个矿工在挖矿过程中的贡献分配挖矿收益。所有矿工都可以实时获得挖矿收益并收回成本。或二次投资。

在矿工实际收到的挖矿任务中,TargetHash远大于比特币网络所需的TargetHash:

矿池和矿工一起的过程遵循与上述相同的过程。矿机通过网络与矿池通信,请求挖矿任务。矿池将挖矿任务(包括区块头数据)发送给矿机。矿机改变区块头的随机数,验证区块哈希。满足挖矿任务TargetHash要求的随机数会按照挖矿协议的格式提交给矿池,矿池根据矿机提交的挖矿结果计算收益。

需要注意的是,如果在下发给矿工的挖矿任务中TargetHash是此时比特币网络的TargetHash2020年比特币挖矿分析,那么TargetHash太小,矿工基本上不可能找到符合要求的随机数并提交挖矿结果。不可能获得挖矿收益。

因此,矿池下发给矿机的挖矿任务中,有一条单独的信息:初始挖矿难度。这是一个远低于全网挖矿难度的值,对应的 TargetHash 更大。在这个难度下,矿工可以在比较短的时间内找到满足要求的随机数,向矿池提交更多的挖矿结果。

矿池算力与矿机本地算力不同:

说到挖矿,总有一个词是绕不开的:算力。究竟什么是计算能力?

算力其实就是矿工验证区块头哈希值的速度。矿工获得挖矿任务后,会根据挖矿任务的信息递增区块头的随机数。每次调整随机数时,都会验证区块头的哈希值。可以看出,限制矿工挖矿速度的唯一因素是它验证区块头哈希值的速度,所以有一个“算力”的指标。

目前常规比特币矿机的算力单位是TH/s,也就是说每秒可以验证1T个哈希,1T=1×10^3G=1×10^6M=1×10^9K=1× 10^12 次。

有过挖矿经验的朋友会发现,矿机本地显示的算力总是和矿池显示的算力不同。这是因为矿机本地显示的算力是矿机验证哈希的速度。只与矿机性能有关。无论是否找到满足挖矿任务要求的随机数,矿机的本地算力始终存在。矿池中的矿机显示的算力不同。由矿池根据矿机提交的实际挖矿结果计算得出。如果无法向矿池提交所需的随机数,

但时间延长后,运气对矿机破解挖矿任务的影响会降低。