第 10 章-已通过 0/10 道测验
支付之旅
跟随一笔支付,了解它从钱包发起到结算确认的全过程。
- 按顺序说明一笔支付从钱包构建交易到获得确认的过程
- 说出主要的失败情况,以及确认实际上提供了什么保证
快速解答
比特币(Bitcoin)支付的各个步骤是什么?
钱包构建交易并签名,节点验证并转发交易,矿工将其纳入区块,随后确认次数逐渐增加。
多少次确认才安全?
每增加一次确认,撤销交易就会变得更困难。对于大额交易,许多服务会等待六次确认;浅层重组仍可能撤销只有一两次确认的交易。
为什么比特币支付可能失败?
原因包括脚本有误、手续费过低而无法获得确认、交易被替换、交易从内存池(mempool)中被移除,以及浅层重组。
钱包构建交易
钱包首先选择 UTXO,将收款人的地址添加为输出,计算找零,并选择手续费率。币的选择会影响手续费、隐私,以及哪些币会被关联在一起。好的钱包会在签名前显示目标地址、金额和手续费。
Alice 签名
钱包使用 Alice 的私钥对 sighash 签名。签名授权所选输入,以及 sighash 类型所覆盖的输出。签名不会泄露私钥。在硬件钱包上,此时应在设备屏幕上核对收款地址和金额。
节点验证
节点在接受交易前会进行检查:签名必须验证通过,输入必须尚未花费,金额必须平衡,脚本必须执行通过。拒绝该交易的节点不会转发它。其他人仍可将其提交到别处,包括直接提交给矿工;不符合共识规则的交易无法被纳入有效链。转发策略也可能拒绝符合共识规则的交易。
转发与内存池
有效的未确认交易会在节点之间转发。每个节点都有自己的内存池(mempool),因此“在内存池中”并不意味着存在一个全球共用的等候区。矿工根据费率和其他策略规则选择交易。一笔交易可能存在于一个节点的内存池中,却不存在于另一个节点中。
矿工纳入交易
矿工从自己的内存池中选择交易,构建候选区块,并寻找工作量证明。如果矿工成功挖出区块,这笔支付就会出现在区块中。其他矿工可能在该区块之上继续构建,增加确认数。交易在确认前也可能被替换(RBF)或加速(CPFP)。
确认数增加
之后的每个区块都会在 Alice 的支付所在区块之上增加更多工作量证明,使撤销交易的成本更高。对于小额支付,1 次确认是一个强有力的信号;较大额的支付通常会等待更多确认。确认并非法律保证,深度链重组仍有可能发生,只是成本高昂。实际需要的确认数取决于金额和风险。
网络实验室
在模拟中看一看
追踪 Alice 发往伯利恒的支付。
你应该掌握的要点
一笔支付会经过构建、签名、验证、转发、挖矿(mining)和确认。每个步骤都可能出现问题:脚本有误、手续费过低、交易被替换、交易被丢弃,以及浅层链重组。
先回忆,再应用
追踪构建 → 签名 → 验证 → 转发 → 挖矿 → 确认的过程。说出确认前的一种故障和确认后的一种风险。
核对你的解释
确认前:交易因策略被拒绝、签名无效、手续费过低、被替换或被移出内存池。纳入区块后:链重组可能移除包含该交易的区块;后续确认会降低但不能消除这一风险。
检查点
关键术语
来源
审阅于 2026年10月25日;不构成财务建议