bitcoin-dev

Great Consensus Cleanup Revival

Great Consensus Cleanup Revival

Original Postby Antoine Riard

Posted on: June 29, 2024 01:06 UTC

Antoine highlights a critical aspect of blockchain security, focusing on the validation process within the context of potential attacks involving malleated blocks.

He draws attention to the importance of conducting a size check on the coinbase immediately after a socket read, emphasizing that this approach could offer more robustness than simply checking for non-null pointers. This is particularly relevant when dealing with an attacker who might pass a sequence of malleated blocks with already verified headers, a scenario that necessitates operating under weaker assumptions about computational infeasibility.

Furthermore, Antoine delves into the complexity introduced by ensuring that merkle tree leaf and non-leaf nodes belong to different domains. Although acknowledging that this increases software complexity, he argues that such discontinuities could introduce computational asymmetries that favor validating nodes, potentially making them worthwhile considerations for soft-fork extensions.

The discussion also touches upon the proposed implementation in the Bitcoin Inquisition, noting that the efficiency of using a 64-byte technique to check for full block malleability is highly dependent on the specific implementation. Antoine expresses concern over the dependency of block validation checks on the order of operations following a socket read, suggesting that finding a solution to this issue remains elusive.

In conclusion, Antoine proposes the development of a comprehensive "fast block malleability validation" algorithm. He suggests that such an algorithm should leverage SipHash and emphasizes the need for its implementation and benchmarking within the core system before considering the invalidity of 64-byte transactions at the consensus level. This recommendation underscores the ongoing search for more effective strategies to enhance blockchain security and integrity.