package tezos-protocol-alpha

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

Slot attestation representation for the data-availability layer.

Overview

For the data-availability layer, the layer 1 provides a list of slots at every level (see Dal_slot_repr). Slots are not posted directly onto L1 blocks. Stakeholders, called attestors in this context, can commit on the availability of the data (via endorsements or attestation operations, see https://gitlab.com/tezos/tezos/-/issues/3115).

The slot is uniformly split into shards. Each attestor commits, for every slot, on the availability of all shards they are assigned to.

This module encapsulates the representation of this commitment that aims to be provided with endorsement operations. To avoid overloading the network, this representation should be compact.

type t = private Bitset.t
type operation = {
  1. attestor : Tezos_protocol_environment_alpha.Signature.Public_key_hash.t;
    (*

    The account who attests the availability of the slots.

    *)
  2. attestation : t;
    (*

    The bitset of slots that are attested to be available.

    *)
  3. level : Raw_level_repr.t;
    (*

    The level at which the operation is valid. It should be equal to the attested slot's published level plus the DAL attestation lag.

    *)
}

The shape of Dal attestation operations injected by delegates.

val empty : t

empty returns an empty slot_attestation which commits that every slot are unavailable.

val is_attested : t -> Dal_slot_index_repr.t -> bool

is_attested slot_attestation ~index returns true if the slot_attestation commits that the slot at index is available.

val commit : t -> Dal_slot_index_repr.t -> t

commit slot_attestation index commits into slot_attestation that the slot index is available.

val occupied_size_in_bits : t -> int

occupied_size_in_bits slot_attestation returns the size in bits of an attestation.

val expected_size_in_bits : max_index:Dal_slot_index_repr.t -> int

expected_size_in_bits ~max_index returns the expected size (in bits) of an attestation considering the maximum index for a slot is max_index.

type shard_index = int

A shard_index aims to be a positive number.

module Accountability : sig ... end

This module is used to record the shard attestations.

OCaml

Innovation. Community. Security.