Developer Resources

Glossary

Explanations of the most important terms relating to the Internet Computer blockchain and its technical architecture

IC Academy » Glossary

Internet Computer Vocabulary

An alphabetical list of IC terms and their definitions

The following list explains terms specific to the Internet Computer. To learn more about the protocol itself, have a look at What is the Internet Computer? and A Technical Introduction to the Internet Computer.

Table of Contents

For better accessibility, here is an overview of all the terms explained in the following. 

Actor

An actor is a key concept of programming language research. It is an object that is capable of handling messages asynchronously and remotely as it processes them in an isolated state.

Learn more about actors: Discover Motoko

Candid

Candid is a language-agnostic interface description language. It serves the primary purpose of describing a service’s public interface. In the context of the Internet Computer, Candid describes the public interface of a program running as a deployed canister smart contract. Candid enables the inter-operation between front-ends and services that are written in different programming languages, such as Motoko, Rust, and JavaScript.

Learn more about Candid: What is Candid?

Canister Smart Contract

Canisters are compute units (i.e. an extended version of smart contracts) that are designed for internet-scale applications and services running at web speed. They are powered by cycles. Canister smart contracts can be deterministically run in parallel and have a universally-unique identifier.

Learn more about canisters: What are Canisters?

Catch-Up Package (CUP)

Catch-up packages contain all the relevant data required for bootstrapping a subnet replica.

Learn more about CUPs: Chain Key Cryptography

Chain Key Cryptography

Chain Key Cryptography is a set of cryptographic protocols that are used to orchestrate the node machines hosting the Internet Computer.

Learn more about this topic: Chain Key Cryptography

Controller

A controller is a principal who has been granted special rights for managing canisters under its control. The controller principle can be specified via the principal’s textual representation (also referred to as principal identifier).

Cycles

Cycles express the cost of computation on the Internet Computer. They act as computational resource that is powering canisters to execute actions on the IC blockchain.

Learn more about cycles: What are Cycles?

Dissolve Delay

The dissolve delay specifies the amount of time neurons are dissolving before becoming unlocked and accessible again to the neuron holder.

Governance Canister

The governance canister is responsible for implementing the governance system of the Network Nervous System. It is a system canister tasked with storing and managing neurons/proposals as well as implementing governance votes.

Learn more about governance: What is the NNS?

Internet Computer Protocol

The ICP is an advanced fault-tolerant, cryptographic protocol. It ensures that the smart contracts running on the Internet Computer blockchain cannot be stopped or tampered with.

Learn more about the ICP: What is the Internet Computer?

Internet Identity

Internet Identity is a blockchain authentication system that allows users to access dApps on the Internet Computer securely and anonymously. Internet Identity empowers users to authenticate themselves without the need for usernames and passwords.

Learn more about the II: What is Internet Identity?

Ledger

The so-called ledger canister is a specialized management canister that records all transactions on the Internet Computer blockchain involving ICP tokens. It is a special smart contract for maintaining accounts and balances and for keeping a transaction history. The following event types are tracked by the ledger canister:

  • Minting of ICP tokens

  • Transfers of ICP tokens
  • ICP token burns
Motoko

Motoko is the native programming language of the Internet Computer. It is a type-safe and modern programming language designed for developers who wish to build the next generation of dApps on the Internet Computer. Motoko enables developers to use the unique features of the IC.

Learn more about the Motoko: What is Motoko?

Network Nervous System (NNS)

The Network Nervous System (NNS) is the governance system of the Internet Computer and is responsible for orchestrating the decentralized decision-making process that controls and manages the network. Its open governance system oversees – among other things – the permission to participate in the network.

Learn more about the NNS: Network Nervous System (NNS)

Neuron

Network participants need to lock up their ICP utility tokens by creating a neuron to vote on governance proposals. A neuron represents ICP tokens that cannot be exchanged or transferred during the predetermined lock-up period.

Learn more about Neurons: What are Neurons?

Node machines

Nodes are virtual or physical machines hosting the hardware, software, as well as the configuration settings required to operate the Internet Computer blockchain. They are hosted in independent data centers and run by independent node operators.

Principal

Principals are entities that the Internet Computer Blockchain can authenticate. Principals interacting with the protocol often use an identity to do so. For example, users of the DFINITY Canister SDK receive a default developer identity with a public/private key pair from the dfx command-line tool.

Learn more about principals: Internet Identity

Replica

The term replica refers to the protocol processes of the Internet Computer that are running on a node machine.

Reverse-Gas Model

Unlike other blockchains, end users are not charged for interacting with the Internet Computer. Instead, developers precharge their canister smart contracts with so-called “cycles” by converting the ICP token to cycles. This model makes the Internet Computer seamlessly accessible for end-users that do not have to own ICP, cycles, or any other cryptocurrency to interact with the IC.

Subnets

Subnets are clusters of node machines hosted in different data centers around the world. Subnets are responsible for hosting the Internet Computer’s canister smart contracts.

Learn more about subnets: What is a Subnet?

Wallet

A wallet, such as the NNS front-end dApp, is a decentralized application hosted on the Internet Computer as a canister allowing its users to store and manage ICP tokens and cycles.

Learn more about wallets: ICP Wallets

WebAssembly (Wasm)

WebAssembly, also know as Wasm, is a low-level, binary instruction format that finds its application in a stack-based virtual machine. WebAssembly is broadly supported by programs running on the internet as it defines a portable binary format which cleanly abstracts over modern computer hardware.

Learn more about Wasm: Introduction to Motoko

What is the NNS?

Understand what the Network Nervous System (NNS) is and how the Internet Computer’s governance system works

More about the NNS

What is Internet Identity?

Internet identity is your key to the Internet Computer. Learn everything you need to know about Internet identity.

More about Internet Identity