solana/book/src/terminology.md

5.7 KiB

Terminology

Teminology Currently in Use

The following list contains words commonly used throughout the Solana architecture.

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.

block

A contiguous set of entries on the ledger covered by a vote. The length of a block is network hyper parameter, specified in ticks. Also called voting period.

bootstrap leader

The first fullnode to take the leader role.

client

A node that utilizes the cluster.

cluster

A set of fullnodes maintaining a single ledger.

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.

entry

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

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.

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 a given tick height. It includes at least the set of all accounts holding nonzero native tokens.

genesis block

The first block of the ledger.

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 coesponding 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 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.

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 particpating in a cluster.

node count

The number of fullnodes participating in a cluster.

program

The code that interprets instructions.

program ID

The public key of the account containing a program.

public key

The public key of a keypair.

runtime

The component of a fullnode responsible for program execution.

secret key

The private key of a keypair.

slot

The time (i.e. number of blocks) for which a leader ingests transactions and produces entries.

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.

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.

vote

See ledger vote

voting period

See block

Terminology Reserved for Future Use

The following keywords do not have any functionality but are reserved by Solana for potential future use.

blob

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

curio

A scarce, non-fungible member of a set of curios.

epoch

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

light client

A type of client that can verify it's pointing to a valid cluster.

mips

Millions of instructions per second.

thin client

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