Transaction rate-limiting

Jul 27 - Jul 29, 2026

  • The latest update to Bitcoin Core through the [pull request 34628](https://github.com/bitcoin/bitcoin/pull/34628) represents a significant advancement in optimizing both transaction handling and CPU utilization within Bitcoin nodes.

This update is the culmination of a three-year project initiated after identifying severe CPU usage issues on a mainnet debug-build node, which was attributed to slow transaction processing times. Detailed analysis revealed that the inefficiencies were due to two major bugs: one related to suboptimal iterator implementations by Boost that operated with O(N) performance, and another concerning mechanisms designed to buffer against large bursts of transactions which inadvertently compounded the issue.

To address these challenges, developers have implemented several key improvements. The removal of per-peer queues in favor of a unified global queue stands out as a fundamental change aimed at reducing CPU load across all nodes uniformly while managing large volumes of transactions more effectively. Additionally, new bandwidth rate limits have been set to prevent node overload during peak periods, thereby ensuring better network stability and performance. These updates are expected to significantly enhance the robustness of Bitcoin nodes, especially under conditions of high transaction volumes caused by increased adoption or deliberate network attacks.

Further developments include adjustments to the frequency of inventory broadcasts specifically for outbound peers, as detailed in a related discussion on changes made in an earlier pull request. The adjustment involves halving the time interval between inventory broadcasts for outbound peers from five seconds to approximately two seconds, effectively increasing the number of inventory items communicated per second to 17.5. This change, combined with the incoming 7 items per second from inbound connections, results in an overall propagation rate of approximately 24.5 transactions per second. This modification aims to improve the efficiency of transaction dissemination without compromising privacy concerns.

In a broader operational context, there is ongoing experimentation with node configurations involving running a 31.x node alongside multiple master/v32.0 nodes. This setup facilitates comparative analyses and insights, enhancing the effectiveness of monitoring node activities and diagnosing system behaviors. Such strategic operational practices indicate a proactive approach towards managing system performance.

Additionally, the communication underscores the positive impact of receiving supportive feedback and timely updates on various topics, which has significantly contributed to renewed determination and effort in reviewing ongoing projects. This kind of encouragement plays a critical role in fostering an environment of mutual respect and motivation within professional settings, ultimately enhancing productivity and commitment to achieving excellence in technical and collaborative endeavors.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiDecoding BitcoinWarnet
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project.

Give Feedback