package tezos-protocol-013-PtJakart

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A commitment represents a claim about the state of the Inbox and PVM at some Inbox level.

More formally, a commitment is a claim that:

  • assuming the PVM and Inbox are in a state implied by predecessor
  • the PVM consumes number_of_messages messages tagged with inbox_level from the Inbox
  • the PVM advances to the state compressed_state over number_of_ticks ticks

Commitments are disjoint. The next correct commitment is a function of the previous machine state and Inbox.

number_of_messages and inbox_level can be proven/disproven by Merkle proofs on the Inbox state.

compressed_state and number_of_ticks can be proven/disproven by PVM execution, or equivalently, by an interactive proof game between conflicting parties, such that a correct executor always wins the game.

type t = {
  1. compressed_state : State_hash.t;
  2. inbox_level : Raw_level_repr.t;
  3. predecessor : Commitment_hash.t;
  4. number_of_messages : Number_of_messages.t;
  5. number_of_ticks : Number_of_ticks.t;
}
val hash : t -> Commitment_hash.t