Glossary

Account

Identifies an account on Celo. There are two types of account. Externally owned accounts have an associated Celo Gold 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, used for The Great Celo Stake Off subject to the Baklava Testnet Disclaimer.

Block

The unit of update to the blockchain. A block consist 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.

C Labs, Celo Labs

The team currently leading the development of the Celo protocol and Celo Wallet application.

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.

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 Gold 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.

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.

Governable

A smart contract that is owned by the Celo Governance mechanism and so can be manipulated 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.

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.

Celo Gold 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.

Mainnet

The Celo production network. At some point in the future, the Celo community may declare a network to be the mainnet.

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 Gold 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.

Savings Circle

A common practice in societies without easy access to banking (source); a peer-to-peer savings and loan group.

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. Celo's SDK currently comprises two components, DAppKit and ContractKit.

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 aims to be 'pegged' to an external currency or commodity and where volatility of the asset is reduced by managing a reserve that may consist of fiat assets or other cryptocurrencies.

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.