package tezos-protocol-014-PtKathma

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Hash : sig ... end
module V1 : sig ... end

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

Versioning, see Sc_rollup_data_version_sig.S for more information.

include Sc_rollup_data_version_sig.S with type t = V1.t
type versioned
val of_versioned : versioned -> V1.t
val to_versioned : V1.t -> versioned
include module type of V1 with type t = V1.t

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 = V1.t = {
  1. compressed_state : Sc_rollup_repr.State_hash.t;
  2. inbox_level : Raw_level_repr.t;
  3. predecessor : Hash.t;
  4. number_of_messages : Sc_rollup_repr.Number_of_messages.t;
  5. number_of_ticks : Sc_rollup_repr.Number_of_ticks.t;
}
val hash : t -> Hash.t
OCaml

Innovation. Community. Security.