package tezos-protocol-014-PtKathma

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

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-17.3.tar.gz
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc

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.