Aug 24 - Aug 28, 2026
The new hash function reduces the computational complexity by decreasing the number of SipRound calls required per operation. This change is critical due to the essential role hash tables play in various Bitcoin Core functionalities such as transaction tracking, deduplication, indexing, and caching of unspent transaction outputs (UTXOs). By lowering the time cost from 17.0 nanoseconds to 10.6 nanoseconds per lookup on specific hardware, this optimization addresses potential risks of denial-of-service attacks effectively. These adjustments include a shift to a less complex round process in SipHash, an unpadded block-based approach that removes the need for padding while handling inputs more directly, and support for larger 'jumbo' blocks that cater to 256-bit hashes efficiently.
This enhancement has been crucial in reinforcing the system's resilience against crafted data that could cause hash collisions. Moreover, it supports other aspects such as reduced disk usage for hash keys and enhanced pack positions. The proposed changes were initially documented in this GitHub pull request and have undergone preliminary expert review, though they continue to be monitored for any unforeseen vulnerabilities.
Additionally, the integration of SipHash-1-3-UJ within the CoinsViewOverlay::StartFetching function marks another pivotal development in Bitcoin’s transaction processing efficiency, particularly during the block connection phase. This advancement followed the successful implementation of parallel processing for fetching block input prevouts in ConnectBlock, detailed in another pull request. The new hash function plays a vital role in managing the earlier_txids set, which is instrumental in filtering out prevouts generated by earlier transactions within the same block. By ensuring these specific prevouts are created directly in the CoinsViewOverlay cache and not fetched redundantly from the main cache or disk, the update significantly enhances processing speed and reduces unnecessary workload. This modification is especially beneficial as it lowers the serial overhead on the main thread, a necessary step before any speed gains from parallel processing can be realized, thus highlighting the effectiveness of the lighter hash function in this context.
These developments collectively contribute to the ongoing efforts to boost the efficiency and security of Bitcoin Core, making it more robust against potential security threats and improving its overall transaction handling capabilities.
TLDR
We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project.
Give Feedback