Address

UTXO的地址和使用之間有什麼聯繫?

  • May 1, 2020

我聲明我還是個初學者。我需要澄清一下。我正在使用測試網。這是關於我用來從水龍頭接收資金的地址的資訊

bitcoin-cli validateaddress 2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd
{
 "isvalid": true,
 "address": "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd",
 "scriptPubKey": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387",
 "isscript": true,
 "iswitness": false
}
bitcoin-cli decodescript a9149ac58ff47e27214b158b38da04bc8cbf72def14387
{
 "asm": "OP_HASH160 9ac58ff47e27214b158b38da04bc8cbf72def143 OP_EQUAL",
 "reqSigs": 1,
 "type": "scripthash",
 "addresses": [
   "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd"
 ]
}

數據是什麼意思?我解釋我的地址將收到被 P2SH 類型腳本阻止的 UTXO,對嗎?“iswitness”: false 表示這個地址不能使用UTXO segWit?

在此地址上,我收到以下輸出作為輸入:

{
     "value": 0.01944571,
     "n": 1,
     "scriptPubKey": {
       "asm": "OP_HASH160 9ac58ff47e27214b158b38da04bc8cbf72def143 OP_EQUAL",
       "hex": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387",
       "reqSigs": 1,
       "type": "scripthash",
       "addresses": [
         "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd"
       ]
     }

阻塞的UTXO如下:

"txid": "a61389ff9af670770182198a984a4c1785625c60795bd57645ecc78765b23679",
   "vout": 1,
   "address": "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd",
   "label": "",
   "redeemScript": "0014778daf651b21684b572644b47d551fce0ff71c74",
   "scriptPubKey": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387",
   "amount": 0.01944571,
   "confirmations": 116,
   "spendable": true,
   "solvable": true,
   "desc": "sh(wpkh([7de694b7/0'/0'/7']032c27921f2d15e7eca768c0e8a8b1aeb863328c74d6c194d41dde2888d4b0e75b))#6z7uwusp",

“Sh (wpkh ())”描述了 P2SH-P2WPKH 輸出和與之關聯的公鑰。

描述符告訴我們雜湊 (sh) 腳本包含 wpkh(見證 - 公鑰 - 密鑰 - 雜湊)輸出。簡單來說,RedeemScript 應該匹配這個公鑰的 HASH,對嗎?

當我解鎖並使用這個 UTXO 時,我的輸入將生成一個單獨的 txinwitness 欄位。

"scriptSig": {
       "asm": "0014778daf651b21684b572644b47d551fce0ff71c74",
       "hex": "160014778daf651b21684b572644b47d551fce0ff71c74"
     },
     "txinwitness": [
       "3044022034a07f088dd88396cd378912a4ed6a156701b075f0facbbae810677048c390e602205df07e13bf4d56feece791a1b5e4d94bec9c93aae14bb87a1b4c6c54ae9bf2f701",
       "032c27921f2d15e7eca768c0e8a8b1aeb863328c74d6c194d41dde2888d4b0e75b"
     ],
     "sequence": 4294967295

我無法理解我的地址資訊(“iswitness”:false)與我接收/使用 UTXO 的方式之間的聯繫。

因為您使用的地址是您提到的 P2SH-P2WPKH 地址(sh (wpkh ())),所以您會得到輸出

“isscript”:是的,

“證人”:假

它只談論頂層(P2SH),因為它是一個 P2SH 地址,而不管它“內部”編碼的腳本是什麼。當您呼叫時,它不會“看到”底層 P2WPKH validateaddress。唯一一次isscript並且iswitness兩者都是正確的,是針對 P2WSH 地址。您可以在此處查看創建此 RPC isscript/iswitness輸出的程式碼。

當您使用它時,您會在 P2SH 中顯示腳本。因為它是一個 P2WPKH 腳本,OP_0 <keyhash>也就是說,該腳本然後被評估為這樣(使用見證中的密鑰/簽名數據)。

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