iTranslated by AI
Common Concepts and Terminology in the Blockchain and Substrate Ecosystem
Target Audience
- Beginners in Substrate and blockchain technology
Introduction
This article provides explanations for many concepts and terms common to the blockchain and Substrate ecosystems. It is organized in alphabetical order. I will add more as I need them, but PRs are also welcome.
This is an abridged translation of the Substrate - Glossary. Please refer to the reference articles as needed for more details.
adaptive quorum biasing (AQB)
AQB. In governance, problems arise if the passing threshold is fixed at 50%.
- For example, if the turnout is low (a high percentage of non-votes), a proposal might pass too easily (default carry). To prevent this, a passing threshold higher than 50%, such as 60%, would be better.
- Conversely, if the turnout is high and the threshold remains at 60%, the voters' intentions might not be accurately reflected. In this case, a threshold of 50% would be better than 60%.
Scenario 1 is adjusted with "positive turnout bias," and scenario 2 with "negative turnout bias." A simple majority threshold like 50% is referred to as "neutral turnout bias."
Democracy pallet
aggregation
Type aggregation using FRAME abstractions. Also known as pallet aggregation.
Currently, there are six types of aggregatable data. It may be easier to understand by actually creating a pallet.
- Call: Public functions that can be called with specified arguments.
- Error: Messages indicating the reason why a function call (Call) failed.
- Event: Events dispatched from a pallet representing a change in state.
- Log: Logs for extensible header items.
- Metadata: Metadata for inspecting the contents above.
- Origin: An identifier representing the source of a function call (Call).
approval voting
Approval voting. Voters can vote for as many candidates as they like. It is like voting by proportion rather than a traditional election. There are also negative votes.
FRAME Elections Phragmen pallet
author
Describes the node responsible for creating a block. Equivalent to a miner in PoW.
Block creators are also called block producers.
authority
Authorities. Refers to nodes that act collectively to manage consensus.
In PoS, authorities are determined by nomination and voting.
Validator is a broad term that includes aspects of chain maintenance such as parachain validation in addition to consensus, so it is distinguished from authority. Most validators are authorities.
Staking pallet
authority round (Aura)
Assumes that the majority of online authorities are honest. This protocol is used for short-term probabilistic finality.
<=> GRANDPA: Deterministic finality
blind assignment of blockchain extension (BABE)
block
Functions to cryptographically link the body and header, which contain extrinsic data. Arranged in a tree structure via pointers to parent blocks (hashes representing the parent).
blockchain
A decentralized network of computers. It uses cryptographic techniques to allow a group of participants to reliably reach an agreement on the state of a system that changes over time. The computers that make up a blockchain network are called nodes.
byzantine fault tolerance (BFT)
The ability to continue operations even if a certain proportion of nodes or authorities fail or act maliciously. It is impossible if the proportion of faulty nodes exceeds 1/3.
consensus
The process for nodes to agree on the canonical fork of the chain.
- authorship: Creating blocks.
- finality: Making the progress of the blockchain irreversible.
- fork-choice rule: Selecting a fork of the blockchain.
It consists of these parts. Basically, it refers to authorship.
For more details, see https://docs.substrate.io/v3/advanced/consensus.
consensus algorithm
An algorithm that ensures a set of actors, who do not necessarily trust each other, reach an agreement on the state resulting from a calculation.
An algorithm that satisfies the following when 1/3 of the nodes reach an agreement:
- safety: All honest nodes eventually agree on the state of the chain.
- liveness: The chain can continue to exist.
cryptographic primitives
council
database backend
dev phrase
digest
dispatch
Executing a function using a predefined set of arguments. Similar to Redux and others.
In FRAME runtime development, dispatch receives pure data (referred to as a Call by convention) and uses that data to call an exposed function within a runtime module (pallet) with predefined arguments.
Exposed functions receive an additional parameter called an origin.
This parameter allows the function to identify the source of the call.
equivocating
ethash
events
A means of recording that a specific state transition has occurred for the off-chain world.
FRAME events are aggregatable data types that each pallet can define individually. They are also inspected immediately after block execution and reset when the block is initialized (ephemeral storage items).
executor
extrinsic
existential deposit
finality
The part of consensus that makes the progress of the blockchain irreversible. All state changes are permanent and cannot be reverted without a hard fork.
fork
A state where the chain has branched. The blockchain is not updated until the fork is resolved.
Forks are resolved using the fork-choice rule.
Flaming Fir
FRAME
Framework for Runtime Aggregation of Modularized Entities. A framework that allows developers to create a blockchain runtime environment from a modular set of components called pallets.
The following are provided via macros:
#[pallet::event]#[pallet::error]-
#[pallet::storage],#[pallet::error],#[pallet::storage] #[frame_support::pallet]
You can easily define custom pallets or create a runtime that works by composing pallets.
Using the construct_runtime! macro, you can deploy a Substrate-based blockchain.
full client
genesis configuration
GRANDPA
A deterministic finality mechanism that assumes authorities are honest.
header
Data representing a summary of a block. It includes cryptographic information and is used for synchronizing the chain with minimal security.
hybrid consensus
JSON-RPC
keystore
Kusama
libp2p
light client
macro
metadata
node
A running instance of a blockchain client. Each node is part of a peer-to-peer network, allowing blockchain participants to interact with each other.
- Blockchain validator
- Scalable interaction in resource-constrained environments (light client)
nominated proof-of-stake (NPoS)
origin
A FRAME primitive (component) that identifies the source of a function call dispatched to the runtime.
pallet
A module that can be used to extend the functionality of a FRAME-based runtime.
parachain
A blockchain that derives its shared infrastructure and security from a Pallet.
For more details, see https://wiki.polkadot.network/docs/en/learn-parachains.
Polkadot network
A network that acts as a relay chain providing shared infrastructure and security.
proof-of-finality
proof-of-work
A consensus mechanism that deters attacks by requiring work from network participants.
relay chain
remote procedure call (RPC)
A mechanism for interacting with programs. Remote Procedure Calls allow developers to query remote programs or call functions with arguments. Substrate nodes expose an RPC server on HTTP or WebSocket endpoints.
rhododendron
rococo
runtime
Logic that provides the state transition function of the node. In Substrate, it is stored in the chain state as a WebAssembly binary.
slot
stake-weighted voting
state
state transition function (STF)
storage item
Substrate
transaction
External information communicated between nodes that includes signatures or signed extensions.
transaction era
transaction pool
trie (Patricia Merkle Tree)
validator
Actors who maintain the network. They are provided with incentives in exchange for their trust.
WebAssembly (Wasm)
A multi-platform execution architecture. It can be compiled from many languages.
Discussion