What is a certificate?
Cross-subnet communication in Topos lies in the submission of certificates—data structures that certify subnet state transitions.
It is the role of every subnet to:
- identify key participants for certificate creation/propagation;
- include a cryptographic proof of the validity of the state transition;
- authenticate the certificate (more precisely the certificate message).
Once broadcast and delivered throughout the TCE, the certificate can be verified and related cross-subnet messages executed in their respective receiving subnet.
A certificate is defined as:
subnet_idis the unique identifier of the subnet;
prev_state_hashis the previous subnet state commitment (from the previous certificate);
state_hashis the current subnet state commitment;
proofis the zkSTARK proof of validity.