Here I will attempt to convince the reader that we have a mechanism to manage the “Cross” Safe Heads of chains in a sane way.

We will play with three chains A, B, C as they produce blocks and submit blocks to L1. We will make increasingly complicated interactions between them, and build off prior examples to understand the outcome.

Reading this Document

Case N - I give each scenario a “Case” number, starting with the trivial Case 0. These cases can be applied from the perspective of individual chains, or as arrangements between chains.

Mapping it Back - After a description of the Case, I work to explain that Case N is functionally equal to Case N-1 (where applicable).

You can use this logic to recursively convince yourself that various situations are safe.

Assumptions

Case 0 - No Interoperability

The simplest form of Interop is that Interop Does not exist. In this model, confirming cross safety is trivial because there is never any work to be done

Untitled

In this diagram, A B and C are all at a Block Height of 2. Chain A and C’s Safe Heads are at a height of 1, while Chain B has a Safe Head at height 2.

To advance their Safe Heads,

(I sure do love the trivial cases…)

Case 1 - One Easy Interoperable Message