Exit Bonds

Bonds form a core element of the Plasma "exit game".

The various bond(s) committed by an exiting user can be awarded to another user who proves that the given exit is non-canonical. They act as an incentive mechanism for users of the OMG Network to exit honestly and challenge dishonest exits.

There are three types of bonds:

  • The Standard Exit Bond (committed to starting a Standard Exit)

  • The In-Flight Exit Bond (committed to starting an In-Flight Exit)

  • The Piggyback Bond (committed to piggyback on an In-Flight Exit and claim an associated UTXO)

How is the size of a bond calculated?

The bond is currently fixed at an amount estimated to cover the gas cost of submitting a challenge.

This amount can be updated by the operator to stay aligned with changes in gas price and gas cost. To protect against a malicious operator setting an unreasonably high or low bond size, the following restrictions are placed on these updates:

  • The current bond size can only be modified by +/- 50%.

  • A vacatio legis period of 2 days until the new bond size takes effect.

Modeling the "correct" size of the exit bond remains an ongoing area of research.

Why do we have a separate exit and piggyback bonds in an in-flight exit?

Starting an in-flight exit on a transaction and claiming its associated inputs or outputs with a piggyback are separate concerns.

Consider a transaction TX1 where Alice sends 0.5 ETH to Bob using an input UTXO1 worth 1 ETH. The transaction will have two outputs:

  • UTXO2 owned by Bob (0.5 ETH)

  • UTXO3 owned by Alice (0.5 ETH)

Either party can initiate an in-flight exit on TX1 but both Alice and Bob must piggyback with a reference to their respective outputs in order to exit their funds.

There are also cases where a piggyback can be invalid in the context of a canonical in-flight exit.

Given that the concerns are separate, the bond mechanism is applied separately.