交易传递带
三个面板,全是纯函数:不联网、不要私钥、不上传任何东西。这一页不签名 —— 它只把你和对方手里的东西核对并接起来。
← 首页 · 给评审者
① 这张订单叫什么
贴一张订单 JSON。得到它的 orderId —— 两个人都应该看到同一个。
—
② 把订单变成一笔交易
填两条腿的 script 和两个 prevout。输出 psbtId、找零,以及还差谁签。
—
③ 这张半签交易还缺什么
贴 PSBT。能定稿就给最终交易(输入含见证);不能就**指名**缺哪个输入。
—
④ 成交之后:所有权真的换了吗
⚠ 这一栏只能在广播之后填 —— 买方的新 outpoint 是 (txid, 0),而 txid 只有交易进了链才有。填进去,它会写出两条记录并当场重放:卖方归零,买方拿到那一枚。
—
为什么这一页不签名?签名要私钥。把私钥交给网页是最常见的一种失窃方式,所以这里只做能离线验的那部分:算名字、建交易、查缺签。签名在你自己的工具里做。
为什么卖方先签?持有叶用 ALL|ANYONECANPAY,输出集被签名锁住。所以:卖方签完 ⇒ 买方付钱并签 ⇒ 广播。没有人能在最后一秒改价。
为什么成交要写两条记录?只有"转移"而没有"出生"的持有不是历史 —— 重放会把它记成 unmatched。两条一起写,重放才能证明整条权利链,而不只是最后一跳。