Data Posting Mechanisms

Sanko gives the sequencer two ways to post a data block to the settlement layer: it can post the full data block, or it can post a DACert proving the availability of the data. Arbitrum will reject any DACert that uses an invalid Keyset; the other aspects of DACert validity are checked by L3 code.

The L3 code that reads data from the inbox reads a full-data block as in ordinary Nitro. If it sees a DACert instead, it checks the validity of the DACert, with reference to the Keyset specified by the DACert (which is known to be valid because the base chain Inbox verified that). The L3 code verifies that

  • the number of signers is at least the number required by the Keyset, and

  • the aggregated signature is valid for the claimed signers, and

  • the expiration time is at least two weeks after the current L3 timestamp.

If the DACert is invalid, Sanko discards the DACert and moves on to the next data block. If the DACert is valid, Sanko reads the data block, which is guaranteed to be available because the DACert is valid.

Last updated