Skip to main content

Glossary

Pn{P}_{{n}}

  • A path graph or a path of n{n} nodes.

(b0,b1,,bn1){\left({b}_{{0}},{b}_{{1}},\ldots,{b}_{{{n}-{1}}}\right)}

  • A sequence of bytes or byte array of length n{n}

𝔹n𝔹_{{n}}

  • A set of all byte arrays of length n{n}

I=(BnB0)256{I}={\left({B}_{{n}}…{B}_{{0}}\right)}_{{{256}}}

  • A non-negative integer in base 256

B=(b0,b1,,bn){B}={\left({b}_{{0}},{b}_{{1}},…,{b}_{{n}}\right)}

  • The little-endian representation of a non-negative interger I=(BnB0)256{I}={\left({B}_{{n}}…{B}_{{0}}\right)}_{{{256}}} such that biBi{b}_{{i}}≔{B}_{{i}}

EncLE\textrm{Enc}_{LE}

  • The little-endian encoding function.

C{C}

  • A blockchain is defined as a directed path graph.

Block

  • A node of the directed path graph (blockchain) C

Genesis Block

  • The unique sink of blockchain C

Head

  • The source of blockchain C

P(B){P}{\left({B}\right)}

  • The parent of block B{B}

UNIX time

  • The number of milliseconds that have elapsed since the Unix epoch as a 64-bit integer

BT{BT}

  • The block tree of a blockchain

G{G}

  • The genesis block, the root of the block tree BT

CHAIN(B)\textrm{CHAIN}({B})

  • The path graph from G{G} to B{B} in BT{BT}.

Head(C){Head}{\left({C}\right)}

  • The head of chain C.

C{\left|{C}\right|}

  • The length of chain C{C} as a path graph

SubChain(B,B)\textrm{SubChain}{\left({B}',{B}\right)}

  • The subgraph of Chain(B){Chain}{\left({B}\right)} path graph containing both B{B} and B{B}'.

CB(BT)ℂ_{{B}}{\left({BT}\right)}

  • The set of all subchains of BT{BT} rooted at block B{B}.

C,C(BT)ℂ,ℂ{\left({BT}\right)}

  • CG(BT)ℂ_{{G}}{\left({BT}\right)} i.e. the set of all chains of BT{BT} rooted at genesis block

Longest-Chain(BT)\textrm{Longest-Chain}{\left({BT}\right)}

  • The longest sub path graph of BT{BT} i.e. C:C=maxCiCCi{C}:{\left|{C}\right|}=\max_{{{C}_{{i}}∈ℂ}}{\left|{C}_{{i}}\right|}

Longest-Path(BT)\textrm{Longest-Path}{\left({BT}\right)}

  • The longest sub path graph of (P)BT{\left({P}\right)}{BT} with earliest block arrival time

Deepest-Leaf(BT)\textrm{Deepest-Leaf}{\left({BT}\right)}

  • HeadLongest-Path(BT)\textrm{Head}{\textrm{Longest-Path}}{(BT)} i.e. the head of Longest-Path(BT)\textrm{Longest-Path}{\left({BT}\right)}

B>B{B}>{B}'

  • B{B} is a descendant of B{B}' in the block tree

StoredValue(k)\textrm{StoredValue}{\left({k}\right)}

  • The function to retrieve the value stored under a specific key in the state storage.

State trie, trie

  • The Merkle radix-16 Tree, which stores hashes of storage entries.

KeyEncode(k)\textrm{KeyEncode}{\left({k}\right)}

  • The function to encode keys for labeling branches of the trie.

𝒩𝒩

  • The set of all nodes in the Polkadot state trie.

N{N}

  • An individual node in the trie.

𝒩b𝒩_{{b}}

  • A branch node of the trie which has at least one and at most 16 children

𝒩l𝒩_{{l}}

  • A childless leaf node of the trie

pkNAgr{pk}_{{N}}^{{{Agr}}}

  • The aggregated prefix key of node N

pkN{pk}_{{N}}

  • The (suffix) partial key of node N

IndexN\textrm{Index}_{{N}}

  • A function returning an integer in range of {0, . . . ,15} representing the index of a child node of node N{N} among the children of N{N}

vN{v}_{{N}}

  • Node value containing the header of node N{N}, its partial key and the digest of its childern values

HeadN{Head}_{{N}}

  • The node header of trie node N{N} storing information about the node’s type and kay

H(N){H}{\left({N}\right)}

  • The Merkle value of node N{N}.

ChildrenBitmap\textrm{ChildrenBitmap}

  • The binary function indicates which child of a given node is present in the trie.

svN{sv}_{{N}}

  • The subvalue of a trie node N{N}.

Child storage

  • A sub storage of the state storage which has the same structure, although being stored separately

Child trie

  • State trie of a child storage

Transaction Queue

Hp{H}_{{p}}

  • The 32-byte Blake2b hash of the header of the parent of the block.

Hi,Hi(B){H}_{{i}},{H}_{{i}}{\left({B}\right)}

  • Block number, the incremental integer index of the current block in the chain.

Hr{H}_{{r}}

  • The hash of the root of the Merkle trie of the state storage at a given block

He{H}_{{e}}

  • An auxiliary field in the block header used by Runtime to validate the integrity of the extrinsics composing the block body.

Hd{H}_{{d}}, Hd(B){H}_{{d}}{\left({B}\right)}

  • A block header used to store any chain-specific auxiliary data.

Hh(B){H}_{{h}}{\left({B}\right)}

  • The hash of the header of block B{B}

Body(B){Body}{\left({B}\right)}

  • The body of block B{B} consisting of a set of extrinsics

Mvr,stage{M}^{{r},{stage}}_{v}

  • Vote message broadcasted by the voter v as part of the finality protocol

Mvr,Fin(B){M}_{{v}}^{{{r},{Fin}}}{\left({B}\right)}

  • The commit message broadcasted by voter v{v} indicating that they have finalized bock B{B} in round r{r}

v{v}

  • GRANDPA voter node, which casts votes in the finality protocol

kvpr{{k}_{{v}}^{pr}}

  • The private key of voter v{v}

vid{v}_{{{i}{d}}}

  • The public key of voter v{v}

𝕍B,𝕍𝕍_{{B}},𝕍

  • The set of all GRANDPA voters for at block B{B}

GS{GS}

  • GRANDPA protocol state consisting of the set of voters, the number of times voters set has changed, and the current round number.

r{r}

  • The voting round counter in the finality protocol

VB{V}_{{{B}}}

  • A GRANDPA vote casted in favor of block B

Vvr,pv{{V}_{{v}}^{{{r},{pv}}}}

  • A GRANDPA vote casted by voter v{v} during the pre-vote stage of round r{r}

Vvr,pc{{V}_{{v}}^{{{r},{pc}}}}

  • A GRANDPA vote casted by voter v{v} during the pre-commit stage of round r{r}

Jr,stage(B){J}^{{{r},{stage}}}{\left({B}\right)}

  • The justification for pre-committing or committing to block B{B} in round r{r} of finality protocol

Sign{vi}r,stage(B){Sign}^{{{r},{stage}}}_{\left\lbrace{v}_{{i}}\right\rbrace}{\left({B}\right)}

  • The signature of voter v{v} on their vote to block B, broadcasted during the specified stage of finality round r{r}

Er,stageℰ^{{{r},{stage}}}

  • The set of all equivocator voters in sub-round ‘‘stage'' of round r{r}

E{obs(v)}r,stageℰ^{{{r},{stage}}}_{\left\lbrace{o}{b}{s}{\left({v}\right)}\right\rbrace}

  • The set of all equivocator voters in sub-round ‘‘stage'' of round r{r} observed by voter v{v}

VD{obs(v)}r,stage(B){V}{D}^{{{r},{stage}}}_{\left\lbrace{o}{b}{s}{\left({v}\right)}\right\rbrace}{\left({B}\right)}

  • The set of observed direct votes for block B in round r{r}

V{obs(v)}r,stage{V}^{{{r},{stage}}}_{\left\lbrace{o}{b}{s}{\left({v}\right)}\right\rbrace}

  • The set of total votes observed by voter v in sub-round ‘‘stage'' of round r

V{obs(v)}r,stage(B){V}^{{{r},{stage}}}_{\left\lbrace{o}{b}{s}{\left({v}\right)}\right\rbrace}{\left({B}\right)}

  • The set of all observed votes by v{v} in the sub-round “stage” of round r{r} (directly or indirectly) for block B{B}

Bvr,pv{B}^{{{r},{pv}}}_{v}

  • The currently pre-voted block in round r{r}. The GRANDPA GHOST of round r{r}

Account key, (ska,pka){\left({sk}^{{a}},{pk}^{{a}}\right)}

  • A key pair of types accepted by the Polkadot protocol which can be used to sign transactions

EncSC(A){Enc}_{{{SC}}}{\left({A}\right)}

  • SCALE encoding of value A{A}

T(A1,,An){T}≔{\left({A}_{{1}},\ldots,{A}_{{n}}\right)}

  • A tuple of values Ai{A}_{{i}}'s each of different type

Varying Data Types 𝒯={T1,,Tn}𝒯={\left\lbrace{T}_{{1}},…,{T}_{{n}}\right\rbrace}

  • A data type representing any of varying types T1,,Tn{T}_{{1}},…,{T}_{{n}}.

SA1,,An{S}≔{A}_{{1}},…,{A}_{{n}}

  • Sequence of values Ai{A}_{{i}} of the same type

Enc{SC}Len(n){Enc}^{{{Len}}}_{\left\lbrace{S}{C}\right\rbrace}{\left({n}\right)}

  • SCALE length encoding, aka. compact encoding of non-negative interger n{n} of arbitrary size.

EncHE(PK){Enc}_{{{HE}}}{\left({P}{K}\right)}

  • Hex encoding