跳到正文
← 使用教程

两个 Bitcoin 浏览器结果不同怎么办:交叉核对交易、手续费与输出花费

链小知 · 进阶 · 核验 · 已验证只读操作

用 Blockstream 和 mempool.space 的公开接口比较一笔已确认交易,区分不可变交易字段与会变化的输出花费状态。本篇已完成六次公开 GET 样本核验。

开始前准备

  • 准备 Bitcoin 主网完整交易 ID,不能混用 Liquid、测试网或其他链。
  • 无需账户、钱包、签名或 API 密钥;教程只读取公开样本,不广播交易。
  • 本次使用一笔公开已确认交易,不代表已测试未确认交易、RBF、CPFP 或区块重组。

1. 固定同一网络与完整交易 ID

将交易 ID 分别放入 https://blockstream.info/api/tx/交易ID 和 https://mempool.space/api/tx/交易ID。两个页面都应返回与你输入完全一致的 txid。一个服务报 404 时先记录该服务未找到,再核对网络、拼写与索引;不能直接认定交易不存在。429、超时或非 JSON 响应也保留为读取失败。

已核验样本为 e47158e195abcb960741df336d0c39d3b687ddb4edcad9454384dbe519ff2039。两个公开服务均返回 HTTP 200。这里没有证实它们使用独立节点或完全独立的基础设施。

检查结果:两个来源的网络与完整 txid 一致;只有一个来源成功时,交叉核对尚未完成。

2. 比较已确认区块,不混入当前确认数

比较 status.confirmed、block_height 和 block_hash。已确认样本两边均为 true、高度 970949,且返回同一个区块哈希。再分别读取两服务的 /api/block-height/970949,核对高度与哈希映射。

界面当前确认数随新区块增加,两次读取时间不同也可能显示不同数值;先核对交易所属区块和读取时刻。若相同高度对应不同哈希,不继续宣布一致,保留结果并排查索引更新或链状态变化。

检查结果:两份交易状态与各自高度查询的哈希相同;没有把不同读取时刻的确认数当作不可变字段。

3. 按原始字段和金额单位复核手续费

比较每个输入的前序 txid、vout、prevout.value,以及每个输出的 value 和脚本。普通非 coinbase 交易按 satoshi 汇总输入减输出,再与 fee 比较;prevout 缺失或出现 coinbase 时停止套用。不要只比较界面四舍五入后的 BTC 或美元估值。

样本两服务都返回输入 55,831、输出 50,191、fee 5,640 satoshi。weight=561,vsize=ceil(weight÷4)=141;原始 size=222 字节,不能当作 vsize。总输出不是指定收款人的收款额,脚本相同也不能自动识别找零。

检查结果:不可变字段一致,输入减输出与两边 fee 一致;单位、size 与 vsize 没有混淆。

4. 用输出编号检查是否已被花费

分别读取 /api/tx/交易ID/outspends。数组索引对应原交易输出的 vout 编号;第一个输出为 0,不是 1。spent=true 时核对后续交易 txid、使用它的 vin 和后续交易 status;不要把后续交易的确认高度当成原交易高度。

本次样本两个来源都显示 vout=0 已由 2968f84ce71bb68acb3e826fc69edfd3ddfdda78170525b65981f7c3034ac3ee 花费,vin=0;vout=1 在读取时未花费。该状态是时间点观察,会随后续交易变化。若两服务不同,记录各自读取时间与索引状态,不能立即推断被盗。

检查结果:逐项按 vout 记录 spent 与后续 outpoint 关系;未把花费状态升级成地址所有权或交易目的判断。

5. 保留一致项、差异项和到账未知项

将网络、完整 txid、两服务 URL、读取时刻、区块、金额与输出编号放在同一记录中。不可变字段对照通过后,可以说明两个公开服务返回一致;不能说明你已独立验证共识、接收方控制地址或交易所已记账。

交易所、支付平台或商户是否入账仍需它们自己的支持网络、确认要求和账单状态。没有这些证据时保留“链上交易字段已核对,平台入账未核对”。本次六次公开 GET 全部成功,未测试钱包界面和任何实际转账。

检查结果:结果区分交易字段交叉核对、输出状态观察与平台到账,缺失证据没有被写成通过。

怎样确认完成

  • 同一已确认交易在两服务返回一致身份、区块和不可变输入输出字段。
  • 手续费差额及逐输出花费记录可复查,动态状态记录读取时刻。
  • 未知的找零、地址所有人、独立基础设施和平台入账范围明确保留。

常见错误与边界

  • 网络不同却只按交易 ID 搜索;404 被直接解释为资金丢失。
  • BTC、satoshi、美元估值与脚本金额混用,或 size 被当成 vsize。
  • outspends 索引按 1 开始,或把花费交易的状态当原交易状态。
  • 两个公开服务一致不证明独立节点共识、地址所有人或平台入账。

已验证只读操作 纯文本版 · 提交纠错依据