比特币系列之五:比特币挖掘是如何工作的
2020-07-31 18:23 文章来自:IFTNews 收藏(0) 阅读(2625731) 评论(0)
【IFTNews比特币系列之五】当你听到比特币“采矿”的消息时,你会想到比特币是从地下挖出来的。但比特币不是物理上的,所以我们为什么叫它采掘?

类似于黄金开采,比特币就像黄金存在于地下一样存在于协议的设计中,但它们还没有被曝光,就像黄金还没有被挖掘出来一样。

比特币协议规定,在某一时刻,最多将有2100万比特币存在。矿工们所做的就是把他们带到光明中,一次只有几个人。一旦矿工们完成所有这些硬币的开采,除非比特币协议改变以允许更大的供应量,否则不会有更多的硬币出现。矿工因创建验证交易块并将它们包括在区块链中而获得交易费。


为了了解比特币挖掘是如何工作的,让我们回顾一下,并讨论一下节点。节点是一台功能强大的计算机,它运行比特币软件并对交易和块进行完全验证。由于比特币网络是分散的,这些节点共同负责确认待定交易。

任何人都可以运行一个节点-您只需下载免费的比特币软件。缺点是它消耗了能量和存储空间--编写时的网络需要几百GB的数据。节点在网络上传播比特币交易。一个节点将信息发送给它知道的几个节点,这些节点将信息转发给他们知道的节点,这样,挂起的事务就会很快地绕过整个网络。

有些节点是挖掘节点,通常称为矿工。这些块将未完成的事务放入块中,并将它们添加到块链中。他们怎么做到的?通过解决一个复杂的数学难题,这是比特币程序的一部分,并包括在块中的答案。

需要解决的难题是找到一个数字,当它与块中的数据组合并通过散列函数(将任意大小的输入数据转换为固定长度的输出数据,产生一定范围内的结果。

对于琐事爱好者来说,这个数字被称为“现在”,它是“一次使用的数字”的缩写。在区块链中,nonce是介于0到4,294,967,296之间的整数。

他们怎么找到这个号码的?随机猜测。哈希函数使得无法预测输出将是什么。因此,矿工猜测神秘数字,并将哈希函数应用于该猜测数字和块中的数据的组合。得到的散列以一定数量的零开始。不可能知道哪个数字会起作用,因为两个连续的整数会给出变化很大的结果。更重要的是,可能有几个不符合要求的结果,或者根本没有。在这种情况下,矿工们会继续尝试,但采用的是不同的块配置。

计算的难度(哈希字符串开头所需的零数)经常被调整,因此处理一个块平均需要10分钟。

为什么十分钟?这就是比特币开发商认为,要稳定和减少新硬币的流通所必需的时间,直到达到最大的2100万枚硬币(预计在2140年的某个时间)。

第一个在所需范围内获得结果哈希的矿工宣布其对网络其余部分的胜利。所有其他矿工立即停止在该区块的工作,并开始试图找出下一个的神秘号码。作为对其工作的奖励,这位成功的矿工获得了一些新的比特币。

在撰写本报告时,每块比特币的奖励为6.25比特币,到2020年6月价值约为5.6万美元。

然而,这并不像听起来那么轻松。有很多挖掘节点竞相获得这种回报,你拥有的计算能力越强,你可以进行的猜测计算越多,你就越幸运。

此外,作为一个挖掘节点的成本相当高,这不仅是因为需要强大的硬件,而且也是因为这些处理器消耗了大量的电能。

而且,作为解决这个难题的奖励,比特币的数量将会减少。现在是6.25,但大约每四年减半(下一个预计在2024年)。未来几年,比特币相对于电力和硬件成本的价值可能会上升,以部分弥补这一减少,但目前尚不确定。

如果你已经走了这么远,那就恭喜你!关于这个系统还有很多需要解释的地方,但至少现在你已经对编程的天才和概念有了一个大致的认识。我们第一次有了一个系统,允许以分散、无信任和防篡改的方式进行方便的数字传输。