package tezos-protocol-016-PtMumbai
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 attested_slots = t
type operation = {
attestor : Tezos_protocol_environment_016_PtMumbai.Signature.Public_key_hash.t;
(*The account who attests the availability of the slots.
*)attestation : t;
(*The bitset of slots that are attested to be available.
*)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 encoding : t Tezos_protocol_environment_016_PtMumbai.Data_encoding.t
val empty : t
empty
returns an empty slot_attestation
which commits that every slot are unavailable.
val is_attested : t -> Dal_slot_repr.Index.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_repr.Index.t -> t
commit slot_attestation index
commits into slot_attestation
that the 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_repr.Index.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
.
module Shard_map :
Tezos_protocol_environment_016_PtMumbai.Map.S with type key = shard_index
module Accountability : sig ... end
This module is used to record the various data-availability attestations.