术语表 /开发者参考
收据
- 收据是什么?
- 比特币中的收据是指您保留的、证明付款已发生的任何证据:在 BIP70 中它是商家签名的确认回执,实际操作中则是交易 ID。
比特币不会自动出具任何收据。区块链记录的是币在两个脚本之间转移,而不是某笔债务已经结清,因此付款证明需要您自行汇集:交易 ID、包含该交易的区块,以及卖家通过电子邮件发给您的内容。请从购买当天起保留这三样,因为多年之后再为纳税申报重新整理它们会非常麻烦。
运作方式
比特币中流传着“收据”一词的两种含义,其中只有一种仍然有效。
BIP70 的含义是明确的。PaymentRequest、钱包回传的 Payment 消息以及商家的 PaymentACK 合在一起构成一张收据:商家签署了应付款项,客户回传了支付该款项的交易,商家确认已收到该交易。Bitcoin Core 于2020年6月3日在0.20.0版本中删除了这部分代码,此后没有任何钱包再生成过这类收据。
仍然有效的含义是一组由您自己建立的证据,其中各部分的效力差别很大。
交易 ID 加区块高度是最有力的一项。任何人都可以通过任何节点验证它,它既无法伪造,也无法撤回。它只能证明特定数量的比特币在特定时间转移到了特定脚本,不能证明其他任何事情,因此它既不能说明谁控制该脚本,也不能说明购买了什么。
由付款地址签署的消息则把链上事实与您联系起来。大多数钱包可以用地址背后的密钥对任意字符串签名,从而在不花费任何资金的情况下证明您掌控该地址。
卖家自己的记录,例如订单邮件或交易历史,提供了链上所缺少的背景信息。它同时也是最薄弱的一环,因为它取决于该公司是否继续存在,以及是否继续允许您登录。
在哪里会遇到它
缺少记录的麻烦在纳税季最为明显,而解决办法既不起眼又有效。
对于每一笔购买,请记下日期、比特币数量、当时以您本国货币计的价格以及手续费,因为成本基础正是由这四项数据构成的。在美国,托管型经纪商自2025年1月1日起对出售交易在 Form 1099-DA 上报告销售总额,自2026年1月1日起购入的部分还会加上购置成本,而这些文件只涵盖平台上的活动。凡是您转入自托管、已经花掉或通过点对点购买的比特币,只能由您自己留存记录,没有其他人会替您记录。
请导出文件,而不要只截屏。交易历史可以下载为 CSV 文件,下载后的文件在账户关闭、所在司法管辖区变更或平台倒闭之后依然存在。请把提币记录与交易记录分开保存,因为这是两类不同的事件,其中只有一类会改变您应缴的税款。
对于向商家付款,请把发票编号和交易 ID 记在同一条备注中。单独一个区块浏览器链接只能证明某笔交易存在,不能证明它结清了您的那一笔订单。
收据 vs 确认
收据是个人或公司作出的声明;确认则是关于区块链的事实。这一区别对买家而言是双向的。商家的确认回执,无论是否签名,只能表明某台服务器说它看到了您的付款,这也是 BIP70 的确认回执从来不能证明已结清的原因。通常采用的六次确认,则表明要逆转该笔付款,攻击者需要付出六个区块的工作量,但这完全不能说明货物是否会发出。