bitcoin-dev

A Free-Relay Attack Exploiting RBF Rule #6

A Free-Relay Attack Exploiting RBF Rule #6

Original Postby Nagaev Boris

Posted on: March 19, 2024 12:37 UTC

The discussion revolves around the proposed RBFR (Replace-By-Fee-Rate) rule and its implications for transaction handling within blockchain nodes' mempools.

The crux of the issue lies in the path-dependent nature of the current RBFR rule, where transactions with closely competing fee rates can cause conflicts without a clear resolution, relying on the order of transaction arrival to determine precedence. This leads to an exploration of creating a path-independent eviction rule that ensures a predictable outcome for conflicting transactions, enhancing the network's resilience against potential attacks by achieving eventual consistency across all node mempools.

The envisioned rule system must satisfy two critical criteria: alignment with miners' incentives and robustness against Denial-of-Service (DoS) attacks targeting the mempool. A straightforward solution proposes prioritizing transactions based on their fee rates, with a tie-breaker mechanism such as preferring transactions with lower transaction identifiers (txids). However, this approach oversimplifies the challenge, particularly in preventing DoS attacks without explicitly addressing transactions with identical fee rates.

A novel strategy is suggested to mitigate DoS threats while adhering to the principle of eventual consistency. This involves establishing dual priority queues within nodes: one for processing incoming transactions and another for broadcasting them. In scenarios where transactions are double-spent, they would be deprioritized in both queues. Consequently, if an attacker floods the network with double-spending transactions, not all would be broadcast further; only the latest version prevails for broadcast, reducing the overall number of transactions propagated by the node. This mechanism aims to diminish the impact of DoS attacks by slowing the spread of spam transactions, thus maintaining the integrity and efficiency of the mempool without compromising the system's eventual consistency.