Terminology

The following terms are used throughout this book.

account

A persistent file addressed by public key and with lamports tracking its lifetime.

app

A front-end application that interacts with a Solana cluster.

blob

A fraction of a block; the smallest unit sent between fullnodes.

block

A contiguous set of entries on the ledger covered by a vote. A leader produces at most one block per slot.

block height

The number of blocks beneath the current block. The first block after the genesis block has height zero.

block id

The entry id of the last entry in a block.

bootstrap leader

The first fullnode to take the leader role.

CBC block

Smallest encrypted chunk of ledger, an encrypted ledger segment would be made of many CBC blocks. ledger_segment_size / cbc_block_size to be exact.

client

A node that utilizes the cluster.

cluster

A set of fullnodes maintaining a single ledger.

confirmation

The wallclock duration between a leader creating a tick entry and recognizing a supermajority of ledger votes with a ledger interpretation that matches the leader's.

control plane

A gossip network connecting all nodes of a cluster.

data plane

A multicast network used to efficiently validate entries and gain consensus.

drone

An off-chain service that acts as a custodian for a user's private key. It typically serves to validate and sign transactions.

fake storage proof

A proof which has the same format as a storage proof, but the sha state is actually from hashing a known ledger value which the storage client can reveal and is also easily verifiable by the network on-chain.

entry

An entry on the ledger either a tick or a transactions entry.

entry id

A globally unique identifier that is also a proof that the entry was generated after a duration of time, all transactions included in the entry, and all previous entries on the ledger. See Proof of History.

epoch

The time, i.e. number of slots, for which a leader schedule is valid.

finality

When nodes representing 2/3rd of the stake have a common root.

fork

A ledger derived from common entries but then diverged.

fullnode

A full participant in the cluster either a leader or validator node.

fullnode state

The result of interpreting all programs on the ledger at a given tick height. It includes at least the set of all accounts holding nonzero native tokens.

genesis block

The configuration file that prepares the ledger for the first block.

hash

A digital fingerprint of a sequence of bytes.

instruction

The smallest unit of a program that a client can include in a transaction.

keypair

A public key and corresponding secret key.

lamport

A fractional native token with the value of approximately 0.0000000000582 sol (2^-34).

loader

A program with the ability to interpret the binary encoding of other on-chain programs.

leader

The role of a fullnode when it is appending entries to the ledger.

leader schedule

A sequence of fullnode public keys. The cluster uses the leader schedule to determine which fullnode is the leader at any moment in time.

ledger

A list of entries containing transactions signed by clients.

ledger segment

Portion of the ledger which is downloaded by the replicator where storage proof data is derived.

ledger vote

A hash of the fullnode's state at a given tick height. It comprises a validator's affirmation that a block it has received has been verified, as well as a promise not to vote for a conflicting block (i.e. fork) for a specific amount of time, the lockout period.

light client

A type of client that can verify it's pointing to a valid cluster. It performs more ledger verification than a thin client and less than a fullnode.

lockout

The duration of time for which a fullnode is unable to vote on another fork.

native token

The token used to track work done by nodes in a cluster.

node

A computer participating in a cluster.

node count

The number of fullnodes participating in a cluster.

PoH

See Proof of History.

program

The code that interprets instructions.

program id

The public key of the account containing a program.

Proof of History

A stack of proofs, each which proves that some data existed before the proof was created and that a precise duration of time passed before the previous proof. Like a VDF, a Proof of History can be verified in less time than it took to produce.

public key

The public key of a keypair.

replicator

Storage mining client, stores some part of the ledger enumerated in blocks and submits storage proofs to the chain. Not a full-node.

root

A block or slot that has reached maximum lockout on a validator. The root is the highest block that is an ancestor of all active forks on a validator. All ancestor blocks of a root are also transitively a root. Blocks that are not an ancestor and not a descendant of the root are excluded from consideration for consensus and can be discarded.

runtime

The component of a fullnode responsible for program execution.

secret key

The private key of a keypair.

slot

The period of time for which a leader ingests transactions and produces a block.

sol

The native token tracked by a cluster recognized by the company Solana.

stake

Tokens forfeit to the cluster if malicious fullnode behavior can be proven.

storage proof

A set of sha hash state which is constructed by sampling the encrypted version of the stored ledger segment at certain offsets.

storage proof challenge

A transaction from a replicator that verifiably proves that a validator confirmed a fake proof.

storage proof claim

A transaction from a validator which is after the timeout period given from the storage proof confirmation and which no successful challenges have been observed which rewards the parties of the storage proofs and confirmations.

storage proof confirmation

A transaction by a validator which indicates the set of real and fake proofs submitted by a storage miner. The transaction would contain a list of proof hash values and a bit which says if this hash is valid or fake.

storage validation capacity

The number of keys and samples that a validator can verify each storage epoch.

thin client

A type of client that trusts it is communicating with a valid cluster.

tick

A ledger entry that estimates wallclock duration.

tick height

The Nth tick in the ledger.

token

A scarce, fungible member of a set of tokens.

tps

Transactions per second.

transaction

One or more instructions signed by the client and executed atomically.

transactions entry

A set of transactions that may be executed in parallel.

validator

The role of a fullnode when it is validating the leader's latest entries.

VDF

See verifiable delay function.

verifiable delay function

A function that takes a fixed amount of time to execute that produces a proof that it ran, which can then be verified in less time than it took to produce.

vote

See ledger vote.