Segregated-Witness
可以發送見證交易以響應“MSG_TX”獲取數據消息嗎?
我有一個目前發出信號的中微子客戶端
NODE_NONE
。當它宣布交易時,它會發送庫存消息並getdata
MSG_TX
返回請求。目前它回復了交易的見證序列化,它似乎工作正常。這是正確的還是我們應該發出信號NODE_WITNESS
以便我們可以接收MSG_WITNESS_TX
和正確發送交易的見證版本?
鑑於絕大多數節點都支持比特幣核心和隔離見證,這可能沒問題,但從技術上講並不遵循協議。
比特幣核心本身不會檢查它收到的交易是否是對特定的響應
getdata
,因此它不會檢查它是否使用MSG_WITNESS_TX
or來詢問MSG_TX
。因此,只要節點具有 segwit 功能,就可以通過與見證人的交易來響應getdata
包含。MSG_TX
但是,如果您連接的節點不支持隔離見證,您可能最終會被該節點斷開連接(並可能被它禁止),因為非隔離見證節點無法理解隔離見證交易。正是由於這個原因,網路消息中的 segwit 能力是有區別的。非隔離見證節點需要交易的非隔離見證版本。