跳转到内容

Bitcoin-Qt

来自BitcoinWiki
Bitcoin-Qt 界面
Bitcoin-Qt 界面。

Bitcoin-Qt 是从0.5.0版到0.9.0版更名为 Bitcoin Core 之前所使用的比特币图形客户端名称。它不是一个独立的现行钱包:现代 Bitcoin Core 版本仍将图形程序命名为 bitcoin-qt。[1][2]

名称沿革

Satoshi Nakamoto 于2009年发布最初的 Bitcoin 软件。基于 Qt 的图形界面随0.5.0版于2011年11月推出,取代此前的 wxWidgets 界面;这一时期的软件包称为 Bitcoin-Qt。[1] 0.9.0版采用 Bitcoin Core 名称,以区分软件项目、网络和货币。[2] 图形程序仍名为 bitcoin-qt,无图形界面的守护程序则名为 bitcoind。

这两个命名里程碑有明确的发布日期:Bitcoin-Qt 0.5.0 的公告日期为 2011年11月21日,Bitcoin Core 0.9.0 的公告日期为 2014年3月19日。后一个版本还将 RPC 客户端拆分为 bitcoin-cli。这些都是软件项目的变化;更名没有创造新的货币,也不需要新的比特币余额。[3][4]

当前作用

Bitcoin Core 是开源软件,包含完整验证节点和可选钱包。节点自行检查区块与交易,并可向其他节点转发有效数据,因此首次同步需要较多存储空间、带宽和时间。修剪模式可以减少长期保存的区块数据,但不会把 Bitcoin Core 变成轻客户端。[5][6]

节点和钱包承担不同的任务。节点可以验证和中继比特币数据,而无需持有私钥或花费比特币。从 0.21 版本起,Bitcoin Core 不再自动创建默认钱包;用户可以通过图形界面单独创建或打开钱包。[7]

Bitcoin Core 并非由 Bitcoin Foundation 控制的“官方客户端”。任何人都可提出、审查或测试修改;维护者在公开审查后合并补丁,而用户自行选择运行的软件和规则。[8]

程序组成与架构

Bitcoin Core 由一组相互配合的程序组成,并非只有桌面钱包。bitcoin-qt 把节点、钱包和图形界面结合起来;bitcoind 以守护进程方式运行节点和钱包;bitcoin-cli 向运行中的实例发送 RPC 调用。发行包还包含交易处理工具 bitcoin-tx、钱包维护工具 bitcoin-wallet 及其他实用程序。[9]

图形程序并不取代验证引擎。它显示节点状态、对等连接、同步进度和交易记录,并提供收发、手续费控制和钱包管理。无需桌面界面的运营者通常运行 bitcoind。

30.0 版本新增了 bitcoin 命令,用于调用现有程序:bitcoin gui 调用 bitcoin-qt,bitcoin node 调用 bitcoind,bitcoin rpc 以具名参数调用 bitcoin-cli。发行说明明确保留了直接调用这些程序的命令。运行图形应用程序会启动其节点功能;仅仅使用图形界面无需另行运行 bitcoind 进程。[10][11]

项目更名后,Qt 工具包仍在不断演进。Bitcoin Core 30.0 将图形界面从 Qt 5 迁移到 Qt 6,而 31.0 的发行说明记载了向 Qt 6.8 的更新。因此,可执行文件名 bitcoin-qt 并不意味着该程序仍是2011年的旧版客户端。[10][12]

验证、同步与修剪

新节点下载区块数据,并独立检查工作量证明、交易结构及适用的共识规则。chainstate 数据库存放验证后续交易所需的未花费交易输出。与依赖第三方服务器的钱包相比,这种独立验证减少了信任假设,但需要更多时间、带宽和磁盘空间。[9]

Bitcoin Core 0.11 引入区块修剪:完整验证节点在建立区块索引和 UTXO 集后,可以删除较旧的原始区块与撤销数据。修剪减少存储,却不会跳过验证;某些需要旧区块的重新扫描或历史查询会受到限制,后续版本加入了修剪模式下的钱包支持。[13][14]

钱包与交易

钱包跟踪密钥或签名策略,以及它能够花费的交易输出。显示的余额是一个或多个未花费交易输出(UTXO)之和,并非存放在某个地址上的单一数字。当选定 UTXO 超过付款额与手续费之和时,交易通常会把余额作为找零输出返回由钱包控制的脚本。找零不是第二笔手续费,也不是误付给陌生地址。[15]

旧配置示例也可能在其描述的接口发生变化后继续流传。Bitcoin Core 31.0 移除了启动选项 paytxfee 和 RPC settxfee;二者在 30.0 版本中已被弃用。其发行说明建议使用手续费估算或针对具体交易的手续费率,因此应根据所用版本核对旧的 Bitcoin-Qt 手续费设置示例。[12]

地址与找零的生成说明了备份和密钥管理的重要性。现代钱包可从记录的描述符派生多个收款与找零脚本。像复制普通文件一样复制正在使用的钱包数据库可能不安全;项目文档建议使用会协调数据库状态的钱包备份功能。[9]

区块链数据和钱包的用途不同。重新下载区块不能替代丢失的私钥。文档所述的“备份钱包”功能或 backupwallet RPC 会生成协调一致的数据库备份。钱包加密可以保护私钥,但不会隐藏交易历史或公钥元数据,也无法找回遗忘的密码短语。钱包管理文档要求在加密和迁移后创建新备份;备份应作为敏感钱包材料妥善保护。[7][11]

旧式钱包与迁移

Bitcoin Core 0.15 加入多钱包支持。描述符钱包在0.21版中作为实验功能出现,23.0版起成为新钱包的默认类型,并在30.0版取代旧式 Berkeley DB 钱包。描述符明确表达钱包监控的脚本和密钥,并使用 SQLite。因此,许多旧版 Bitcoin-Qt 的备份、导入和恢复说明只适用于特定版本。[16][17][18][19]

从 30.0 版本起,旧式 Berkeley DB 钱包不能再被创建或加载供日常使用,但仍可迁移至描述符钱包。26.0 版本引入了图形界面迁移选项。迁移除了生成主要的描述符钱包,也可能生成单独的仅观察钱包或可求解脚本钱包。项目将这一转换描述为尽力而为:不常见的脚本配置可能需要进一步处理。迁移会保留旧钱包备份,且需要为迁移后的钱包创建新备份。仅凭旧的 wallet.dat 文件名,无法确定其数据库格式或所需的恢复过程。[10][20][7][11]

仅观察钱包与外部签名

观察公钥或脚本的钱包可以追踪相关支付,而无需拥有花费这些资金所需的私钥。外部签名将交易准备与签名分开:Bitcoin Core 22.0 为包括硬件钱包在内的外部签名设备加入了实验性图形界面支持,使用 HWI 等单独安装的工具。支持情况取决于工具、设备和软件版本,并不保证兼容所有硬件钱包。该项目还支持部分签名比特币交易(PSBT),这是一种允许多个程序交换交易、同时收集完成交易所需信息和签名的格式。[21][22]

下载与安全

现行软件应从 Bitcoin Core 项目获取,不应从提供“Bitcoin-Qt”的网页或镜像下载。官方页面发布 SHA-256 校验和、签名及验证方法。[23] 用户仍须备份钱包资料并防范恶意软件。旧版 Bitcoin-Qt 指南可能包含过时版本或恢复步骤。

项目在 2026年1月的公告指出,Bitcoin Core 30.0 和 30.1 中存在一个特定迁移缺陷:在涉及默认的未命名旧式 wallet.dat 的罕见失败情况下,通过图形界面或 RPC 迁移可能删除钱包目录中的文件并造成资金损失。公告称,不尝试迁移的用户不受影响。受影响版本的二进制文件已被撤下,30.2 版本的发行说明列出了修复。因此,旧的使用 30.0 或 30.1 进行迁移的说明是不安全的;警告针对这些迁移方式,而非 Bitcoin Core 的所有使用情况或此后的每次迁移。[24][25]

参考资料

  1. ↑ 1.0 1.1 Bitcoin Core version 0.5.0 released,Bitcoin.org,2011年11月21日。
  2. ↑ 2.0 2.1 Bitcoin Core version 0.9.0 released,Bitcoin.org,2014年3月19日。
  3. ↑ Bitcoin-Qt 0.5.0 release announcement, checked 27 October 2026
  4. ↑ Bitcoin Core 0.9.0 release notes: rebranding and bitcoin-cli, checked 27 October 2026
  5. ↑ About Bitcoin Core,Bitcoin Core,检索于2026年8月28日。
  6. ↑ Bitcoin Core wallet overview,Bitcoin.org,检索于2026年8月28日。
  7. ↑ 7.0 7.1 7.2 Bitcoin Core v31.0: Managing the Wallet, checked 27 October 2026
  8. ↑ Contributing to Bitcoin Core,Bitcoin Core 代码库,检索于2026年8月28日。
  9. ↑ 9.0 9.1 9.2 Bitcoin Core file system and installed files,Bitcoin Core 代码库,检索于2026年8月28日。
  10. ↑ 10.0 10.1 10.2 Bitcoin Core 30.0 release notes: GUI, programs and wallet changes, checked 27 October 2026
  11. ↑ 11.0 11.1 11.2 Bitcoin Core v31.0: File system and installed files, checked 27 October 2026
  12. ↑ 12.0 12.1 Bitcoin Core 31.0 release notes, checked 27 October 2026
  13. ↑ Bitcoin Core 0.11.0 release notes,Bitcoin Core。
  14. ↑ Bitcoin Core 0.12.0 release notes,Bitcoin Core。
  15. ↑ Transactions,Bitcoin Developer Guide。
  16. ↑ Bitcoin Core 0.15.0 release notes,Bitcoin Core。
  17. ↑ Bitcoin Core 0.21.0 release notes,Bitcoin Core。
  18. ↑ Bitcoin Core 23.0 release notes,Bitcoin Core。
  19. ↑ Bitcoin Core 30.0 release notes,Bitcoin Core。
  20. ↑ Bitcoin Core 26.0 release notes: GUI wallet migration, checked 27 October 2026
  21. ↑ Bitcoin Core 22.0 release notes: external signers, checked 27 October 2026
  22. ↑ Bitcoin Core 0.18.0 release notes: PSBT interface, checked 27 October 2026
  23. ↑ Download Bitcoin Core,Bitcoin Core,检索于2026年8月28日。
  24. ↑ Bitcoin Core: Wallet migration failure in 30.0 and 30.1, January 2026, checked 27 October 2026
  25. ↑ Bitcoin Core 30.2 release notes: wallet migration fixes, checked 27 October 2026