Site iconSite icon ForkLog

Arbitrum bug caused a brief disruption to transactions

Arbitrum bug caused a brief disruption to transactions

On June 7, Arbitrum developers promptly fixed a bug in the sequencer mechanism that caused a brief pause in the execution of transaction batches on Ethereum.

Earlier today, there was a disruption in the Sequencer’s batch poster that caused batches not to be posted.

We’ll be publishing a full post-mortem later today, but let’s take this chance to look at the high-level overview.

??

— Arbitrum Developers (?,?) (@ArbitrumDevs) June 7, 2023

How layer-2 network Arbitrum aggregates transactions into batches and sends them in a single transfer to Ethereum. This helps reduce the load on the main blockchain and lower fees.

The formation and sending of batches is handled by the sequencer, and the bug was found in the on-chain publication code for the bundles.

“Impact: a temporary pause to finalise transactions in the network; otherwise the service was not affected,” the team explained.

So, where is the bug? Well, it was in the batch poster.

When the Sequencer tried to post a batch on-chain, the bug hit and the transaction reverted.

Impact: A temporary pause to finalize transaction ordering on-chain, but otherwise the Sequencer’s service was not disrupted.

— Arbitrum Developers (?,?) (@ArbitrumDevs) June 7, 2023

An unexecuted batch transaction caused desynchronisation of the funding mechanism. It consists of two wallets: the sequencer and the “gas fee reimbursement”. The former inherently has a minimal balance and is replenished programmatically by the latter.

Because the transaction was not completed, the sequencer wallet did not receive reimbursement for the spent ~5 ETH and could not send the next batch.

After the bug was fixed, the mechanism is operating normally.

“In summary, there was a bug in the packet handler, due to which it did not publish them to the network for some time. We will publish a detailed analysis soon, and we are glad that the fault-tolerant system worked properly during the incident,” the developers noted.

For context, in May finalisation failure occurred on Ethereum.

Exit mobile version