Execution Client Disruption Tests

Methodology

Use a customizable external miner to delay the TTD block production and coordinate a Execution Client disruption before, during and after the TTD block production.

The disruption is simulated by pausing the Execution clients’ docker container (docker pause) and unpausing after a few minutes.

Code Used

https://github.com/marioevz/merge-testnet-testcases

Test case combinations

Combination 1

Configuration

Consensus Client Execution Client EL Paused ?
1 Lighthouse Geth No
2 Prysm Geth Yes
3 Teku Geth Yes

EL Pause Time: 2 Minutes
Epoch Runtime after TTD: 4 epochs (25.6 minutes)

Results Summary

  • Teku and Lighthouse were able to finalize 2 epochs after the TTD was reached.
  • Prysm lagged behind by finalizing only one epoch
  • Lighthouse and Prysm EL clients showed Left PoW stage right after the unpausing of Prysm/Teku’s ELs
  • Teku’s EL showed Left PoW stage only 4.5 minutes after its EL counterparts
  • Before and during the EL pausing period, up until slot 99, all three consensus clients were agreeing on the beacon head block each slot.
  • After unpausing all EL clients, from slots 100 through 109, Lighthouse and Teku disagreed on the head block, but Prysm agreed with both of them.
  • Slots 110-127: None of the clients agreed on the head block.
  • Slots 127-161: Lighthouse and Teku agreed, and prysm had empty blocks when the other two published.
  • Slots 162-221: Prysm started publishing conflicting blocks
  • On Slot 221, after 25 minutes of disagreeing, Prysm re-org’d to Lighthouse/Teku Chain.
  • Test was stopped before Prysm caught up with the canonical chain, hence the finalized epochs discrepancy.

Combination 2

Configuration

Consensus Client Execution Client EL Paused ?
1 Lighthouse Geth No
2 Prysm Geth No
3 Teku Geth Yes

EL Pause Time: 2 Minutes
Epoch Runtime after TTD: 4 epochs (25.6 minutes)

Results Summary

  • All clients were able to finalize 3 epochs by the end of the testnet.
  • The disruption caused a small delay of 3 minutes before the execution payloads could be added to the beacon blocks
  • No disruption in any of the beacon blocks, or discrepancy, was found before, during or after the El disruption.

Combination 3

Configuration

Consensus Client Execution Client EL Paused ?
1 Prysm Geth No
2 Teku Geth Yes
3 Lighthouse Geth Yes

EL Pause Time: 2 Minutes
Epoch Runtime after TTD: 4 epochs (25.6 minutes)

Results Summary

Clients Pause: 07:02:20.676 (Slot 95)
Clients Unpause: 07:04:21.097 (Slot XX)

Slot Prysm Teku Lighthouse
100
101
Select a repo