Skip to main content

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 mobile phone number via a specific validator via Celo's decentralized verification process.

Attestation Service

A service operated by validators that sends signed SMS messages in order to allow accounts to prove they have access to a phone number.

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.

DAppKit

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.

DeFi

Decentralized Finance; open source software and networks without intermediaries in the financial space.

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.

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.