当你听到比特币"开采",你设想硬币被挖出地面。但比特币不是物理的,那么为什么我们称之为采矿?
- S( o, w6 V/ t+ a# [, h与黄金开采类似,比特币存在于协议的设计中,就像黄金存在于地下一样,但它们还没有被带出光中,就像黄金尚未被挖掘出来一样。
# z$ p& p* [% ]# O$ z6 r5 t+ e比特币协议规定,在某个时候最多将存在2100万比特币。矿工们所做的就是把他们带进灯光下,一次几个。一旦矿工完成开采所有这些硬币,将不会有更多的硬币推出,除非比特币协议改变,以允许更大的供应。矿工因创建验证交易块并将其包含在区块链中而获得交易费用。 w' {4 H. z+ p) S& w
& u6 i% q( |& M6 H& R! W3 f4 I
资料来源:舒特斯托克0 f3 j" a" M, K1 o2 h
要了解比特币挖掘的工作原理,让我们回溯一下,谈谈节点。节点是一个强大的计算机,运行比特币软件,并充分验证交易和块。由于比特币网络是分散的,这些节点共同负责确认待处理的交易。* }8 E5 S/ ]- k6 l
任何人都可以运行一个节点-你只需下载免费的比特币软件。缺点是它消耗能源和存储空间——编写时网络需要数百千兆字节的数据。节点在网络中传播比特币交易。一个节点会将信息发送到它知道的几个节点,谁将信息传递到他们所知道的节点,等等。这样,待处理的交易最终很快就绕过了整个网络。
+ K% Z; \6 x" w v$ C* f! z有些节点是采矿节点,通常称为矿工。这些块未完成的交易分成块,并将它们添加到区块链中。他们是怎么做到的?通过解决一个复杂的数学谜题,这是比特币计划的一部分,并包括在块的答案。' i2 x5 C' P: @. p2 e6 a% m; c
需要解决的难题是找到一个数字,当与块中的数据结合并通过哈希函数(将任何大小的输入数据转换为固定长度的输出数据)时,生成一定范围内的结果。: S" I5 v* M$ x' A
对于琐事爱好者来说,这个号码被称为"nonce",是"曾经使用过的号码"的缩写。在区块链中,nonce 是 0 和 4,294,967,296 之间的整数。
+ K* p( v) \4 x7 |他们如何找到这个号码?通过随机猜测。哈希函数无法预测输出的内容。因此,矿工猜测神秘数字,并将哈希函数应用于该猜谜数字和块中数据的组合。由此产生的哈希从一定数量的零开始。没有办法知道哪个数字会起作用,因为连续两个整数会给出非常不同的结果。更重要的是,可能有几个非王牌产生预期的结果,或者可能没有。在这种情况下,矿工们不断尝试,但具有不同的块配置。
7 x3 P+ ^& u" c5 I' R计算的难度(哈希字符串开头所需的零数)经常调整,因此处理方块平均需要大约 10 分钟。1 w+ f* k8 j9 v' [! X; h, u
为什么是10分钟?这是比特币开发人员认为在新硬币稳定且减少流动之前所必需的时间量,直到达到 2100 万的最大数量(预计在 2140 年某个时间)。0 Q ^" U. d% ]( p$ c
第一个在预期范围内获得结果的哈希的矿工向网络的其他部分宣布其胜利。所有其他矿工立即停止在该区块的工作,并开始试图找出下一个的神秘数字。作为对其工作的奖励,获胜的矿工获得一些新的比特币。( Q4 p! G7 a4 A D
在编写本文时,奖励为每块 6.25 比特币,2020 年 6 月价值约 56,000 美元。
# B0 p; f. e# J然而,这并不像听起来那么轻松。有很多采矿节点在争夺这个奖励,你的计算能力越强,你能执行的猜测计算越多,你就越幸运。
, X3 y9 D0 Z" k4 y5 A此外,作为采矿节点的成本相当可观,这不仅是因为所需的硬件强大,还因为这些处理器消耗了大量电力。
- ~6 i; a& a0 x5 o: M而且,作为解决难题的奖励而获得的比特币数量将会减少。现在是 6.25, 但每四年左右减半一次 (下一个预计在 2024 年) 。比特币相对于电力和硬件成本的价值可能会在未来几年内上升,以部分补偿这一减少,但目前还不确定。
" J) w' ~# m( R. h$ R. z' [如果你已经走到这一步,那么恭喜你!关于这个系统还有很多要解释的,但至少现在你已经对编程和概念的天才的大致轮廓有了想法。我们首次拥有一个系统,允许以分散、免信任和防篡改的方式进行方便的数字传输。 |