Terminology
The following terms are used throughout the documentation.
#
accountA record in the Renec ledger that either holds data or is an executable program.
Like an account at a traditional bank, a Renec account may hold funds called lamports. Like a file in Linux, it is addressable by a key, often referred to as a public key or pubkey.
The key may be one of:
- an ed25519 public key
- a program-derived account address (32byte value forced off the ed25519 curve)
- a hash of an ed25519 public key with a 32 character string
#
account ownerThe address of the program that owns the account. Only the owning program is capable of modifying the account.
#
appA front-end application that interacts with a Renec cluster.
#
bank stateThe 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.
#
blockA contiguous set of entries on the ledger covered by a vote. A leader produces at most one block per slot.
#
blockhashA unique value (hash) that identifies a record (block). Renec computes a blockhash from the last entry id of the block.
#
block heightThe number of blocks beneath the current block. The first block after the genesis block has height one.
#
bootstrap validatorThe validator that produces the genesis (first) block of a block chain.
#
BPF loaderThe Renec program that owns and loads BPF smart contract programs, allowing the program to interface with the runtime.
#
clientA computer program that accesses the Renec server network cluster.
#
clusterA set of validators maintaining a single ledger.
#
confirmation timeThe wallclock duration between a leader creating a tick entry and creating a confirmed block.
#
confirmed blockA block that has received a supermajority of ledger votes.
#
control planeA gossip network connecting all nodes of a cluster.
#
cooldown periodSome number of epochs after stake has been deactivated while it progressively becomes available for withdrawal. During this period, the stake is considered to be "deactivating". More info about: warmup and cooldown
#
creditSee vote credit.
#
cross-program invocation (CPI)A call from one smart contract program to another. For more information, see calling between programs.
#
data planeA multicast network used to efficiently validate entries and gain consensus.
#
droneAn off-chain service that acts as a custodian for a user's private key. It typically serves to validate and sign transactions.
#
entryAn entry on the ledger either a tick or a transactions entry.
#
entry idA preimage resistant hash over the final contents of an entry, which acts as the entry's globally unique identifier. The hash serves as evidence of:
- The entry being generated after a duration of time
- The specified transactions are those included in the entry
- The entry's position with respect to other entries in ledger
See proof of history.
#
epochThe time, i.e. number of slots, for which a leader schedule is valid.
#
fee accountThe fee account in the transaction is the account that pays for the cost of including the transaction in the ledger. This is the first account in the transaction. This account must be declared as Read-Write (writable) in the transaction since paying for the transaction reduces the account balance.
#
finalityWhen nodes representing 2/3rd of the stake have a common root.
#
forkA ledger derived from common entries but then diverged.
#
genesis blockThe first block in the chain.
#
genesis configThe configuration file that prepares the ledger for the genesis block.
#
hashA digital fingerprint of a sequence of bytes.
#
inflationAn increase in token supply over time used to fund rewards for validation and to fund continued development of Renec.
#
inner instruction#
instructionThe smallest contiguous unit of execution logic in a program. An instruction specifies which program it is calling, which accounts it wants to read or modify, and additional data that serves as auxiliary input to the program. A client can include one or multiple instructions in a transaction. An instruction may contain one or more cross-program invocations.
#
keypairA public key and corresponding private key for accessing an account.
#
lamportA fractional native token with the value of 0.000000001 renec.
#
leaderThe role of a validator when it is appending entries to the ledger.
#
leader scheduleA sequence of validator public keys mapped to slots. The cluster uses the leader schedule to determine which validator is the leader at any moment in time.
#
ledgerA list of entries containing transactions signed by clients. Conceptually, this can be traced back to the genesis block, but an actual validator's ledger may have only newer blocks to reduce storage, as older ones are not needed for validation of future blocks by design.
#
ledger voteA hash of the validator'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 clientA 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 validator.
#
loaderA program with the ability to interpret the binary encoding of other on-chain programs.
#
lockoutThe duration of time for which a validator is unable to vote on another fork.
#
native tokenThe token used to track work done by nodes in a cluster.
#
nodeA computer participating in a cluster.
#
node countThe number of validators participating in a cluster.
#
PoHSee Proof of History.
#
pointA weighted credit in a rewards regime. In the validator rewards regime, the number of points owed to a stake during redemption is the product of the vote credits earned and the number of lamports staked.
#
private keyThe private key of a keypair.
#
programThe code that interprets instructions.
#
program derived account (PDA)An account whose owner is a program and thus is not controlled by a private key like other accounts.
#
program idThe public key of the account containing a program.
#
proof of history (PoH)A stack of proofs, each of 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 (pubkey)The public key of a keypair.
#
rootA 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.
#
runtimeThe component of a validator responsible for program execution.
#
SealevelRenec's parallel smart contracts run-time.
#
shredA fraction of a block; the smallest unit sent between validators.
#
signatureA 64-byte ed25519 signature of R (32-bytes) and S (32-bytes). With the requirement that R is a packed Edwards point not of small order and S is a scalar in the range of 0 <= S < L. This requirement ensures no signature malleability. Each transaction must have at least one signature for fee account. Thus, the first signature in transaction can be treated as transacton id
#
skipped slotA past slot that did not produce a block, because the leader was offline or the fork containing the slot was abandoned for a better alternative by cluster consensus. A skipped slot will not appear as an ancestor for blocks at subsequent slots, nor increment the block height, nor expire the oldest recent_blockhash
.
Whether a slot has been skipped can only be determined when it becomes older than the latest rooted (thus not-skipped) slot.
#
slotThe period of time for which each leader ingests transactions and produces a block.
Collectively, slots create a logical clock. Slots are ordered sequentially and non-overlapping, comprising roughly equal real-world time as per PoH.
#
smart contractA program on a blockchain that can read and modify accounts over which it has control.
#
renecThe native token of a Renec cluster.
#
Renec Program Library (SPL)A library of programs on Renec such as spl-token that facilitates tasks such as creating and using tokens
#
stakeTokens forfeit to the cluster if malicious validator behavior can be proven.
#
supermajority2/3 of a cluster.
#
sysvarA system account. Sysvars provide cluster state information such as current tick height, rewards points values, etc. Programs can access Sysvars via a Sysvar account (pubkey) or by querying via a syscall.
#
thin clientA type of client that trusts it is communicating with a valid cluster.
#
tickA ledger entry that estimates wallclock duration.
#
tick height#
tokenA digitally transferable asset.
#
tpsTransactions per second.
#
transactionOne or more instructions signed by a client using one or more keypairs and executed atomically with only two possible outcomes: success or failure.
#
transaction idThe first signature in a transaction, which can be used to uniquely identify the transaction across the complete ledger.
#
transaction confirmationsThe number of confirmed blocks since the transaction was accepted onto the ledger. A transaction is finalized when its block becomes a root.
#
transactions entryA set of transactions that may be executed in parallel.
#
validatorA full participant in a Renec network cluster that produces new blocks. A validator validates the transactions added to the ledger
#
VDFSee verifiable delay function.
#
verifiable delay function (VDF)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.
#
voteSee ledger vote.
#
vote creditA reward tally for validators. A vote credit is awarded to a validator in its vote account when the validator reaches a root.
#
walletA collection of keypairs that allows users to manage their funds.
#
warmup periodSome number of epochs after stake has been delegated while it progressively becomes effective. During this period, the stake is considered to be "activating". More info about: warmup and cooldown