术语表 /节点与软件
Bitcoin Core
- Bitcoin Core 是什么?
- Bitcoin Core 是比特币的参考实现,是中本聪原始客户端的后继版本,也是该网络中大多数验证节点实际运行的软件。
该项目沿用的是中本聪于2009年1月发布的同一套代码库,于2014年3月19日随版本0.9.0由 Bitcoin-Qt 更名为 Bitcoin Core,此后一直以 MIT 许可证发布。它是免费的,背后没有任何公司,其维护者可以发布代码,却无法强制任何一个人安装。您购买比特币时接触到的几乎一切,从交易所的提币系统到您钱包的手续费估算,都构建在它之上。
运作方式
Bitcoin Core 是打包在一次下载中的四个程序。
其一是验证引擎,承担任何节点定义所描述的工作:连接对等节点、检查每一条规则、维护未花费输出集。其二是包裹引擎的图形应用程序和无界面守护进程。其三是钱包,它是可选的,独立于一旁,自版本30.0起必须是描述符钱包,旧的 Berkeley DB 格式已被移除。其四是远程过程调用接口,生态系统中的其他一切都通过它与 Bitcoin Core 通信,因此交易所的后端和硬件钱包的桌面应用最终使用的是同一种“方言”。
它特殊的“宪制”地位值得了解。比特币没有独立于可运行代码之外的共识规范。有一大堆改进提案,也有替代实现,但当某条规则含糊不清时,实际的答案就是 Bitcoin Core 的行为,包括它的意外之处。2013年3月的链分叉就是因为一个存储库未写入文档的限制多年来悄然成为共识规则,直到软件变更时才有人发现。
新版本大约每年发布两次,版本号在2021年的版本22.0起去掉了开头的零。版本30.0于2025年10月13日发布。合并代码需要其他贡献者审核,项目中没有任何人可以把变更推送到您的机器上。
请把策略和共识区分开,因为最激烈的争论总是围绕前者。共识规则决定哪些区块有效,由网络上的每个节点共同遵守。策略规则决定单个节点转发什么、在内存池中保留什么,您今天下午就可以在配置文件中修改自己的策略,而不会离开网络。
购买比特币时为何重要
Bitcoin Core 的默认设置为您将来发起的每一笔交易设定了底线。
您的提币交易能否传播,取决于最低转发手续费,版本30.0把这一默认值从每虚拟字节1聪降至0.1,矿工最低可以接受0.001。输出是否小到会被当作粉尘拒收,卡住的付款能否被替换,父交易能否由子交易救回:这些都是 Bitcoin Core 的默认设置,不是自然法则。您提币时交易所建议的手续费,几乎可以肯定来自其自身 Core 节点的估算器。
同样的默认设置也延伸到托管。如果您把钱包保存在 Bitcoin Core 本身,版本30.0已完全移除旧的传统钱包格式,因此很旧的 wallet.dat 必须迁移,而不能直接打开。持有十年前备份的人,应当在需要这些币之前很早就测试迁移。
更大的要点是本站反复强调的一点。本站的交易所评测涵盖手续费、托管和提现政策,本站的国家指南涵盖谁可以合法地为您提供服务,但这两份列表中的每个平台,归根结底都是在转述节点告诉它的信息。购买是与一家公司建立的关系。验证则不是,而 Bitcoin Core 正是让您不必再去询问的工具。
OP_RETURN 之争与版本30.0
定义了 Bitcoin Core 在2025年的那场争斗,围绕的是83字节。
多年来,OP_RETURN 输出可携带数据的默认上限是83字节,节点不会转发更大的数据。版本30.0把这一默认值提高到100,000,并允许一笔交易中包含多个此类输出,这在实际上取消了上限。支持的理由是该限制已经失效:想在链上存储数据的人已在使用见证空间和向矿工私下提交的渠道,因此这条规则惩罚了诚实用户,并让其他所有人学会绕开公共转发网络。反对的理由是,无论有多少变通办法,Bitcoin Core 都不应让此事变得更容易。
这一事件的启发之处在于没有发生的事。没有任何关于区块有效性的规则发生变化。使用旧设置的节点和使用新设置的节点接受完全相同的区块,只是在事先转发什么上有分歧,并且仍在同一条链上。可见的结果是一场迁移:默认设置严格得多的 Bitcoin Knots,在随后一年里从微不足道增长到约占可连接节点的五分之一。当没有人能强迫任何人时,比特币内部的分歧就是这个样子。
Bitcoin Core vs Bitcoin Knots
Bitcoin Core 与 Bitcoin Knots 的验证方式相同,转发方式不同。Knots 基于 Core 的代码并附加补丁,对转发哪些交易保持更严格的默认设置,并增加了 Core 不提供的配置选项。两者都不会产生独立的币,因为转发策略不是共识规则。在两者之间选择,就是选择您自己的机器转发哪些交易,以及您更看重庞大的审核流程,还是更看重一个与您对“什么应当进入区块”看法一致的小型流程。
Bitcoin Core vs 节点
Bitcoin Core 是一款软件;节点是该软件在网络中扮演的角色。这一区分很重要,因为存在替代品。Knots、btcd 和 libbitcoin 都使用同一协议,关闭钱包功能的 Core 安装仍然是一个完整节点。反过来,许多被称为节点的产品其实只是外壳漂亮的钱包。当有人说自己运行着一个节点时,有用的追问是:它是在为他验证区块,还是只是保管他的密钥。