List of key terms related to the Celo platform, networks, tools, and blockchain technology.
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.
A unique identifier for an account on the Celo blockchain.
The first public Celo test network, available for developers to use freely subject to the Alfajores Testnet Disclaimer.
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 mobile phone number via a specific validator via Celo's decentralized verification process.
A service operated by validators that sends signed SMS messages in order to allow accounts to prove they have access to a phone number.
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.
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.
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.
An open platform that makes financial tools accessible to anyone with a mobile phone.
The ticker symbol for the Celo native asset, often written in capital letters to avoid confusion with references to the Celo protocol.
A mission-driven foundation responsible for education, community engagement, and ecosystem support of the Celo platform.
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.
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.
An algorithm that enables multiple computers to reach a decision on a single value proposed by one of them, despite network or computer failures.
A library to help developers and operators of Validator nodes interact with the Celo Blockchain and Celo Core Contracts.
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.
A lightweight set of functions in the Celo Wallet that allow other mobile DApps to use the Celo Blockchain node bundled with the Celo Wallet to sign transactions and access the user's address.
Decentralized Finance; open source software and networks without intermediaries in the financial space.
When a validator signs two different blocks at the same height and with the same parent hash in the blockchain.
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.
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.
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.
A project with which the code of the Celo Blockchain has shared ancestry. Ethereum facilitates building general-purpose decentralized applications.
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.
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.
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.
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.
The very first block in the blockchain, provided as configuration to Celo Blockchain nodes.
go-ethereum, a Golang implementation of the Ethereum protocol from which the Celo Blockchain software is forked.
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.
A smart contract that is owned by the Celo Governance mechanism and so can be changed or updated by an on-chain governance proposal.
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.
Hardware Security Module. A hardware device that hosts one or more private keys and signs data without passing the key off the device.
The creation of a new cryptographic key to replace an existing key in active use.
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, 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.
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.
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.
The Celo production network.
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'.
An interaction that takes place solely through a transaction being executed on the blockchain and updating the state of the ledger.
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, 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.
A common practice in societies without easy access to banking (source); a peer-to-peer savings and loan group.
Should Be Able To (Acronym used in GitHub issue title)
Should Not Be Able To (Acronym used in GitHub issue title)
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.
Software Development Kit. Generally, a suite of developer tools that enable applications to be built on a platform.
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.
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.
The preferred language for writing Smart Contracts on the Celo platform.
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.
A stablecoin is a type of cryptocurrency whose price tracks an external currency or commodity.
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.
A test network. Its tokens hold no real world economic value.
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.
The elapsed time between an account requesting an amount of Locked Gold be unlocked and the first point it can be withdrawn.
A variable that is tracked for each validator by the proof-of-stake mechanism that approximates how regularly that validator participates in consensus.
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.
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.