4

Imagine China has switched the internet off. Half validators are in the China, half in the rest of the world. So we have a 2 separate networks (like a fork).

Each side produces some blocks and votes on them. However, in China other validators are not available and so they get slashed. In the “rest of the world” side Chinese validators are punished. Chains can not get a FFG finality.

What will happen:

  1. If China never switches internet ON? How networks will reach finality? Or they will never reach it?
  2. If China switches internet ON and 2 chains are then getting merged? Will penalties be reverted in that case? But how? If one most heavy chain will be selected, it will have all “penalties” for other side?

1 Answer 1

4

Your question is similar to asking: what happens in case of a network partition?

The answer is inactivity leak. The Ethereum protocol has a special mode that activates itself if no finalization has occurred for at least 4 epochs.

Situation 1: What happens if the network is partitioned in half forever?

In your example (1), you give a situation in which the validators are split in half. In that case, you are right, a fork occurs, and on each chain there is only half of the validators active so no finalization occurs. This trigger the inactivity leak.

The inactivity leak is a kind of emergency state in which rewards and penalties are modified as follows.

  • Attesters receive no attestation rewards, while attestation penalties are unchanged.
  • Any validators deemed inactive have [increased penalties].
  • Proposer and sync committee rewards are unchanged.

This creates a situation where unactive validators' stake steadily dwindles as time goes by. It continues until active validators control 2/3 of the stake and can finalize again.

So in example (1), both partitions will eventually finalize again.

Situation 2: What happens if the network is partitioned in half for a finite period of time?

There are three cases:

  1. The partition time is short enough and no finalization has occurred on the concurrent chains.
  2. A finalization has only occurred on one chain.
  3. Finalization has occurred on both chain

Outcomes are as follows:

  1. Once validators see the concurrent chain they will apply the fork choice rule to determine which chain is the canonical one.

  2. This would make the chain with finalized blocks the canonical one. Though it may possible for the other half to prefer to continue their fork to not lose a large portion of their stake by returning in a chain in which they've been penalized during their absence.

  3. The fork would be irreconcilable, both partitions would continue on their chain.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.