Unconfirmed-Transactions
blocksonly
設置是否會阻止其他節點發送我的節點未確認的交易,或者它只是導致我的節點忽略它們?
我已經看到討論過這個選項,但我對正在發生的事情沒有清楚的了解。由於此設置似乎將節點頻寬減少了 88%,因此我假設它以某種方式與其他節點通信,表明此流量不受歡迎,但我不了解該機制。有人可以詳細說明嗎?
這允許比特幣節點像 SPV 客戶端一樣執行。這些節點在與其他節點對等時將其能力通告給其他節點。以 blocksonly 模式執行的節點將表明它不想接收來自任何其他對等方的 inv 消息。如果節點對特定地址的消息感興趣,它們可以提供布隆過濾器,這也使用為 SPV 節點設計的相同機制。
我剛剛閱讀了Bitcoin Core 中消息的完整描述,在我看來,該節點沒有執行任何特殊公告來告訴其對等方它不希望被告知交易。我認為它可能會在
version
消息中宣布對交易不感興趣,但服務公告似乎沒有包含這樣的標誌。因此,在我看來,節點不會跟進
inv
宣布交易的消息,而只會跟進inv
宣佈區塊的消息。特別是,它不提供任何有關接收mempool
消息的數據,但它似乎確實服務於getblocks
請求。