package tezos-protocol-014-PtKathma

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

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-16.1.tar.gz
sha256=43723d096307603703a1a89ed1b2eb202b365f5e7824b96b0cbf813b343a6cf7
sha512=b2a637f2e965000d3d49ad85277ca24d6cb07a1a7cf2bc69d296d8b03ad78c3eaa8e21e94b9162e62c2e11649cd03bc845b2a3dafe623b91065df69d47dc8e4f

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.