用通俗的话说,比特币挖矿是如何运作的?
定义 · 比特币挖矿
通过找到低于网络目标值的区块哈希,将下一批交易添加到比特币账本中的过程。这个过程需要进行海量猜测。获胜者会获得新生成的比特币和交易费。
想象一场用电力买票的彩票。每个矿工都会构建自己的候选区块,然后尽可能快地通过哈希运算买票。大多数票都不会中奖。大约每隔 10 分钟,世界某个地方就会有人抽中,将结果展示给所有人,然后大家又会从这个区块开始新一轮竞赛。
深入了解 · 完整指南
从头讲解比特币挖矿
奖励、减半、难度、硬件、矿池、能源,以及如今挖矿是否划算,附实时数据。
挖出一个区块要经过哪些步骤?
上方的动画会在区块 969,785 上演示这些步骤。下面用文字说明:
- 1
收集交易
从内存池中取出等待处理的交易,按费率从高到低排列,并添加一笔向矿工支付奖励的 coinbase 交易。
- 2
构建默克尔根
将交易两两配对进行哈希运算,再逐层向上处理,直到得到一个代表所有交易的哈希值。
- 3
填写区块头
80 字节中的六个字段:版本、上一个区块的哈希值、默克尔根、时间、目标值和随机数。
- 4
进行哈希运算,修改随机数,再重复
对区块头进行两次 SHA-256 运算。如果结果太大,就更改随机数再试一次。
- 5
哈希值低于目标值
低于目标值的哈希就是工作量证明。其他节点只需计算一次哈希就能验证。
- 6
领取奖励
区块加入区块链,coinbase 交易支付区块补贴和手续费。所有人接着处理下一个区块。
当 4.3 十亿个可能的 nonce 都试完后,矿工会改动 coinbase 交易中的一个备用字段。现代机器不到一秒就能试完这些 nonce。这样会生成新的默克尔根,也就有了一组新的 nonce 可供尝试。
比特币挖矿为什么这么难?
因为 SHA-256 无法预测。只要改变头部中的一位,哈希值就会完全改变,所以没有捷径。要找到胜出的哈希,唯一的办法就是不断尝试,而目标值的设置让整个网络大约需要 10 分钟。
811 EH/s
全网算力
实时,每小时更新
4.9 × 1023
平均每个区块的哈希次数
哈希率 × 600 秒
~10 分钟
平均区块时间
难度目标值
2,016
难度调整之间的区块数
大约两周
如果有更多矿机加入,区块会在一段时间内更快产生。等到下次调整时,目标值会变得更难达到。如果矿工退出,目标值就会变得更容易达到。难度指南会实时追踪下一次调整。
我可以试着自己挖一个区块吗?
可以,就在这里。这个简化区块会在你的浏览器中进行真实的双重 SHA-256 运算。将难度设为 5 或 6 个前导零,看看需要的时间会增加多少:
互动 · 在浏览器里挖一个区块
真实 SHA-256d 工作量证明,简化版区块头
区块哈希(双重 SHA-256)
改一下交易内容,只改一个字母,哈希就会完全变掉。
尝试次数:0
你的算力:n/a
用时:0.0 s
每多一个前导零,难度就会增加约 16 倍。实际区块需要约 19 或 20。想了解哈希计算本身、如何逐字节编辑区块头,以及发动 51% 攻击需要什么,请看工作量证明。
比特币为什么需要挖矿?
比特币没有银行来决定哪笔付款先发生。挖矿负责这项工作。每个区块都会按顺序记录一批交易,而且每个区块都建立在前一个区块之上,因此要更改一笔较早的付款,就得重新完成此后所有区块的工作。这就是已确认的付款难以撤销的原因。
你能自己挖比特币吗?
如果你有专用 ASIC、廉价电力和一个 矿池,可以,但利润空间很小。手机或笔记本电脑的速度慢了数百万倍,根本起不了作用。
The easy way to start is the CloudMineCrypto app. You mine for free with the free plan, ads, games, offers and daily check-ins, with no hardware, noise or power bill, and withdraw to your own wallet over Lightning, Bitcoin on-chain or BNB Smart Chain. Paid plans are an optional boost and usually mine less than they cost. Rewards are estimates based on live network data and aren’t guaranteed.
深入了解 · 完整指南
从头讲解比特币挖矿
奖励、减半、难度、硬件、矿池、能源,以及如今挖矿是否划算,附实时数据。
常见问题
简单来说,比特币挖矿是如何运作的?
矿工把等待处理的交易打包成一个区块,然后不断尝试一个数字,也就是随机数,直到区块哈希值低于目标值。最先找到符合条件哈希值的矿工会把区块添加到区块链,并获得区块奖励。
矿工到底在解什么问题?
没什么技巧。他们要找的是一个区块头,使其双重 SHA-256 哈希值低于目标值。找到它的唯一办法,就是不断更改随机数并重新计算哈希,每秒数万亿次。
挖出一个区块需要多久?
整个网络平均大约需要 10 分钟。难度每经过 2,016 个区块就会调整一次,以维持这个速度,不受总算力影响。
矿工挖出一个区块能获得什么?
区块补贴,自 2024 年 4 月起为 3.125 BTC,外加区块内所有交易的手续费。大多数区块由矿池挖出,奖励由矿池中的矿工共享。
可以在家挖比特币吗?
只有使用专业 ASIC 矿机、拥有便宜电费并加入矿池才有可能做到。即便如此,通常也赚不回成本。手机或笔记本电脑的速度远远不够。CloudMineCrypto 这类应用让你无需自己运行硬件,也能免费挖矿。奖励为估算值。
来源与延伸阅读
- 《Bitcoin: A Peer-to-Peer Electronic Cash System》(白皮书) · 中本聪,2008
- 区块链指南:区块头、默克尔树与工作量证明 · 比特币开发者文档
- 挖矿指南:单独挖矿与矿池 · 比特币开发者文档
- 区块哈希算法 · Bitcoin Wiki
- 默克尔树 · Bitcoin Wiki
- 难度 · Bitcoin Wiki
本页实时数据来自 CloudMineCrypto API 或旁边标注的公共区块链数据服务,按计划定时刷新,并在页面上标明来源。本指南仅供学习,不构成财务建议。CloudMineCrypto 不是投资产品;应用中的奖励均为估算值,不保证获得。
你已经知道它怎么运作了。现在看它实际跑起来。
在 CloudMineCrypto 应用中领取一个 8 小时的免费挖矿方案,根据实时网络数据查看你的预估 BTC 不断增长。无需硬件,无需银行卡。