首页 > 热点资讯 > 正文

比特币挖矿科普专辑

2024-03-02 03:11 来源:网络

在前两篇文章的铺垫下,相信读者们已对比特币交易和区块产生有一定理解。现在让我们探索一下这些与“挖矿”的关联。

比特币挖矿科普专辑

矿工破解挖矿任务

矿工在挖矿节点创造预备区块后接收挖矿任务。他们递增区块头中的随机数,并根据比特币协议规定使用SHA256算法计算区块头的哈希值。如果哈希值大于目标哈希,矿工将继续改变随机数,直至找到使区块头哈希值小于或等于目标哈希的随机数(或者一旦发现新区块已被其他节点挖掘出来,他们会放弃原来的挖矿任务,构建新的预备区块并重新开始挖矿)。

挖矿节点验证区块,延长本地区块链

当矿工找到合适的随机数时,他们将立即向挖矿节点报告结果。挖矿节点接收到信息后会重组区块并验证区块。验证无误后,挖矿节点将在其本地数据库中保存新区块并将新区块加入到本地区的区块链上。

向全网广播新区块

挖矿节点在本地保存新区块后会向比特币网络广播挖矿结果。通常情况下,新区块的区块头会首先广播出去。其他节点在收到广播后会验证区块头信息,然后在其本地的区块索引库中创建新区块的索引。在接收到新区块的全部信息后,节点验证交易信息和区块头的MerkleRoot哈希,验证通过后,节点将这些交易信息录入新区块,并延长本地区块链。

当前挖矿的特点集群挖矿 - 矿池

理论上讲,任何人都可以建立比特币挖矿节点并参与挖矿,甚至可以通过手动验证区块头哈希来破解挖矿任务。然而,在当前的挖矿难度下,即使使用主流矿机也需要42年的时间才能找到满足比特币网络要求的新区块,而对于普通PC或手工计算,这个时间可能长达数万年至数百万年之久。为了提高经济效益,普通矿工可以选择加入矿池,与其他矿工合作共享资源,共同进行挖矿活动。这种方式可以在相对较短的时间内找到新区块并获得区块奖励。矿池会根据每个矿工在挖矿过程中的贡献程度来分配挖矿收益,从而让所有矿工都能实时地获取挖矿收入并进行投资回报。

矿机实际收到的挖矿任务中,TargetHash远大于比特币网络要求的TargetHash

在矿池和矿工一起挖矿的过程中,矿机会通过网络与矿池通信,请求挖矿任务,然后矿池会将包含区块头等数据的挖矿任务发送给矿机。矿机通过对区块头的随机数进行更改并验证区块哈希来进行挖矿。若挖矿任务的TargetHash符合比特币网络的要求,矿工会以挖矿协议规定的格式提交挖矿结果。然而,如果矿机接收到的挖矿任务的TargetHash直接等于当前比特币网络的TargetHash,那么矿机几乎不可能找到符合条件的随机数,也无法提交挖矿结果,因此无法获得任何挖矿收益。为了解决这个问题,矿池会给矿机下发挖矿任务时设置一个初始挖矿难度,这个难度远低于全网挖矿难度,对应的TargetHash更大,使得矿机能在相对较短的时间内找到符合条件的随机数并向矿池提交更多的挖矿结果。

矿池算力与矿机本地算力的区别

在谈论挖矿时,“算力”是一个不可忽视的概念。“算力”实际上指的是矿工验证区块头哈希值的速度。当矿机获得挖矿任务后,它会对区块头的随机数进行递增操作,每次递增都会验证一次区块头的哈希值。可以看出,验证区块头哈希值的速度是影响矿机挖矿速度的唯一因素,所以就有了“算力”这一衡量标准。

当前常规比特币矿机的算力单位是TH/s,这意味着每秒可以验证1万亿次哈希。如果你是一名挖矿爱好者,你可能会发现矿机本地显示的算力和矿池显示的算力之间存在差异。这是因为在确定矿机的本地算力时,无论矿机是否找到了符合挖矿任务要求的随机数,它所展示的算力都是稳定的。而在矿池显示的算力方面,它是根据矿机实际提交的挖矿结果计算出来的。如果矿机的运气不好,在较长的一段时间内都无法找到符合挖矿任务要求的随机数,无法向矿池提交挖矿结果,那么矿机在矿池的算力就会降低。但是随着时间的推移,运气对矿机破解挖矿任务的影响将会减小,矿机在矿池的平均算力也会逐渐接近矿机的本地算力。

以上的信息只是比特币挖矿基础知识的一部分。如果你想了解更多关于挖矿的知识,请关注“闲话挖矿”微信公众号。此外,你还可以在这里获得博主最新的挖矿知识更新。

文中涉及的几个知识点:

区块高度:又称Block Height,是区块的编号,它的值等于区块链中该区块之前的区块数量。区块链的第一个区块是创世区块,区块高度为0,第二个区块的区块高度为1,第三个区块的区块高度为2,依此类推。区块链中区块的总数等于最新区块的区块高度加1。

PoW:全称Proof of Work,中文名为工作量证明。是比特币网络用来解决新区块确权问题的一种方法。在比特币网络中,所有人都可以参与到新区块的创建工作中来。PoW机制规定,谁能以最短的时间找到一个区块头哈希值小于比特币网络指定的目标哈希的预备新区块,谁就有权创建正式新区块。

记账权:比特币的区块链其实是一个链式的大型账本,链上的每个区块都是一本账,记录了发生在区块链上的比特币交易信息。因此,我们可以将创建新区块的过程视为记账的过程。记账权意味着记录交易账本的权利,也就是在比特币区块链上创建新区块的权利。

参考资料:

挖矿的实现

Block Height

工作量证明

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系多特删除。(联系邮箱:[email protected]