fuel-core icon indicating copy to clipboard operation
fuel-core copied to clipboard

Transaction pool can be manipulated to do a lot of cleanups

Open xgreenx opened this issue 7 months ago • 0 comments

The TxPool supports the feature that allows chain transactions and the use of uncommitted UTXOs.

We allow chaining up to max_depth dependent transactions. But we don't limit the width of the chain. Taking into account that it is possible to create a transaction with 255 outputs, and for each of these outputs, create another dependent transaction with 255 outputs and continue this process until max_depth is reached.

After setup the TxPool to have 255^max_depth dependent transactions, the manipulator can insert conflicting transactions with higher tips to replace the first dependent transaction and cause cleanup of 255^max_depth - 1 transactions.

We need to limit dependent transactions on width as well.

xgreenx avatar Jul 05 '24 21:07 xgreenx