什麼是見證,它包含什麼數據?
我已經了解了隔離見證,但找不到分解它的資訊。
我通常知道,當使用舊地址時,例如公鑰將位於
Scriptig
. 使用 P2SH,我可以看到ScriptSig
包含的雜湊redeemScript
必須與輸出中地址的雜湊匹配(我認為)。但我不確定witness
數據。讓我們拿這個TX: 80975cddebaa93aa21a6477c0d050685d6820fa1068a2731db0f39b535cbd369
裡面有什麼資訊
witness
,有人可以分解一下嗎?
該結構包含檢查交易有效性所需的數據,但不需要確定交易效果。特別是,腳本和簽名被移動到這個新結構中。
見證是交易的所有見證數據的序列化。每個 txin 都與一個見證欄位相關聯。見證欄位以 var_int 開頭,表示 txin 的堆棧項數。緊隨其後的是堆棧項,每個項都以 var_int 開頭以指示長度。見證數據不是腳本。見BIP 141。
見證數據取決於交易類型。
輸入 3
查看原始 json中的交易輸入 #3 :
腳本 =
a914771962306e72e479245d48e879dd2a1862225b4c87
這具有 Pay to Script Hash (P2SH) 交易的結構。由於見證數據,這可能是嵌套在 BIP16 P2SH 中的多重簽名 P2WSH:
witness: 0 <signature1> <1 <pubkey1> <pubkey2> 2 CHECKMULTISIG> scriptSig: <0 <32-byte-hash>> (0x220020{32-byte-hash}) scriptPubKey: HASH160 <20-byte-hash> EQUAL (0xA914{20-byte-hash}87)
見證人:
04
(4個堆棧元素)
00
(第一個堆棧元素,0 字節)
47
(第二個堆棧元素,第一個簽名,十六進制:0x47 十進制:71 字節)304402202c3f94e5daf4057377d9f16d45b57e962de42fb42cb7e95a0382b7c66624980a02204098f6acd43b0391ea1b4a8102797e78895848fb7e883f98d207d14d45945a6901
47
(第三個堆棧元素,第二個簽名,十六進制:0x47 十進制:71 字節)30440220448460edd5291a548c571ccf3a72caf47b02364035dc84f420d311e3a0c5494802205bb1cc89f20dc1e2c1f6eadb74898f8eecc46fbf488b676636b45fafaeb96e0f01
69
(第 4 個堆棧元素,2-of-3 多重簽名腳本,十六進制:0x69 十進制:105 字節)
<52 OP_2>
21
(33 字節)
<021e6617e06bb90f621c3800e8c37ab081a445ae5527f6c5f68a022e7133f9b5fe pubkey1>
21
(33 字節)
<03bea1a8ce6369435bb74ff1584a136a7efeebfe4bc320b4d59113c92acd869f38 pubkey2>
21
(33 字節)
<0280631b27700baf7d472483fadfe1c4a7340a458f28bf6bae5d3234312d684c65 pubkey3>
<53 OP_3><ae OP_CHECKMULTISIG>
請注意,
OP_2
andOP_3
表示這是一個 2-of-3 多重簽名交易腳本。請參閱支付腳本雜湊 | 交易