package tezos-protocol-014-PtKathma

  1. Overview
  2. Docs
Tezos/Protocol: economic-protocol definition

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-16.0.tar.gz
sha256=ad9e08819871c75ba6f4530b125f7d157799398e4d77a1e6bfea9d91ff37ff55
sha512=c5dc4d40cc09bc6980fbbdb5c2e105bf4252cf9cfcb2b49660b0ebe4dc789f6709ec3b3bf2f87d81580d3eed9521eeb1c960f24d9b14eb0285aaba1f84d10a9b

doc/tezos-protocol-014-PtKathma.raw/Tezos_raw_protocol_014_PtKathma/Sc_rollup_PVM_sem/index.html

Module Tezos_raw_protocol_014_PtKathma.Sc_rollup_PVM_semSource

This module introduces the semantics of Proof-generating Virtual Machines.

A PVM defines an operational semantics for some computational model. The specificity of PVMs, in comparison with standard virtual machines, is their ability to generate and to validate a *compact* proof that a given atomic execution step turned a given state into another one.

In the smart-contract rollups, PVMs are used for two purposes:

  • They allow for the externalization of rollup execution by completely specifying the operational semantics of a given rollup. This standardization of the semantics gives a unique and executable source of truth about the interpretation of smart-contract rollup inboxes, seen as a transformation of a rollup state.
  • They allow for the validation or refutation of a claim that the processing of some messages led to a given new rollup state (given an actual source of truth about the nature of these messages).
Sourcetype input = {
  1. inbox_level : Raw_level_repr.t;
  2. message_counter : Tezos_protocol_environment_014_PtKathma.Z.t;
  3. payload : string;
}

An input to a PVM is the message_counter element of an inbox at a given inbox_level and contains a given payload.

Sourceval input_equal : input -> input -> bool
Sourcetype input_request =
  1. | No_input_required
  2. | Initial
  3. | First_after of Raw_level_repr.t * Tezos_protocol_environment_014_PtKathma.Z.t

The PVM's current input expectations. No_input_required is if the machine is busy and has no need for new input. Initial will be if the machine has never received an input so expects the very first item in the inbox. First_after (level, counter) will expect whatever comes next after that position in the inbox.

Sourceval input_request_equal : input_request -> input_request -> bool
Sourcemodule type S = sig ... end
OCaml

Innovation. Community. Security.