Bitcoin Core 28.0 版本已正式发布,为全球比特币节点运营商和开发者带来了一系列重要更新。本次升级涵盖了网络协议、内存池策略、RPC接口及钱包功能等多方面改进,旨在提升节点安全性、互操作性和用户体验。
版本概览与获取方式
Bitcoin Core 28.0 提供了可执行的安装包及源代码,用户可通过官方渠道下载。本次更新包含新功能引入、错误修复、性能优化及多语言翻译更新。
若使用过程中遇到问题,可通过 GitHub 议题追踪器进行反馈。为及时获取安全更新通知,建议订阅官方公告邮件列表。
升级操作指南
升级前请确保完全关闭旧版本节点(某些情况下可能需要数分钟)。之后根据操作系统执行安装:
- Windows:运行安装程序
- macOS:覆盖
/Applications/Bitcoin-Qt - Linux:替换
bitcoind或bitcoin-qt二进制文件
从已停止支持的旧版本直接升级可行,但若需迁移数据目录可能耗时较长。请注意,在 macOS 上运行需自签名二进制文件。
系统兼容性说明
Bitcoin Core 官方支持并深度测试以下操作系统:
- Linux Kernel 3.17+
- macOS 11.0+
- Windows 7 及更新版本
虽可运行于多数类 UNIX 系统,但未经充分测试。强烈不建议在不受支持的系统中使用。
重要功能更新
Testnet4 与 BIP94 支持
新增对 BIP94 规范中 Testnet4 的支持,可通过 -testnet4 选项选择该网络,配置区块标头亦命名为 [testnet4]。尽管计划逐步淘汰 Testnet3,本版本仍保留其支持。
Windows 数据目录调整
Windows 默认数据目录由 C:\Users\Username\AppData\Roaming\Bitcoin 改为 C:\Users\Username\AppData\Local\Bitcoin。为向后兼容,若旧目录存在,节点仍优先使用旧路径。
JSON-RPC 2.0 规范支持
JSON-RPC 服务端现严格遵循 JSON-RPC 2.0 规范处理请求与响应。部分客户端可能需要更新以适应新规范,如遇到兼容性问题请及时反馈。
libbitcoinconsensus 库移除
已于 27.0 版本弃用的 libbitcoinconsensus 库在此版本中完全移除。
P2P 与网络层优化
- 绑定行为调整:使用
bind=addr:port配置时,不再自动绑定至127.0.0.1:8334监听 Tor 连接。若需此功能,须显式设置bind=127.0.0.1:8334=onion。 - 启动失败处理:任一 P2P 绑定失败即中止启动,而非此前全部失败才退出。
- UNIX 域套接字支持:现可通过
unix:前缀设置代理连接与 ZMQ 发布套接字路径。 - 白名单权限细化:
-whitelist增加 "in" 和 "out" 标志,分别控制入站与手动连接的权限。 - 有限包传输支持:过低费率交易可与子交易组成包进行传输,启用有限条件下的“包中继”功能。👉 查看实时节点管理工具
内存池策略更新
- 版本 3 交易标准化:所有网络均视版本号为 3 的交易为标准交易,同时遵循 BIP 431 的拓扑限制确认(TRUC)策略。
- Pay To Anchor (P2A) 输出类型:新增标准见证输出模板,支持无密钥锚点输出,提升交易效率与稳定性。
- 有限包 RBF 启用:允许冲突包替换大小为 2 的集群交易。
- 全 RBF 默认启用:
-mempoolfullrbf配置默认值改为 1。
RPC 接口更新摘要
dumptxoutset与loadtxoutset:采用新版 UTXO 集转储格式,旧格式不再支持。- AssumeUTXO 主流网参数:高度 840,000 的参数已添加,便于在该高度加载 UTXO 集。
- 多警告信息返回:
getblockchaininfo等 RPC 的warnings字段改为返回字符串数组。 - 错误消息优化:
sendrawtransaction对已存在于 UTXO 集的输出返回更精准的错误描述。 - 费率估算模式调整:
estimatesmartfee默认模式由“保守”改为“经济”,降低高估概率。 - 扫描输出集功能增强:
scantxoutset返回结果新增blockhash和confirmations字段。 - 提交包交易参数扩展:
submitpackage支持maxfeerate和maxburnamount参数。
钱包功能改进
- 内存池冲突检测:自动检测钱包交易与内存池冲突,冲突交易显示于
gettransaction的mempoolconflicts字段。 - 交易权重限制:
fundrawtransaction等 RPC 新增max_tx_weight选项,默认 4,000,000 WU。 - 描述符管理增强:
createwalletdescriptor可自动添加新标准描述符(如 Taproot);gethdkeys列出钱包中所有 BIP32 HD 密钥。 - 未确认资金处理:
sendall可花费未确认找零并附加费用提升费率。 - 提升费率灵活性:
bumpfee指定fee_rate时不再受钱包增量费率限制。
图形界面(GUI)更新
- 钱包迁移功能:“迁移钱包”菜单支持迁移钱包目录内任何旧版钱包,无论是否加载。
- 内存池信息显示:“信息”窗口新增显示内存池最大容量及使用量。
底层架构与测试调整
- 测试网时间扭曲攻击防护:Regtest 网络启用 BIP94 攻击缓解机制。
- 测试数据目录指定:
test_bitcoin新增-testdatadir选项。 - 区块文件加密:默认使用 blocksdir 中存储的密钥对区块文件进行 XOR 加密。
- 链状态库缓存优化:剪枝区块时保留数据库缓存,显著缩短初始块下载时间。
- 依赖项精简:移除 Boost.Process 依赖,改用内置 cpp-subprocess。
常见问题
如何升级至 Bitcoin Core 28.0?
关闭旧版本节点后,根据操作系统运行安装程序或替换二进制文件。从较旧版本升级可能需数据迁移。
新版本对系统环境有何要求?
需 GCC 11.1+ 或 Clang 16.0+ 编译,运行环境需 glibc 2.31+。Windows 7+、macOS 11.0+ 及 Linux Kernel 3.17+ 均受支持。
JSON-RPC 2.0 带来哪些变化?
服务端严格遵循 2.0 规范,旧客户端可能需调整兼容性。👉 获取进阶节点配置方法
什么是 TRUC 交易策略?
拓扑限制确认(TRUC)为版本 3 交易引入的新策略,包含未确认输出花费限制、替代机制及大小限制,旨在提升费用激励兼容性。
如何迁移旧版钱包?
通过 GUI 的“迁移钱包”菜单可处理目录内所有旧版钱包,无需预先加载。
区块文件加密有何影响?
默认 XOR 加密后,旧版 Bitcoin Core 或外部软件无法读取非零密钥的 blocksdir,需注意版本兼容。
致谢
感谢所有开发人员、测试人员及翻译社区成员的贡献,正是大家的努力使得 Bitcoin Core 28.0 得以成功发布。