Transactions
輸入交易簽名
當我們至少使用 2 個輸入和 SIGHASH_ALL 標誌簽署交易時,簽名消息發生了什麼?
例如:
version: 01000000 inputs: 02 txid: b7994a0db2f373a29227e1d90da883c6ce1cb0dd2d6812e4558041ebbbcfa54b vout: 00000000 scriptsigsize: 19 scriptsig: 76a9144299ff317fcd12ef19047df66d72454691797bfc88ac sequence: ffffffff ---------------------------------------------------------------------- txid: e9431833fc2380477723e4b50aa6386dc8d6b86a3a6911a240cfacd68208ea28 vout: 00000001 scriptsigsize: 19 scriptsig: 76a9144299ff317fcd12ef19047df66d72454691797bfc88ac sequence: ffffffff outputs: 01 amount: c965000000000000 scriptpubkeysize: 19 scriptpubkey: 76a914b3e2819b6262e0b1f19fc7229d75677f347c91ac88ac locktime: 00000000
第 1 步:取第一個輸入簽名並將 scriptSigSize 和 scriptSig 替換為簽名大小和簽名數據。那麼,我是否必須使用替換的輸入 scriptSig 來編輯消息?或者我是否為同一交易中的每個簽名保留相同的交易消息?
最好的祝愿
每個輸入都簽署不同的消息。它始終是支出交易,除了正在簽名的輸入之外,所有輸入都被清除。因此,在簽署第二個輸入時,scriptSig 中第一個輸入的任何內容都將被忽略。這允許獨立的簽名和驗證 - 您無需簽署第一個輸入即可簽署和驗證第二個輸入。