本页面由英文自动翻译而成。自动翻译。

Switch to EnglishView in English报告翻译问题提出修改建议

返回课程

第 10 章-已通过 0/10 道测验

支付之旅

跟随一笔支付,了解它从钱包发起到结算确认的全过程。

  • 按顺序说明一笔支付从钱包构建交易到获得确认的过程
  • 说出主要的失败情况,以及确认实际上提供了什么保证

快速解答

比特币(Bitcoin)支付的各个步骤是什么?

钱包构建交易并签名,节点验证并转发交易,矿工将其纳入区块,随后确认次数逐渐增加。

多少次确认才安全?

每增加一次确认,撤销交易就会变得更困难。对于大额交易,许多服务会等待六次确认;浅层重组仍可能撤销只有一两次确认的交易。

为什么比特币支付可能失败?

原因包括脚本有误、手续费过低而无法获得确认、交易被替换、交易从内存池(mempool)中被移除,以及浅层重组。

钱包构建交易

钱包首先选择 UTXO,将收款人的地址添加为输出,计算找零,并选择手续费率。币的选择会影响手续费、隐私,以及哪些币会被关联在一起。好的钱包会在签名前显示目标地址、金额和手续费。

Alice 签名

钱包使用 Alice 的私钥对 sighash 签名。签名授权所选输入,以及 sighash 类型所覆盖的输出。签名不会泄露私钥。在硬件钱包上,此时应在设备屏幕上核对收款地址和金额。

节点验证

节点在接受交易前会进行检查:签名必须验证通过,输入必须尚未花费,金额必须平衡,脚本必须执行通过。拒绝该交易的节点不会转发它。其他人仍可将其提交到别处,包括直接提交给矿工;不符合共识规则的交易无法被纳入有效链。转发策略也可能拒绝符合共识规则的交易。

转发与内存池

有效的未确认交易会在节点之间转发。每个节点都有自己的内存池(mempool),因此“在内存池中”并不意味着存在一个全球共用的等候区。矿工根据费率和其他策略规则选择交易。一笔交易可能存在于一个节点的内存池中,却不存在于另一个节点中。

矿工纳入交易

矿工从自己的内存池中选择交易,构建候选区块,并寻找工作量证明。如果矿工成功挖出区块,这笔支付就会出现在区块中。其他矿工可能在该区块之上继续构建,增加确认数。交易在确认前也可能被替换(RBF)或加速(CPFP)。

确认数增加

之后的每个区块都会在 Alice 的支付所在区块之上增加更多工作量证明,使撤销交易的成本更高。对于小额支付,1 次确认是一个强有力的信号;较大额的支付通常会等待更多确认。确认并非法律保证,深度链重组仍有可能发生,只是成本高昂。实际需要的确认数取决于金额和风险。

网络实验室

在模拟中看一看

追踪 Alice 发往伯利恒的支付。

打开网络实验室-追踪 Alice 发往伯利恒的支付。

你应该掌握的要点

一笔支付会经过构建、签名、验证、转发、挖矿(mining)和确认。每个步骤都可能出现问题:脚本有误、手续费过低、交易被替换、交易被丢弃,以及浅层链重组。

先回忆,再应用

追踪构建 → 签名 → 验证 → 转发 → 挖矿 → 确认的过程。说出确认前的一种故障和确认后的一种风险。

核对你的解释

确认前:交易因策略被拒绝、签名无效、手续费过低、被替换或被移出内存池。纳入区块后:链重组可能移除包含该交易的区块;后续确认会降低但不能消除这一风险。

检查点

第 1 题,共 3 题

钱包显示“已发送”,一个节点也已将这笔支付接受到自己的内存池中。收款人可以得出什么结论?

第 2 题,共 3 题

一笔支付按什么顺序进行?

第 3 题,共 3 题

你的支付有 6 次确认。这意味着什么?

关键术语

来源

审阅于 2026年10月25日;不构成财务建议