Skip to content
This repository has been archived by the owner on Dec 15, 2024. It is now read-only.

Latest commit

 

History

History
401 lines (201 loc) · 34.7 KB

glossary.md

File metadata and controls

401 lines (201 loc) · 34.7 KB

Glossary

Active Nomination

A validator (or validators) that a nominator has selected to nominate and is actively validating this era. The nominator is placing their stake behind this validator for this era and will potentially receive staking rewards in return for doing so.

Attestation

In the Mandala Chain validity system, an attestation is a type of message that validators broadcast that says whether they think a block candidate is valid or invalid.

Authority

An authority is a generic term for the role in a blockchain that can participate in the consensus mechanisms. In GRANDPA, the authorities vote on chains they consider final. In BABE, the authorities are block producers. Authority sets can be chosen to be mechanisms such as Mandala Chain's PoA algorithm.

BABE

Blind Assignment for Blockchain Extension (BABE) is Mandala Chain's block production mechanism.

Bitfield Array

A bitfield array contains single-bit values which indicate whether a candidate is available. The number of items is equal of to the number of availability cores and each bit represents a vote on the corresponding core in the given order.

Block

A collection of data, such as transactions, that together indicate a state transition of the blockchain.

Blockspace

Blockspace is the capacity of a blockchain to finalize and commit operations. It represents a blockchain's security, computing, and storage capability as an end product. Blockspace produced by different blockchains can vary in quality, availability, and flexibility. Mandala Chain has a blockspace-centric architecture.

Block Explorer

An application that allows a user to explore the different blocks on a blockchain.

Blocks Nominations

This indicates that a validator does not currently allow any more nominations. This is controlled by the validator.

BLS

Boneh-Lynn-Shacham (BLS) signatures have a slow signing, very slow verification, require slow and much less secure pairing friendly curves, and tend towards dangerous malleability. Yet, BLS permits a diverse array of signature aggregation options far beyond any other known signature scheme, which makes BLS a preferred scheme for voting in consensus algorithms and threshold signatures.

Bounty

A mechanism that works in some sense as the reverse of a Treasury Proposal, allowing the Mandala Chain Council to indicate that there is a need to do some task for the Mandala Chain network and allowing users to receive KPG in return for working on that task.

Byzantine Fault Tolerance

The property of a system that is tolerant of Byzantine faults; a system where not only may individual subsystems fail, but it may not be clear if a particular subsystem has failed or not. That is, different observers of the system may not agree on whether or not the system has failed. Ensuring Byzantine fault tolerance is an important part of developing any distributed system.

Capacity

The maximum number of nominators signaling intent to nominate a validator (and thus could potentially actively nominate that validator in the next session). This maximum number will equal the number of nominators necessary to oversubscribe a validator. Any validator that is "at capacity" or higher may potentially be oversubscribed in the next session; a validator that is not at capacity cannot be oversubscribed unless more nominators select it before the next election.

Candidate

A candidate is a submitted block to the validators. A block stops being referred to as a candidate as soon as it has been finalized.

Collations

A collation is a data structure that contains the proposed block candidate, including an optional validation Runtime update and upward messages.

Commission

Validators and nominators get paid from block production on the network, where validators can set a variable commission rate, which is initially subtracted from the total rewards that the validator is entitled to (for that period), where the commission determines the rate of distribution for the remaining rewards set out for the nominators that are backing that validator.

Community Queue

The queue for proposals originating from individual accounts (i.e. not the Council) which are waiting to become referenda. Compare the External queue.

Consensus

The process of a group of entities to agree on a particular data value (such as the ordering and makeup of blocks on a blockchain). There are a variety of algorithms used for determining consensus. The consensus algorithm used by Mandala Chain is GRANDPA.

Curator

A person, group, or other entity charged with judging and verifying the successful completion of a Bounty.

Dapps

A generic term for a decentralized application, that is, one that runs as part of a distributed network as opposed to being run on a specific system or set of systems.

KPG

The native token for Mandala Chain. KPG serves some purposes: network governance (allowing them to vote on-chain upgrades and other exceptional events), and general operation (rewarding good actors and punishing bad actors).

Epoch

An epoch is a time duration in the BABE protocol that is broken into smaller time slots. Each slot has at least one slot leader who has the right to propose a block. In Garbha, it is the same duration as a session.

Era

A (whole) number of sessions, which is the period that the validator set (and each validator's active nominator set) is recalculated and where rewards are paid out.

Equivocation

Providing conflicting information to the network. BABE equivocation entails creating multiple blocks in the same slot. GRANDPA equivocation would consist of signing multiple conflicting chains.

External Queue

The queue for proposals originating with the Mandala Chain Council which are waiting to become referenda. Compare the Community queue.

Extrinsic

A SCALE encoded array consisting of a version number, signature, and varying data types indicating the resulting runtime function to be called, including the parameters required for that function to be executed. These state changes are invoked from the outside world, i.e. they are not part of the system itself. Extrinsics can take two forms, "inherents" and "transactions". For more technical details see the Mandala Chain spec (TODO).

Finality

The property of a block that cannot be reverted. Generally, created blocks are not final until some point in the future - perhaps never, in the case of "probabilistic finality". The Mandala Chain uses a deterministic finality gadget known as GRANDPA.

Finality Gadget

A mechanism that determines finality.

Frame

The collection of Substrate-provided pallets (Substrate Runtime Modules).

Genesis

The origin of a blockchain, also known as block 0. It can also be used to reference the initial state of the blockchain at origination.

EXAMPLE

In the genesis state Alice, Bob, and Charlie had 30 tokens each.

Governance

The process of determining what changes to the network are permissible, such as modifications to code or movement of funds. The governance system in Mandala Chain is on-chain and revolves around stakeholder voting.

Governance Council

An on-chain entity that consists of several on-chain accounts (starting at 6, eventually moving to the final value of 24). The Council can act as a representative for "passive" (non-voting) stakeholders. Council members have two main tasks: proposing referenda for the overall stakeholder group to vote on and cancelling malicious referenda.

GRANDPA Finality Gadget

GHOST-based Recursive ANcestor Deriving Prefix Agreement. It is the finality gadget for Mandala Chain, which allows asynchronous, accountable, and safe finality to the blockchain. For an overview of GRANDPA.

Hard Fork

A permanent diversion of a blockchain occurs quickly due to a high priority change in a consensus rule. Clients who follow a hard fork always need to upgrade their clients to continue following the upgraded chain. Hard forks are considered permanent divergences of a chain for which non-upgraded clients are following consensus rules incompatible to the ones followed by upgraded clients.

Hard Spoon

Defined by Jae Kwon of Cosmos as "a new chain that takes into account state from an existing chain; not to compete, but to provide broad access." A non-contentious blockchain that inherits the state of the underlying blockchain and creates a new branch of the same blockchain.

Inactive Nomination

A validator (or validators) that a nominator has selected to nominate, but is not actively validating this era. This type of nomination may become active in a future era.

Inherent

Extrinsics that are "inherently true." Inherents are not gossiped on the network and are put into blocks by the block author. They are not provably true the way that the desire to send funds is, therefore they do not carry a signature. A blockchain's runtime must have rules for validating inherents. For example, timestamps are inherents. They are validated by being within some margin that each validator deems reasonable.

Injected Account

An account that is not directly managed by the Mandala Chain UI but can be accessed through it, such as accounts controlled by the Polkadot{.js} extension.

Interoperability

The ability for some sort of system to exchange and make use of information often compared to "cross-chain" technologies.

Keep-Alive Check

The keep-alive check is used to indicate whether or not a transfer can allow the sending account to be reduced to less than the existential deposit, causing it to be reaped.

LIBP2P

An open-source library for encrypted peer-to-peer communications and other networking functions. More information at: https://libp2p.io/

Liveness

The property of a distributed system is that it will eventually come to some sort of consensus. A system stuck in an infinite loop would not be considered live, even if computations are taking place; a system that eventually provides a result, even if incorrect or it takes a long time, is considered to have liveness.

Mainnet

Short for "main network": the fully functional and acting chain that runs its own network.

Message

In Mandala Chain's XCMP protocol, a message is arbitrary data that is sent from one parachain (the egress chain) to another (the ingress chain) through a channel and ensured delivery by the validator set.

Message Queue

In Mandala Chain's XCMP protocol, a message queue is the list of messages waiting to be processed by a particular receiving parachain over a channel.

Metadata

Data that includes information about other data, such as information about a specific transaction.

Motion

A motion is essentially a "referendum" or "decision" being considered by the Council. The Council can vote on motions like approving Treasury Proposals or making proposals for the community to vote on.

Next Session

This indicates that the validator will be a member of the active set in the next session.

Node Explorer

A tool that gives you information about a node, such as the latest blocks sealed, finalized, and the current chain state as known by that node.

Non-fungible Token (NFT)

A non-fungible token is a token that does not hold the property of fungibility, which, in turn, means that it cannot be interchangeable and indistinguishable from other tokens. NFTs allow the tokenization of unique items and provide exclusive ownership for those tokens.

On-chain Governance

A governance system of a blockchain that is controlled by mechanisms on the blockchain. On-chain governance allows decisions to be made transparently. Note that there are a variety of different algorithms for making these decisions, such as simple majority voting, adaptive quorum biasing, or identity-based quadratic voting.

Online Message

This is a message that is broadcast by a validator to verify to the network that the validator is online, even if they haven't published a block this epoch. This is sometimes referred to as "ImOnline".

Origin

The initiator of an extrinsic. A simple origin would be the account that is sending a token to another account. Mandala Chain also supports more complex origin types, such as the root origin, from which privileged functions can be called.

Oversubscribed

If more than the maximum number of nominators nominate the same validator, it is "oversubscribed", and only the top staked nominators (ranked by the amount of stake, up to the maximum number of nominators) are paid rewards. Other nominators will receive no rewards for that era. The current maximum number of nominators is 512 on Mandala Chain, but it can be modified via governance.

Pallet

A Substrate runtime module.

Host

The environment in which a runtime module can be executed. Parachains must support the Mandala Chain Host - external chains that do not will have to use a bridge. Previously known as the Mandala Chain Runtime Environment.

Preimage

The on-chain proposals do not require the entire image of extrinsics and data (for instance the WASM code, in case of upgrades) to be submitted, but would rather just need that image's hash. That preimage can be submitted and stored on-chain against the hash later, upon the proposal's dispatch.

Proof of Stake (PoS)

A method of selecting participation in a consensus system, in which participants are chosen based on how many tokens they have at stake (at risk of loss due to misbehavior). Normally, Proof-of-Stake systems limit the number of participants.

Proof of Work (PoW)

A method of selecting participants in a consensus system, typically the longest chain rule, in which participants try to solve a puzzle like finding a partial pre-image of a hash. Normally, a Proof-of-Work system can have any number of participants.

Proposal

A potential function call to be voted on in a referendum. Proposals modify the behavior of the Mandala Chain network, from minor parameter tuning up to replacing the runtime code.

Protocol

A system of rules that allows two or more entities of a communications system to transmit information. The protocol defines the rules, syntax, semantics, and synchronization of communication and possible recovery methods.

Random Seed

A random seed is a pseudo-random number available on-chain. It is used in various places of the Mandala Chain protocol, most prominently in BABE the block production mechanism.

Referendum

A vote on whether or not a proposal should be accepted by the network. Referenda may be initiated by the Governance Council, by a member of the public, or as the result of a previous proposal. Stakeholders vote on referenda, weighted by both the size of their stake (i.e. number of KPG held) and the amount of time they are willing to lock their tokens.

Re-Genesis

Re-Genesis is the process of exporting the current chain state, and creating a new chain that builds on it. Re-Genesis will involve stop-the-world migration, which results in a period of time when no actual blocks are added to the blockchain. In a way, re-genesis can be viewed as a hard fork process. A formal design of Re-Genesis on Substrate is still under development - Re-Genesis Rationale and Design.

Remarks

Remarks are extrinsics with no effect. They provide additional information to external inputs, acting as notes. Remarks are stored alongside block records and do not change the chain's storage; the information is not stored in the chain's trie, but along blocks.

Rococo

The testnet set aside for testing parachains, cumulus, and related technology.

Root Origin

A system-level origin in Substrate. This is the highest privilege level and can be thought of as the superuser of the runtime origin. To learn about more raw origins in Substrate, visit Substrate Docs

Runtime

The state transition function of a blockchain. It defines a valid algorithm for determining the state of the next block given the previous state.

Runtime Module

A module that implements specific transition functions and features one might want to have in their runtime. Each module should have domain-specific logic. For example, a Balances module has logic to deal with accounts and balances. In Substrate, modules are called "pallets".

Safety

The property of a distributed system indicating that a particular state transition will not be reverted. GRANDPA provides deterministic safety. That is, for a state changed marked as "safe" or "final", one would require a hard fork to revert that change.

Scalability

While an ambiguous concept, [blockchain] scalability can be understood as the ability for the network to scale in capabilities (e.g. processing more transactions) when needed.

Session

A session is a Substrate implementation term for a period that has a constant set of validators. Validators can only join or exit the validator set at a session change.

Session Certificate

A message containing a signature on the concatenation of all the Session keys.

Session Key

Hot keys that are used for performing network operations by validators, for example, signing GRANDPA commit messages.

Soft Fork

A backward compatible change to client code causes upgraded clients to start mining a new chain. Requires a "vote-by-hashrate" of a majority of miners to enact successfully. Soft forks are considered temporary divergences in a chain since non-upgraded clients do not follow the new consensus rules but upgraded clients are still compatible with old consensus rules.

Software Development Kit (SDK)

A collection of software tools (and programs) packaged together that can be used to develop software.

Staking

The act of bonding tokens for Mandala Chain (KPG) by putting them up as "collateral" for a chance to produce a valid block (and thus obtain a block reward). Validators and nominators stake their KPG in order to secure the network.

State transition function

A function that describes how the state of a blockchain can be transformed. For example, it may describe how tokens can be transferred from one account to another.

Substrate

A modular framework for building blockchains. Mandala Chain is built using Substrate. Chains built with Substrate will be easy to connect as parachains. For developers, see the Substrate GitHub repository.

System Parachains

Parachains that are part of the Mandala Chain core protocol. These are allocated a parachain execution core by governance rather than auction.

Tabling

In Mandala Chain governance, bringing a proposal to a vote via referendum. Note that this is the British meaning of "tabling", which is different from the US version, which means "to postpone" a measure.

Teleport

Send an asset from an account on one chain to an account on a different chain. This occurs by burning an amount on the sending chain and minting an equivalent amount on the destination chain.

Testnet

Short for "test network": an experimental network where testing and development takes place. Networks are often executed on a testnet before they are deployed to a mainnet.

Tokenization

The process of replacing sensitive data with non-sensitive data.

Tracks

Each Origin is associated with a single referendum class and each class is associated with a Track. The Track outlines the lifecycle for the proposal and is independent from other class's tracks. Having independent tracks allows the network to tailor the dynamics of referenda based upon their implied privilege level.

Tranche

Validators use a subjective, tick-based system to determine when the approval process should start. A validator starts the tick-based system when a new availability core candidates have been proposed, which can be retrieved via the Runtime API, and increments the tick every 500 milliseconds. Each tick/increment is referred to as a “tranche”, represented as an integer, starting at 0.

Transfer

Send an asset from one account to another. This generally refers to transfers that occur only on the same chain.

Transaction

An extrinsic that is signed. Transactions are gossiped on the network and incur a transaction fee. Transactions are "provably true", unlike inherents. For example, one can prove that Alice wants to send funds to Bob by the fact that she signed a transfer-funds message with her private key.

Validator

A node that secures the Chain by staking KPG, validating proofs, and voting on consensus along with other validators.

Voting

The process of stakeholders determining whether or not a referendum should pass. Votes are weighted both by the number of KPG that the stakeholder account controls and the amount of time they are willing to lock their KPG.

Waiting Nomination

The nominator has nominated this validator, but the validator was not elected into the active validator set this era and thus cannot produce blocks for the canonical chain. If the validator does get into the active set in a future era, this may turn into an active or inactive nomination.

Wallet

A program that allows one to store private keys and sign transactions for Mandala Chain or other blockchain networks.

Wasm

The abbreviation for WebAssembly.

Watermark

In Mandala Chain's parachain messaging scheme, the watermark is the minimum processed send-height of the receiving parachain. All messages on all channels that are sending to this parachain at or before the watermark are guaranteed to be processed.

Web3 Foundation

A Switzerland-based foundation that nurtures and stewards technologies and applications in the fields of decentralized web software protocols, particularly those that utilize modern cryptographic methods to safeguard decentralization, to the benefit and for the stability of the Web3 ecosystem.

WebAssembly

An instruction format for a virtual, stack-based machine. Mandala Chain Runtime Modules are compiled to WebAssembly. Also known as Wasm.

Weights

A permission-less system needs to implement a mechanism to measure and limit usage in order to establish an economic incentive structure, to prevent the network overload, and to mitigate DoS vulnerabilities. This mechanism must enforce a limited time-window for block producers to create a block and include limitations on block size, to prevent execution of certain extrinsics which are deemed too expensive and could decelerate the network. This is handled by the weight system, where the cost of the transactions (referred to as extrinsics) are determined before execution. Checkout this section of the Substrate docs covering transaction weights and fees.

Witness

Cryptographic proof statements of data validity.

Whitelist Pallet

Allows one Origin to escalate the privilege level of another Origin for a certain operation. In terms of OpenGov, it allows the Fellowship to authorise a new origin (which we will call Whitelisted-Root) to be executed with Root-level privileges.