Glossary
List of key terms related to the Celo platform, networks, tools, and blockchain technology.
Account
Identifies an account on Celo. There are two types of account. Externally owned accounts have an associated CELO balance and are controlled by a user holding the associated public-private keypair. Contract accounts contain the code and data of a single smart contract which can be called and manipulate its own stored data.
Address
A unique identifier for an account on the Celo blockchain.
Alfajores
The first public Celo test network, available for developers to use freely subject to the Alfajores Testnet Disclaimer.
Attestation
Generally, support for an entity having an associated identity. In Celo, each attestation confirms that an account has access to a message sent to a specific identifier typically a mobile phone number via an Attestation Provider via Celo's ODIS.
Attestation Service
Former name for what has become Social Connect.
Baklava
The second public Celo test network, intended for use as a testing ground for protocol changes and validator configurations. It is subject to the Baklava Testnet Disclaimer.
Block
The unit of update to the blockchain. A block consists of a header identifying its position in the chain and other metadata, and a body that contains a list of transactions, and data structures that describe the new state after executing those transactions.
Blockchain
A database maintained by a distributed set of computers that do not share a trust relationship or common ownership. This arrangement is referred to as decentralized. The content of a blockchain's database, or ledger, is authenticated using cryptographic techniques, preventing its contents being added to, edited or removed except according to a protocol operated by the network as a whole.
Byzantine Fault Tolerant (BFT) Consensus
A form of consensus algorithm in which up to a third of participants can be faulty or malicious.
cLabs, Celo Labs
The team that, before mainnet release, has worked closely to develop and shape the Celo protocol and Celo Wallet application with the input of the larger Celo Community.
Carbon Offsetting Fund
An account that receives a transfer as part of epoch rewards to cover the cost of offsetting the carbon generated by the hardware footprint required to operate the Celo network. The account that receives these funds and the amount is determined from time to time by on-chain governance proposal.
Celo
An open platform that makes financial tools accessible to anyone with a mobile phone.
CELO
The ticker symbol for the Celo native asset, often written in capital letters to avoid confusion with references to the Celo protocol.
Celo Foundation
A mission-driven foundation responsible for education, community engagement, and ecosystem support of the Celo platform.
Celo Gold
The deprecated name for the Celo native asset, which now is referred to simply as "Celo" or preferably "CELO".
Celo Native Asset
The Celo native asset which may be used to take actions on-chain, such as participating in Governance.
Claim
Part of the metadata that Celo can associate with an address, a claim is used by an account to assert it has control over a particular off-chain entity (for example, a DNS domain name, an account on a third party service, etc). Claims can only be verified off-chain.
Client
See Node.
Consensus
An algorithm that enables multiple computers to reach a decision on a single value proposed by one of them, despite network or computer failures.
ContractKit
A library to help developers and operators of Validator nodes interact with the Celo Blockchain and Celo Core Contracts.
DApp
Short for Decentralized Application. An application, usually a mobile application, which to deliver its functionality connects to a decentralized network like Celo, rather than to centralized services in a single organization's data centers.
DeFi
Decentralized Finance; open source software and networks without intermediaries in the financial space.
Derivation Path
A derivation path defines how private keys and addresses are derived from a mnemonic. The Bitcoin community defined the standards for derivation paths in BIP39 and BIP42 and BIP44. A registry of coins/chains and their paths is maintained and includes Celo and Ethereum paths.
Double Signing
When a validator signs two different blocks at the same height and with the same parent hash in the blockchain.
Epoch
A fixed number of blocks, configured in the network's genesis block, during which the same validator set is used for consensus. A validator election is carried out after the last block of an epoch, and any resulting changes to the validator set are written into that block's header.
Epoch Rewards
Funds disbursed by the protocol at the end of every epoch as incentives for validators, validator groups, holders of Locked Gold that voted for validator groups that elected one or more validators, the Reserve, the Community Fund, and the Carbon Offsetting Fund.
ERC-20
A standard interface for implementing tokens as smart contracts. Balances associated with addresses are typically maintained inside the contract's storage. Both CELO and Celo Dollars implement the ERC-20 interface.
Ethereum
A project with which the code of the Celo Blockchain has shared ancestry. Ethereum facilitates building general-purpose decentralized applications.
EVM
The Ethereum Virtual Machine. A runtime environment used by smart contracts on Ethereum and Celo.
Externally Owned Account (EOA)
An account owned by a private key which has full control to send transactions from the account by signing and submitting the transaction to the blockchain. All transaction on Celo must originate from an EOA, which pays for the transaction fees.
Full Node
A computer running the Celo Blockchain software that maintains a full copy of the blockchain locally and, in Celo, receives transaction fees in exchange for servicing light clients.
Gas
A step of execution of a smart contract. Different operations consume different amounts of gas. To prevent denial-of-service attacks, transactions specify a maximum gas which bounds the steps of execution before a transaction is reverted.
Gas Price
Determines the unit price for gas, i.e. cost for a transaction to perform one step of execution. This is used to prioritize which transactions the network applies.
Gas Price Minimum
The minimum unit price for gas that the Celo protocol will accept. This value changes from block to block in response to congestion, increasing as more transactions are competing for the limited capacity of the network. A transaction specifying a gas price below the Gas Price Minimum will not be processed until the Gas Price Minimum falls.
Genesis block
The very first block in the blockchain, provided as configuration to Celo Blockchain nodes.
Geth
go-ethereum, a Golang implementation of the Ethereum protocol from which the Celo Blockchain software is forked.
Governance
A part of Celo that allow the protocol to be upgraded, and other actions to be taken on behalf of the network, by holding a referendum process in which CELO holders vote for proposals submitted by the community.
Governable
A smart contract that is owned by the Celo Governance mechanism and so can be changed or updated by an on-chain governance proposal.
Group Share
The proportion of epoch rewards for an elected validator that is passed to the validator group that caused it to be elected. This is a property that can be configured by each group.
Header
See Block.
HSM
Hardware Security Module. A hardware device that hosts one or more private keys and signs data without passing the key off the device.
Key Rotation
The creation of a new cryptographic key to replace an existing key in active use.
Community Fund
An account that supports the development and operational costs of the Celo protocol. The Community Fund is maintained by a transfer made as part of Epoch Rewards, and is intended to cover costs beyond the other specific incentives provided to validators and validator groups. Awards can be made through an on-chain governance proposal.
Istanbul
Istanbul, or IBFT, is the original name of the implementation of the Byzantine Fault Tolerant consensus algorithm used by Celo. Istanbul is also the name of a hard fork of the Ethereum network.
Light Client
A device or computer running the Celo Blockchain software that keeps typically only the most recent blockchain state, such that it can send transactions and identify what other data to request as necessary. Every Celo Wallet installation includes a Celo Blockchain light client.
Locked Gold
CELO balances held in escrow at the Locked Gold contract for the account that deposited it there. This permits that balance to be used for voting in validator elections, governance proposals, and to meet staking requirements for registering a validator or validator group.
Locked Gold is in the process of being renamed along with other references to Celo Gold (cGLD), which is now referred as CELO.
Mainnet
The Celo production network.
Node
A running instance of the Celo Blockchain software. This could be configured to run as a Validator, Full Node, or Light Client. Used interchangeably with 'Client'.
On-chain
An interaction that takes place solely through a transaction being executed on the blockchain and updating the state of the ledger.
Proof-of-Stake
The system that determines the participants in a Byzantine Fault Tolerant consensus mechanism. Celo's Proof-of-Stake mechanism permits accounts to convert units of CELO into Locked Gold then vote for Validator Groups, such that an election held at the end of every epoch selects a new set of validators for the following epoch.
RC1
RC1, which stands for Release Candidate 1, was the first network that had the potential to become the Celo mainnet. It was promoted to Mainnet after the Celo community voted to enable CELO transfers on the network on May 18, 2020.
Savings Circle
A common practice in societies without easy access to banking (source); a peer-to-peer savings and loan group.
SBAT
Should Be Able To (Acronym used in GitHub issue title)
SNBAT
Should Not Be Able To (Acronym used in GitHub issue title)
Sync
The process, when a node joins the network, of requesting and receiving block headers so that the node catches up to the network's latest state.
SDK
Software Development Kit. Generally, a suite of developer tools that enable applications to be built on a platform.
Slashing
The reduction in the stake of a validator, a validator group, or both, for a particular action not conducive to the health of the network.
Slashing Penalty
A variable that is tracked for each validator group by the proof-of-stake mechanism that causes rewards to the group, its validators and its voters to be temporarily reduced because of a recent slashing.
Solidity
The preferred language for writing Smart Contracts on the Celo platform.
Smart Contracts
Programs that are deployed to a blockchain and execute on its nodes. They operate on data on the blockchain, and on external inputs received in transactions or messages to the blockchain, and may update the state of the blockchain, including account balances. On Celo and Ethereum, smart contracts are written in languages like Solidity.
Stablecoin
A stablecoin is a type of cryptocurrency whose price tracks an external currency or commodity.
Stake
Locked Gold that a validator or validator group puts at risk at the point of registration. A portion of a stake can be slashed for particular actions not conducive to the health of the network.
Testnet
A test network. Its tokens hold no real world economic value.
Transaction
Requests to make a change to the state of the blockchain. They can: transfer value between accounts; execute a function in a smart contract and pass in arguments (perhaps causing other smart contracts to be called, update their storage, or transfer value); or create a new smart contract.
Unlocking Period
The elapsed time between an account requesting an amount of Locked Gold be unlocked and the first point it can be withdrawn.
Uptime Score
A variable that is tracked for each validator by the proof-of-stake mechanism that approximates how regularly that validator participates in consensus.
Validator
Both: the entity in the proof-of-stake mechanism that can be associated with a validator group and subsequently elected; and a running instance of the Celo Blockchain software that is configured and ready (if elected) to participate in the Byzantine Fault Tolerant consensus algorithm to agree new blocks to append to the blockchain ledger.
Validator Group
The entity in the proof-of-stake mechanism that can associate validators, receive votes from holders of Locked Gold and cause those validators to be elected.
Validator Set
The set of elected validators (with respect to a specific epoch) that participate in consensus
Wallet
A DApp that allows a user to manage an account, and usually stores the associated private key. DApp that allows a user to manage an account, and usually stores the associated private key.