时间:2023-07-09|浏览:169
与金矿类似,比特币存在于协议的设计中,就像黄金存在于地下一样。但是它们尚未被曝光,就像黄金还没有被开采出来一样。
比特币协议规定,在某个时候最多会发行2100万个比特币。矿工的工作就是把它们带入光明中,每次带出一些。一旦矿工完成了对所有这些比特币的开采,除非比特币协议发生变化以允许更多的供应量,否则将不再有新的比特币产生。矿工通过创建经过验证的交易块并将其包含在区块链中来获得交易费用。
为了了解比特币挖掘的工作原理,让我们先谈谈节点。节点是运行比特币软件并具备完全验证交易和区块功能的强大计算机。由于比特币网络是去中心化的,这些节点共同负责确认待处理的交易。
任何人都可以运行节点,只需下载免费的比特币软件。但是这样做的缺点是需要耗费能源和存储空间,因为这个网络在写入时需要数百GB的数据。节点会传播比特币交易。一个节点会向它所知道的其他节点发送信息,然后这些节点将信息转发给他们所知道的其他节点,依此类推。这样,待处理的交易最终会迅速传播到整个网络中。
有些节点是挖矿节点,通常被称为矿工。他们将未完成的交易分成块,并把它们添加到区块链中。他们是如何做到的呢?通过解决并将答案包含在块中。
这个问题需要找到一个数,当它与块中的数据组合并通过哈希函数(将任意大小的输入数据转换为固定长度的输出数据,并且产生在一定范围内的结果)后,得到的结果在一定范围内。
对于对琐事爱好者来说,这个数字被称为“nonce”,是“number used once”的缩写。在区块链中,nonce是一个介于0到4,294,967,296之间的整数。
矿工是如何找到这个数字的呢?通过随机猜测。哈希函数使得无法预测输出是什么。因此,矿工猜测这个数字,并将哈希函数应用于该猜测数字和块中数据的组合。生成的哈希值以一定数量的零开头。没有办法知道哪个数字会起作用,因为相邻的两个整数可能会产生截然不同的结果。更重要的是,可能有几个随机数产生了期望的结果,也可能没有。在这种情况下,矿工会继续尝试,但使用不同的块配置。
计算难度(哈希字符串开头所需的零个数)经常进行调整,因此处理一个区块的平均时间大约是10分钟。
为什么是10分钟?这是比特币开发者认为稳定和减少新币流通所需的时间,直到达到2100万的最大数量(预计在2140年的某个时间)。
第一个在所需范围内得到有效哈希的矿工会向网络的其余部分宣布他的胜利。其他矿工会立即停止对该区块的工作,并开始尝试找到下一个区块的神秘号码。作为对他们工作的奖励,获胜的矿工会得到一些新的比特币。
截至撰写本文时,每个区块的奖励是6.25个比特币,价值约为56,000美元。
然而,真正获得这个奖励并不像听起来那么容易。有很多挖矿节点在竞争这个奖励,你拥有的计算能力越强,你可以尝试的猜测计算就越多,你就越有可能获胜。
此外,成为挖矿节点的成本相当可观,不仅需要强大的硬件,还需要消耗大量电力。
另外,作为解决难题的奖励,比特币的数量将会减少。现在是6.25个比特币,但大约每四年减半一次(预计在2024年下一次减半)。比特币相对于电力和硬件成本的价值在未来几年可能会增长,以部分弥补这种减少,但还不确定。
如果您已经理解了上述内容,恭喜您!关于该系统还有很多需要探索的地方,但至少现在您对编程天才的大致轮廓和概念有了一定的了解。我们现在首次拥有一个系统,可以方便地进行分布式、无需信任和防篡改的数字传输。