Transaction-Input

是否可以在事務中多次引用輸入輸出點?

  • January 20, 2020

例如,您是否可以進行以下交易:

A –> B

A –> C

其中 A 是輸入 txid 和索引,B 和 C 是輸出?我問的原因是因為我相信使用 SIGHASH_SINGLE 你只能簽署一個輸入和一個輸出,所以這將是一種使用相同輸入來花費兩個輸出的方法。如果它存在,它將相當於 sighash ‘double’。

例如,要進行這樣的交易:

A –> B

A –> C

D –> E

D –> E 輸入和輸出可以在前兩個輸入簽名後添加。有沒有其他方法可以實現這一目標?

不,這是不可能的 - 一旦一個事務消耗了一個 outpoint,它就被認為是已花費的,包括在同一個事務中。

您在這裡唯一的選擇是讓中間事務拆分 A(或使用另一個輸入),然後使用其中的兩個輸出作為輸入以及SIGHASH_SINGLE | SIGHASH_ANYONECANPAY您的標誌。

A -> A1
\-> A2

A1 -> B
A2 -> C
D  -> E

請注意,SIGHASH_SINGLE 對單個輸出和所有輸入進行簽名。如果您希望其他人能夠添加輸入,則還需要該ANYONECANPAY標誌

引用自:https://bitcoin.stackexchange.com/questions/92905