比特币挖矿科普专辑在这里即将结束。撰写了前两篇文章后,我相信读者对比特币交易和区块生成的过程有一定的了解。那么它与“挖矿”有什么关系?
我们知道,在比特币网络中,有许多挖矿节点和矿工参与创建新的比特币区块。如果多个挖矿节点创建了相同高度的区块,谁应该确定哪个区块更合法? 比特币引入了PoW ( 工作量证明)共识机制,以通过挖矿竞争新区块的会计权 。获得新区块的会计权利的人,由其创建的新区块都是合法的。 挖矿的目的是赢得会计权利并确认新的区块和交易 。那么,挖矿节点和矿工如何共同完成挖矿?
比特币
矿工破解挖矿任务
挖矿节点创建备用块后,它将备用块的块头数据发送给矿工。接收到挖矿任务后,矿工将增加区块头中的随机数。每次进行调整时,将根据比特币协议的规定,使用SHA256算法计算出块头的哈希值。如果块头的哈希值大于目标哈希值,请继续更改随机数,直到块头的哈希值小于或等于目标哈希值( 或挖矿节点发现新块已被删除)为止。由其他节点挖矿,此时将放弃原始的挖矿任务,构造一个新的备用块,然后重新开始挖矿)。
比特币
挖矿节点验证区块并扩展本地区块链
当矿工找到一个随机数,该随机数可使准备好的区块标题的哈希值小于目标哈希值时,它将立即向挖矿节点报告挖矿结果。接收到该信息后,挖矿节点将根据矿工报告的信息立即重新组织该块并验证该块 。验证正确之后,挖矿节点将新块保存到节点的本地数据库中,并将其添加到节点的本地区块链中。
该区块的验证信息包括:
-
是否块头是合法的(块头hash≤Targ ETH灰);
-
块头的MerkleRoot哈希值与块中交易数据的MerkleRoot哈希值是否一致(验证交易是否已被篡改);
-
交易数据中的第一笔交易是否为Coinbase交易;
-
区块中的每笔交易是否合法等等。
将新块广播到整个网络
挖矿节点在本地保存新块后,将挖矿结果同步广播到比特币网络。由于整个块的块大小较大,因此通常首先广播新块的块头。接收到广播后,其他节点首先验证块头信息。验证之后,该节点将首先在其本地块索引库中创建新块的索引。节点收到新块的所有信息后,将验证交易信息和块头的MerkleRoot哈希。验证后,节点将这些交易信息记录到新块中并扩展本地区块链。至此,新区块的广播和验证完成,挖矿节点开始下一个区块的挖矿工作。
比特币
当前挖矿的一些特征
集群挖矿池:
从理论上讲, 比特币挖矿,任何人都可以构建一个比特币挖矿节点,参与挖矿,甚至手动验证区块头哈希,破解挖矿任务并竞争计费权利。
但是,博客作者在上一篇文章中提到,根据当前的挖矿难度,即使您使用当前的主流挖矿机,找到符合比特币网络要求的新区块也需要42年的时间。如果使用普通PC或手动计算,则需要数万年甚至数百万年的时间。
因此,仅普通矿工的挖矿所获得的经济利益太低,它们可能被挖矿机械废弃,而获得的收益不到一美分。在这种情况下,挖矿池应运而生。大量的矿工将其挖矿机连接到矿池,从矿池的挖矿节点获取挖矿任务,然后集体挖矿。这样,可以在短时间内挖出新的区块,并可以获得区块奖励。挖矿池根据每个矿工在挖矿过程中的贡献来分配挖矿收入,所有矿工都可以实时获取挖矿收入并获得回报或二次投资。
在矿工实际收到的挖矿任务中,Targ ETH灰比比特币网络所需的Targ ETH灰比特币 :
矿池和矿工的挖矿过程与上述相同。挖矿机通过网络与挖矿池通信以请求挖矿任务。挖矿池将挖矿任务(包括块头和其他数据)发送到挖矿机。挖矿机更改区块头的随机数并验证区块哈希。随机数满足挖矿任务塔尔格的要求ETH灰将按照挖矿协议的格式提交给矿池,并提交挖矿池给矿机将计算所得的挖矿结果。
需要注意的是,如果发给挖矿机下的挖矿任务,此时Targ ETH Ash是比特币 Targ network ETH Ash,则该Targ ETH Ash太小,找不到基本的随机满足的挖矿机要求编号,提交挖矿结果,就不可能获得挖矿收入。
因此,在由挖矿池发布给挖矿机的挖矿任务中,有一个单独的消息: 初始挖矿难度 。这是一个值,该值比所述整个网络的挖矿难度低得多,这对应于较大的塔格ETH灰。在这种困难下,矿工可以在更短的时间内找到一个满足要求的随机数,并将更多的挖矿提交给矿池。结果。
矿池的算力与矿机的本地算力不同:
在挖矿方面,总是有一个不可避免的名词: 算力 。算力到底是什么?
算力实际上是矿工验证块头哈希的速度。挖矿机获得挖矿任务后,将根据挖矿任务的信息增加块头的随机数。每次调整随机数时,都会对块头的哈希值进行一次验证。它可以看出,限制所述挖矿机的挖矿速度的唯一因素是验证块标题的哈希值的速度,所以有 “散列功率 ” 的指示器。
目前,传统比特币矿机的算力单位为TH / s,这意味着它每秒可以验证1T哈希,即1T = 1×103G = 1×106M = 1×109K = 1×1012次。
经历过挖矿的朋友会发现,挖矿机本地显示的算力始终不同于挖矿池显示的算力。这是因为挖矿机本地显示的哈希率就是挖矿机进行哈希验证的速度。它仅与挖矿机的性能有关。无论是否找到满足挖矿任务要求的随机数,始终存在挖矿机的本地哈希率。矿机在矿池中显示的算力是不同的。它是由挖矿池根据挖矿机提交的实际挖矿结果计算得出的。如果挖矿机的运气不好,很长一段时间都没有发现挖矿任务。所需的随机数无法将挖矿结果提交给矿池,并且将降低矿池中矿机的算力。
但是,经过较长时间后, 运气对挖矿机的挖矿任务的影响将减少。长期以来,挖矿池的平均算力与挖矿机的本地算力没有太大区别。
以上是比特币挖矿的基础知识。如果您能阅读这三篇文章,相信读者将对比特币挖矿有一个初步的了解。如果您想与博主交流以讨论更多的挖矿问题,欢迎关注“八卦挖矿”微信公众号,也可以更及时地了解博主的**挖矿知识。
本文涉及几个知识点:
区块高度 :也称为区块高度,它等于区块编号,其值等于区块链中该区块之前的所有区块的数量。区块链的第一个区块是创世区块,区块高度为0,第二个区块的区块高度为1,第三个区块的区块高度为2,依此类推。区块链中的区块总数是**区块+1的区块高度。
PoW :全名是工作量证明,中文名称是工作量证明。这是比特币网络用来解决确认新比特币区块权利的问题的一种方法。在比特币网络中,每个人都可以参与创建一个新的区块(提供PoW机制), 可以在最短的时区内找到一个小于区块头哈希值的比特币网络,由Targ ETH 准备一个新的灰烬区块 , 拥有正式新区块的会计权利的人 。
簿记权 : 比特币的比特币链本质上是一个大连锁账簿。链上的每个区块都是一本书,上面记录了发生在区块链上的比特币交易信息。因此,我们将创建新块的过程视为会计过程。顾名思义,会计权是记录交易簿的权利,即在比特币区块链上创建正式新区块的比特币 。
参考资料:
-
实施挖矿: https : //blog.csdn.net/ztemt_sw2/article/details/80958087
-
区块高度: https : //www.inestopedia.com/terms/b/block-height.asp
-
工作证明: https : //en.***.org/wiki/Proof_of_work
文章标题:比特币开采过程
文章链接:https://www.btchangqing.cn/53950.html
更新时间:2023年04月06日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。