Transactions

在交易簽署/廣播之前使用 UTXO

  • February 27, 2019

假設我有一個帶有單個 UTXO 的地址。我想創建 100 筆交易並同時簽署/廣播它們。我可以執行以下操作:

  1. 手動創建交易(找零資金發送到發件人地址)
  2. 計算交易ID
  3. 使用交易 ID 並更改 UTXO 輸出索引來創建第二筆交易
  4. 轉到第 2 步

直到我創建 100 筆交易?我想我的問題歸結為:是否可以在原始交易被簽名或廣播之前計算它的 TXID?

謝謝!

這取決於。

如果你的 UTXO 是一個 segwit UTXO,那麼是的。在簽署交易之前,您將擁有計算 txid 所需的所有知識。

如果您的 UTXO 不是 segwit UTXO,那麼不,在您簽署交易之前您無法知道 txid。這是因為使用非隔離見證 UTXO 時,簽名是數據的一部分,經過雜湊處理後成為交易 ID。因此,在您知道簽名是什麼之前,您無法計算交易 ID。


簽署和廣播交易不是同時發生的一個步驟。您可以在廣播之前簽署交易。因此,您可以進行 100 筆交易並在進行交易時對其進行簽名。全部完成後,您就可以廣播交易。

此外,如果您發送 100 筆交易,其中一筆輸出支付給某人,而另一筆則改回給您自己,為什麼不只創建一筆 100 筆輸出的交易呢?這樣效率更高,並且可以保證所有 100 個收款人同時收到他們的錢。這也將為您節省交易費用。

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