挖矿(英语:Mining),是指透过执行工作量证明或其他类似的电脑算法来获取加密货币,例如比特币、以太币、莱特币等。由于此名称源自对采矿的比喻,进行挖矿工作的人通常称为矿工。
矿工透过解决具有一定工作量的工作量证明机制问题,来管理比特币网络 —— 确认交易并且防止双重支付。
中本聪把透过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。 比特币的挖矿与节点软件主要是透过点对点网络、数字签名、交互式证明系统来发起零知识证明与验证交易。
每一个网络节点向网络进行广播交易,这些广播出来的交易在经过矿工(在网络上的电脑)验证后,矿工可使用自己的工作证明结果来表达确认,确认后的交易会被打包到资料块中,资料块会串起来形成连续的资料块链。
中本聪本人设计了第一版的比特币挖矿程序,这一程序随后被开发为广泛使用的第一代挖矿软件Bitcoin,这一代软件从2009年到2010年中旬都比较流行。
每一个比特币的节点都会收集所有尚未确认的交易,将其归集到一个资料块中,矿工节点会附加一个随机调整数,并计算前一个资料块的SHA-256散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标。
由于散列运算是不可逆的,查找到符合要求的随机调整数非常困难,需要一个可以预计总次数的不断试错过程。这时,工作量证明机制就发挥作用了。
当一个节点找到了符合要求的解,那么它就可以向全网广播自己的结果。其他节点就可以接收这个新解出来的资料块,并检验其是否符合规则。如果其他节点通过计算散列值发现确实
收益
比特币的发行和交易的完成是通过挖矿来实现的, 它以一个确定的但不断减慢 的速率被铸造出来。每一个新区块都伴随着一定数量从无到有的全新比特币,它作为coinbase交易奖励给找到区块的矿工。
每个区块的奖励不是固定不变的 ,每开采210000个区块,大约耗时4年,货币发行速率降低50%。在比特币运行的第一个四年中,每个区块创造出50个新比特币。每个区块创造出12.5个新比特币。除了块奖励外,矿工还会得到区块内所有交易的手续费。