当前位置:首页 > BTC入门 > 正文内容

比特币的“奖励减半”代码在哪?

newbie5个月前 (06-07)BTC入门139

比特币的"奖励减半"不是靠董事会投票决定的,也不是某个服务器上的开关一拨就完事。它就写在一段公开的代码里,任何人都可以去GitHub上看。这篇文章不绕弯子,直接带你找到这段代码的准确位置,逐行看它是怎么运行的。              各大交易所:欧易官网  币安官网  芝麻Gate      


一、核心代码的位置

程序员正在 GitHub 上查看比特币的核心源代码

比特币减半的核心逻辑藏在一个叫 GetBlockSubsidy 的函数里。主文件在 src/validation.cpp,官方仓库 https://github.com/bitcoin/bitcoin,最新版就在这个函数里面。

比特币网络中所有全节点都运行着同一份源代码,验证新区块时都会调用这个函数计算当前区块的奖励。如果一个矿工试图伪造一个超过规定数额的区块,网络中的所有节点都会拒绝这个区块。这不是某个人说了算的事,而是代码逻辑约束下的结果。


二、完整核心代码逐行拆解

CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
    int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
    // 当右移操作未定义时,强制区块奖励为零
    if (halvings >= 64)
        return 0;
    CAmount nSubsidy = 50 * COIN;
    // 补贴每 210,000 个区块减半一次,大约每 4 年发生一次
    nSubsidy >>= halvings;
    return nSubsidy;
}

就这么几行,整个减半机制全在里面了。


三、关键参数详解

参数/常量含义具体数值
nHeight当前区块的高度,即全网已经挖出的区块数量动态变化
consensusParams.nSubsidyHalvingInterval减半间隔区块数210,000 个区块
COIN1个比特币等于多少"聪"的进制100,000,000(1亿)
50 * COIN初始区块奖励(单位是聪)5,000,000,000 聪(即50个BTC)
>>=二进制右移运算符每右移一位相当于除以2
halvings >= 64减半次数上限超过64次,奖励直接归0

拿一个真实例子代入公式:假设当前区块高度是704,673,减半间隔是210,000个区块。第一步,用 704,673 除以 210,000,得到 3.35,取整后 halvings = 3。第二步,3 远小于 64,继续计算。第三步,将初始奖励 50 进行右移 3 次:右移 1 次 50→25,右移 2 次 25→12.5,右移 3 次 12.5→6.25。最终得出当前区块奖励为 6.25 BTC。


四、为什么21万这个数字决定了"四年一次"?

比特币网络设计为每 10 分钟左右挖出一个新区块。210,000 个区块乘以 10 分钟,大约就是 4 年(精确计算是 210,000 × 10 ÷ 60 ÷ 24 ÷ 365 ≈ 3.995 年)。所以每隔四年左右,矿工到手的奖励就会砍一半,这不是人为安排的,是数学算出来的。


五、2100万枚BTC上限是怎么来的

 210,000 个区块组成的循环

总和 = 210,000 ×(50 + 25 + 12.5 + 6.25 + ……)= 210,000 × 100 = 21,000,000 BTC。

这也是为什么代码里从没有直接出现过 21,000,000 这个数字,但最终产出的总量却恰好是这个数。这不是巧合,是等比数列求和的结果,写代码的人一开始就算好了。


六、代码为什么不能改?

很多人会问:代码就在那里,我把它改了不就行了?

事情没那么简单。比特币的去中心化依靠的是共识:全网成千上万个节点必须同时接受并运行同一套规则。如果只是你一个人单方面改了代码,你挖出来的区块在其他节点眼中就是非法的,会被直接拒绝。改变减半规则需要整个社区达成分叉共识。这不是写代码的问题,而是治理和生态共识的问题。代码公开、规则写死、全网监督——这才是比特币减半机制真正靠得住的地方。


免责声明

本文仅为技术科普,不构成任何投资建议。代码位置和参数可能随版本变化,请以比特币Core官方GitHub仓库为准。


相关文章

从下载到持有:2026年在交易所用100元买入比特币的极简实操指南

从下载到持有:2026年在交易所用100元买入比特币的极简实操指南

写在前面:为什么是现在?2026年6月12日,比特币最新价格在62674美元附近震荡,MA5与MA10几乎重合在62600美元一线——这意味着短期趋势正在走平。回头看,2025年末BTC从10万美元高...

用这个交易所买第一枚比特币:从开户到持仓,小白必经的7个关键步骤

用这个交易所买第一枚比特币:从开户到持仓,小白必经的7个关键步骤

对于加密市场新手而言,购入第一枚比特币不只是简单的“下单购买”,而是一套完整的账号安全、资金流转、持仓风控体系。2026年币安持续迭代界面功能、风控规则与手续费体系,网上大量老旧教程早已失效,很多小白...

交易所买入第一颗比特币2026全流程:从注册到持仓,新手只看这一篇就够了

交易所买入第一颗比特币2026全流程:从注册到持仓,新手只看这一篇就够了

先说结论:2026年买第一颗BTC,币安依然是最优解别被那些"币安不行了"的噪音带偏。CoinGecko 2026年Q1数据摆在那儿:币安现货市场份额39.2%,日均交易额800亿...

零基础入门比特币:从购买第一笔聪到看懂区块高度,2025年小白上车指南

零基础入门比特币:从购买第一笔聪到看懂区块高度,2025年小白上车指南

2025年10月,比特币冲到12.6万美元那天,朋友圈全是晒单的。2026年6月,价格跌回6万多,朋友圈安静了。但真正该上车的人,从来不在山顶买。现在是2026年6月23日,比特币在6.7万美元附近横...

新手第一课2026:从注册到买齐0.01个BTC全流程,5分钟看懂比特币

新手第一课2026:从注册到买齐0.01个BTC全流程,5分钟看懂比特币

2026年6月24日,比特币报价68000-75000美元,折合人民币大约50-52万元一个。0.01个BTC,也就是5000块出头。一顿火锅钱,你就能拥有一枚比特币的百分之一。听起来不多,但这是你踏...

在比安买 BTC 之前,你需要知道的 5 个基础概念

在比安买 BTC 之前,你需要知道的 5 个基础概念

引言:认知缺失,是新手买 BTC 亏损的第一根源2026 年 BTC 价格长期维持 6 万 —7.3 万美元区间宽幅震荡,现货 ETF 间歇性净流入带动大量新手进入币安配置比特币。从二季度币安平台用户...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。