Notary

Overview

A Notary is an off-chain agent assigned to at most 1 chain. The notary is bonded on Synapse Chain and posts a stake in exchange for a percentage of tips (fees) for attesting to messages.

The notary is akin to the sequencer in an L2 blockchain in that they are responsible for posting state to the L1. While they can refuse to post state temporarily, they cannot permanently censor the network, and they can never lie about the state of a chain in a way that cannot be detected on the destination.

The notary must also first have a snapshot signed by a guard before attesting to state updates and can therefore not unilaterally perform any action, even optimistically.

Responsibilities

The notary does the following:

  1. Observe the Origin contract for new snapshots from a guard.

  2. Sign an attestation attesting to the state of the origin chain + the validity of the guards snapshot at any given time. The attestation contains the following information:

    1. Snapshot Root: Merkle root of the origin roots grouped together in a state snapshot. This gets submitted to the Summit contract.

    2. Agent root: Merkle root that proves the current state of bonded agents. See AgentManager for details.

    3. Nonce: Total number of notary snapshots.

    4. Synapse Chain Block Number: block on the synapse chain that the attestation was registered by a notary

    5. Timestamp of the attestations registration on synapse chain

  3. The Attestation is submitted to Synapse Chain.

Last updated