Bitcoin-Core-Development

在比特幣核心程式碼庫中,net_processing 在概念上涵蓋了哪些內容?

  • July 2, 2021

在比特幣核心程式碼庫中,net_processing(.h.cpp )在概念上涵蓋了哪些內容?

James O’Beirne 在Bitcoin Edge Dev++(2018 年)關於比特幣核心架構的演講中回答了這個問題。

net_processing 將 P2P 消息路由到驗證呼叫和響應 P2P 消息中。它使網路層適應鏈狀態層,並將網路消息轉換為對本地狀態更改的呼叫。

大部分 net_processing 是ProcessMessage()渲染特定網路消息類型以呼叫更深入比特幣的巨大條件。

對等點也會因 net_processing 中的不良行為(例如發送我們的節點無效塊)而受到懲罰。(git grep Misbehaving查看 Core 跟踪不良行為的各種情況)。

net 位於比特幣核心堆棧的底部,處理與 P2P 網路的網路通信。CConMan在 net 中,通過 . 將消息轉發到 net_processing CConMan::ThreadMessageHandler

ProcessNewBlock()網路處理使用像和這樣的函式呼叫AcceptToMemoryPool()來呼叫驗證,它負責我們對區塊鍊和 UTXO 集的看法。

net_processing 被各種比特幣核心公關評論俱樂部報導,例如2021 年 2 月 3 日PR 20721的這個。

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