Better formatting and lots of terminology links

This commit is contained in:
Greg Fitzgerald 2018-11-28 15:25:07 -07:00 committed by Grimes
parent 8d1ac37734
commit 3de63570f6
1 changed files with 200 additions and 42 deletions

View File

@ -1,51 +1,209 @@
## Terminology # Terminology
### Teminology Currently in Use ## Teminology Currently in Use
The following list contains words commonly used throughout the Solana architecture. The following list contains words commonly used throughout the Solana
architecture.
* account - a persistent file addressed by pubkey and with tokens tracking its lifetime #### account
* block - the entries generated within a slot
* bootstrap leader - the first fullnode to take the leader role A persistent file addressed by [public key](#public-key) and with tokens
* client - a node that utilizes the cluster tracking its lifetime.
* cluster - a set of fullnodes maintaining a single ledger
* control plane - a gossip network connecting all nodes of a cluster #### block
* data plane - a multicast network used to efficiently validate entries and gain consensus
* entry - an entry on the ledger - either a tick or a transactions entry The [entries](#entry) generated within a [slot](#slot).
* finality - the wallclock duration between a leader creating a tick entry and recognizing
a supermajority of validator votes with a ledger interpretation that matches the leader's #### bootstrap leader
* fork - a ledger derived from common entries but then diverged
* fullnode - a full participant in the cluster - either a leader or validator node The first [fullnode](#fullnode) to take the [leader](#leader) role.
* genesis block - the first entries of the ledger
* instruction - the smallest unit of a program that a client can include in a transaction #### client
* keypair - a public and secret key
* leader - the role of a fullnode when it is appending entries to the ledger A [node](#node) that utilizes the [cluster](#cluster).
* ledger - a list of entries containing transactions signed by clients
* ledger vote - a hash of the fullnode's state at a given tick height #### cluster
* lockout - the duration of time in which a fullnode is unable to vote on another fork
* node count - the number of fullnodes participating in a cluster A set of [fullnodes](#fullnode) maintaining a single [ledger](#ledger).
* program - the code that interprets instructions
* pubkey - a shorthand for public key #### control plane
* public key - the public key of a keypair
* replicator - a type of client that stores copies of segments of the ledger A gossip network connecting all [nodes](#node) of a [cluster](#cluster).
* secret key - the private key of a keypair
* slot - the time in which a single leader may produce entries #### data plane
* stake - tokens forfeit to the cluster if malicious fullnode behavior can be proven
* tick - a ledger entry that estimates wallclock duration A multicast network used to efficiently validate [entries](#entry) and gain
* tick height - the Nth tick in the ledger consensus.
* tps - transactions per second
* transaction - one or more instructions signed by the client and executed atomically #### entry
* 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 An entry on the [ledger](#ledger) either a [tick](#tick) or a [transactions
entry](#transactions-entry).
#### finality
The wallclock duration between a [leader](#leader) creating a [tick
entry](#tick) and recognizing a supermajority of [ledger votes](#ledger-vote)
with a ledger interpretation that matches the leader's.
#### fork
A [ledger](#ledger) derived from common entries but then diverged.
#### fullnode
A full participant in the [cluster](#cluster) either a [leader](#leader) or
[validator](#validator) node.
#### fullnode state
The result of interpreting all programs on the ledger a given [tick
height](#tick-height). It includes at least the set of all [accounts](#account)
holding nonzero [native tokens](#native-tokens).
#### genesis block
The first [block](#block) of the [ledger](#ledger).
#### hash
A digital fingerprint of a sequence of bytes.
#### instruction
The smallest unit of a [program](#program) that a [client](#client) can include
in a [transaction](#instruction).
#### keypair
A [public key](#public-key) and coesponding [secret key](#secret-key).
#### lamport
A fractional [native token](#native-token) with the value of approximately
0.0000000000582 [sol](#sol) (2^-34).
#### leader
The role of a [fullnode](#fullnode) when it is appending [entries](#entry) to
the [ledger](#ledger).
#### leader schedule
A sequence of [fullnode](#fullnode) [public keys](#public-key). The cluster
uses the leader schedule to determine which fullnode is in the [leader](#leader)
at any moment in time.
#### ledger
A list of [entries](#entry) containing [transactions](#transaction) signed by
[clients](#client).
#### ledger vote
A [hash](#hash) of the [fullnode's state](#fullnode-state) at a given [tick
height](#tick-height).
#### lockout
The duration of time in which a [fullnode](#fullnode) is unable to [vote](#vote) on
another [fork](#fork).
#### native token
The [token](#token) used to track work done by [nodes](#node) in a cluster.
#### node
A computer particpating in a [cluster](#cluster).
#### node count
The number of [fullnodes](#fullnode) participating in a [cluster](#cluster).
#### program
The code that interprets [instructions](#instruction).
#### public key
The public key of a [keypair](#keypair).
#### replicator
A type of [client](#client) that stores copies of segments of the [ledger](#ledger).
#### secret key
The private key of a [keypair](#keypair).
#### slot
The time in which a single [leader](#leader) may produce [entries](#entry).
#### sol
The [native token](#native-token) tracked by a [cluster](#cluster) recognized
by the company Solana.
#### stake
Tokens forfeit to the [cluster](#cluster] if malicious [fullnode](#fullnode) behavior can be proven.
#### tick
A ledger [entry](#entry) that estimates wallclock duration.
#### tick height
The Nth [tick](#tick) in the [ledger](#ledger).
#### token
A scarce, fungible member of a set of tokens.
#### tps
[Transactions](#transaction) per second.
#### transaction
One or more [instructions](#instruction) signed by the [client](#client) and executed atomically.
#### transactions entry
A set of [transactions](#transaction) that may be executed in parallel.
#### validator
The role of a [fullnode](#fullnode) when it is validating the [leader's](#leader) latest [entries](#entry).
### Terminology Reserved for Future Use ## Terminology Reserved for Future Use
The following keywords do not have any functionality but are reserved by Solana The following keywords do not have any functionality but are reserved by Solana
for potential future use. for potential future use.
* blob - a fraction of a block; the smallest unit sent between validators #### blob
* epoch - the time in which a leader schedule is valid
* light client - a type of client that can verify it's pointing to a valid cluster A fraction of a [block](#block); the smallest unit sent between [fullnodes](#fullnode).
* mips - millions of instructions per second
* thin client - a type of client that trusts it is communicating with a valid cluster #### curio
A scarce, non-fungible member of a set of curios.
#### epoch
The time in which a [leader schedule](#leader-schedule) is valid.
#### light client
A type of [client](#client) that can verify it's pointing to a valid [cluster](#cluster).
#### mips
Millions of [instructions](#instruction) per second.
#### thin client
A type of [client](#client) that trusts it is communicating with a valid [cluster](#cluster).