13 / 736WAL

钱包

Bitcoin Wallet

如何接收和发送比特币、谁掌握私钥,以及手机或签名设备丢失后需要什么才能恢复。

比特币钱包帮助你收款、查看余额和准备付款。不过,同一个名称可能代表不同的管理方式:有时由应用自己签名,有时由独立设备签名,使用托管服务时则由服务商处理。因此,比起界面的样子,更重要的是弄清谁控制私钥,以及如何恢复使用权。

朋友向你钱包中的一个地址发送比特币,并不是把装着币的文件传到你的手机,而是在比特币网络中创建一笔交易。钱包会跟踪付款是否到达、是否已在区块中确认,并把它反映在余额中。以后你想付款时,钱包会准备另一笔交易。授权付款通常需要数字签名,也就是有权花费资金的证明。钱包用私钥生成签名;私钥是秘密信息,签名时不会向别人公开。因此,应用和网络承担不同角色:钱包帮助你付款,网络检查付款是否符合规则。 [1]

显示的余额往往由多笔独立、尚未花费的金额组成,称为 UTXO。钱包根据自己管理的信息找到它们,并判断哪些已经使用。仅仅跟踪这些金额,不需要私钥。Watch-only Wallet 是只观察、不自行签名的钱包:它可以显示收款或准备付款方案,却不能自己签署方案。例如,储蓄的私钥保留在独立设备上时,你仍可用它查看资金。所以,屏幕上出现一个金额,并不证明这个应用能够把钱发出去。 [1]

采用 Self-custody,也就是自行保管时,你控制签名所需的私钥,也承担保护和恢复私钥的责任。使用 custodial,即托管服务时,私钥由服务商持有,提款也由服务商执行。应用中的余额表示,按照服务商的账目,它允许你提取多少;不代表你控制相应的私钥。服务是否可用、有哪些规则也很重要。因此,两个应用即使显示同样的金额,在你失去访问权限或服务商出问题时,结果也可能完全不同。 [1]

地址让别人能够向你付款。钱包根据决定所收比特币以后如何花费的信息生成地址。你可以把地址发给付款人;通常,仅知道地址不足以把你的资金转走。私钥和 Seed Phrase 则不同。Seed Phrase 是一组有顺序的备份词,兼容的钱包可以用它恢复私钥。不要把这些秘密交给任何人。不过,分享地址仍会影响隐私:知道地址的人可以查看它的公开历史。为下一笔收款使用新地址,有助于避免不必要地关联不同付款。 [1]

付款时,钱包选择合适的 UTXO,准备收款金额和可能的找零,并提出手续费。随后才对交易签名,再交给网络。每个步骤不必由同一台设备完成。PSBT 是在应用与签名设备之间传递未完成比特币交易的格式。Hardware Wallet 是独立的硬件设备,在内部保护私钥并生成签名。因此,它可以签署电脑准备的方案,而不把私钥交给电脑。应在设备可信的屏幕上核对目标地址和金额。设备本身不知道你真正想付给谁。 [2]

许多现代钱包按照 BIP 32 的规则,从共同的起点 seed 派生多把私钥。BIP 39 等标准使用的 Seed Phrase 可以帮助恢复这个起点,并不是把某一把私钥直接写成单词。如果使用 BIP39 passphrase,也就是派生时可选的额外输入,恢复时也需要它。输入错误可能打开另一个钱包,却不出现警告。派生路径说明每把密钥如何生成,脚本类型说明花费条件采用何种写法;恢复软件也可能需要这些信息,才能找到正确的私钥和地址。Multisig 要求多个签名才能花费,因此还需备份签名规则和共同签名者的公开信息。只有一个钱包的备份词可能不够。 [3] [4] [2]

经过检验的手机钱包可用于学习小额交易和日常付款。长期保存较大金额,需要更仔细地考虑保护方式:私钥在哪里、谁能接触,以及备份是否可用。独立签名设备可以减少手机或电脑被入侵带来的部分风险,但不能阻止你批准一笔错误付款。把日常开销与储蓄分开,可以限制一次失误的影响。目标并不是让保护措施越复杂越好;如果你不理解这套流程,或不会按它恢复钱包,流程本身也会带来风险。 [1]

用于恢复的应用或设备必须支持你的钱包类型和备份格式。 写下备份,不等于已经确认能够恢复钱包。备份词必须完整、清晰可读、顺序正确,其他必要信息也不能丢失。请使用钱包或设备推荐的安全备份检查、恢复流程。不要把真实备份词输入别人发来的“钱包验证”网页来试验。自称客服的人也不需要这些词。如果正确备份能够恢复私钥,丢失的手机可以更换。但仅仅重新安装同一个应用,或修改应用密码,不能找回缺失的原私钥。 [4] [5]

显示余额之前,钱包需要获知相关交易的状态。它可能使用服务商的服务器,也可能连接你的 Full Node,即独立检查比特币规则的计算机。服务器可能推断出地址与查询之间的关联,也不一定显示与另一个节点相同的未确认交易。自己的节点只有在钱包真正使用它时才有帮助。这与持有私钥是两回事:应用可以完全把签名交给你,却仍依赖别人的服务器取得信息。因此,自行保管和独立验证应分别判断。 [1]

即使设备再好,如果你安装假应用、泄露备份词,或批准向错误地址付款,也无济于事。Phishing,也就是网络钓鱼,是攻击者冒充可信网站、消息或客服,骗取秘密或诱导你批准有害操作的骗局。因此,要核实应用和更新的来源,检查付款信息,也保护备份免于丢失或损毁。如果别人取得私钥,修改应用密码并不能让对方的副本失效。应把钱包理解为管理资金的整套方式:应用、可能使用的签名设备、备份,以及你的使用习惯。 [2] [5]

要获得更完整的理解,请将本词条与以下词条结合阅读: Private Key, UTXO, 交易, Full Node, Lightning Network. 反向关联还来自: UTXO, Private Key, Lightning Network, 比特币地址.

DOC · 001Bitcoin Developer Guide: Wallets一手来源 DOC · 002BIP 174: PSBT一手来源 DOC · 003BIP 32: wallet derivation一手来源 DOC · 004BIP 39: passphrase一手来源 DOC · 005Trezor: scams and phishing一手来源
修订日期: 来源优先 · 非投资建议