bitcoin-dev

Great Consensus Cleanup Revival

Great Consensus Cleanup Revival

Original Postby Antoine Riard

Posted on: March 26, 2024 19:11 UTC

The discussion begins with an acknowledgment of the importance of addressing the timewarp attack, particularly in relation to the safety implications associated with long-term timelocks.

It is suggested that despite the potential benefits of using "forwarding blocks" for on-chain scaling as explored by Maaku in his paper (Scaling Bitcoin Paper), the community could potentially disregard this approach. The argument put forth is that alternative mechanisms available today, such as extension-block or side-chains protocols, could achieve similar security and scalability trade-offs without relying on the timewarp issue, thus making the case for fixing the timewarp issue acceptable.

Further concerns are raised regarding the validation time for the worst-case blocks, hinting at the possibility of exploiting other vectors like low-level ECC (Elliptic Curve Cryptography) tricks and the micro-architectural layout of modern processors to exacerbate the situation. The conversation also touches upon the contentious nature of consensus invalidation of old legacy scripts, referencing a previous proposal for consensus cleanup which sparked controversy (Consensus Cleanup Proposal). A solution is proposed to only make scripts invalid after a certain block height, specifically the consensus cleanup activation height, coupled with new transaction-relay rules to manage unspent coins susceptible to DoS attacks, suggesting a limit on such transactions per block.

Additionally, the email discusses the need for careful consideration when setting consensus boundaries on minimal transaction size, to prevent massive double-spend attacks due to software incoordination among lightweight clients. Concerns are expressed about the inconsistent implementation of the MIN_STANDARD_TX_NON_WITNESS_SIZE across transaction-relay backends, indicating a lack of standardization in this area. The possibility of transactions smaller than 64 bytes, where the witness element is minimal, is mentioned, proposing an exemption after a specific block height.

The idea of making coinbase transactions unique by incorporating the block height into nLocktime is also debated, seen as a more robust method to prevent issues during shallow reorganizations. However, this raises concerns about potential disadvantages in mining competition and the risk of introducing new denial-of-service (DoS) vectors through mining job distribution and control. Lastly, the email acknowledges the potential for other issues, such as UTXO entries' growth limit, to contribute to denial-of-service attacks but suggests that their impact is uncertain in the context of modern Bitcoin use cases and future evolvability. The complexity of achieving correct consensus code is underscored as a significant challenge.