Skip to content

Trust Levels Between AggLayer Chains

When joining the AggLayer, chains have different types of trust to choose between.

Info

This is informal naming and subject to change - it’s meant to be a quick overview of the trust levels in a mnemonic way.

  1. Pessimistic (default)
  2. Pragmatic
  3. Positive

First, let’s briefly recap how chains “talk” via the AggLayer. Chains will generate proof of their current state (local exit trees), and their local balance trees proving outgoing balances. These proofs are sent into the “AggLayer mempool” - a place where the proofs coexist until proven and settled. They will then get verified by the AggLayer, and once aggregated and proven, the proof of these proofs being valid will be stored on the L1 (Ethereum).

If chain A needs the information of chain B (because, for example, Chain A is expecting a deposit from Chain B), it can choose between one of the above trust models.

In the Pessimistic view, which is default to all chains joining the AggLayer, chain A will wait for chain B’s proof to be validated and settled on the L1 before taking it as canon and acting on it. By being acknowledged by the L1, chain B is all but guaranteed to be valid and finalized in the eyes of the AggLayer.

The pragmatic and positive views are up to the chain’s authenticator - the entity which decides how a chain’s state transition is validated in the eyes of the AggLayer. No matter the trust level chosen, the pessimistic proof is always generated and the settling on L1 happens for every chain regardless.

In the Pragmatic view, Chain A can choose to react to Chain B’s proof as soon as the AggLayer has verified its validity, but before the proof is aggregated and sent to the L1. There is no need to wait for the latency of the L1 finalization, and a cross-chain transaction happens much faster, but is still verified by the AggLayer, just not financially guaranteed by Ethereum.

In the Positive view, Chain A can optimistically accept the proof of Chain B immediately as it encounters it in the AggLayer mempool. It can do the validation of this proof on its own, or skip it entirely and trust Chain B that the proof is valid. Once the transactions are finalized on both ends and the proofs of this are aggregated, the full state of this transaction’s initialization and resolution is aggregated and committed to the L1 for ultimate post-fact economic security.

In most cases, chains will opt for the Pessimistic view. In others - where, for example, appchains handling trivial value are concerned - a more optimistic approach will greatly improve UX. Another key advantage of the Pragmatic and Positive approaches is atomic composability - by not having to wait for L1 finalization, transactions can be batched more easily in an all-or-nothing way.