CryptoArena is an experimental venture at the bleeding edge of defi & blockchain technology.
Our distribution blockchain is a Layer 2 solution built as a Parachain that shares its security and interoperability with Polkadot's Relay Chain (Layer 1) and the rest of L2s in the network.
Parachains share in the security of the overall network and can interact without trust bonds much like smart contracts on Ethereum can interact without trust bonds — they share state and validation logic with the greater network.
Because Polkadot provides the security and validity guarantees, parachains are not subject to normal blockchain attack scenarios, like a 51% attack. Polkadot validators will reject invalid blocks, so a parachain only needs a single honest collator to submit blocks.
This model opens up a new area of crypto-economics that could include token-less parachains, proof-of-stake parachains that use either a native parachain token or dot tokens, or other collator selection mechanisms. Block author information is normally part of the block header’s digest and is easy to verify.
A means of specifying a passing threshold for a referendum based on voter turnout. Positive turnout bias means that as more votes are cast, the passing threshold decreases; i.e. a higher turnout positively increases the likelihood of a referendum passing. Negative turnout bias means that the passing threshold increases as more votes are cast. Negative turnout bias is also called "default carries" as, given an apathetic voting body, the referendum will pass by default. A neutral turnout bias specifies a simple majority passing threshold. AQB removes the need for strict quorums, which are arbitrary and create undesirable governance mechanics. AQB is implemented in the Democracy pallet, which provides the interfaces for a number of on-chain bodies (e.g. a Collective or any token holder) to call referenda with positive, neutral, or negative biases.
Call- published functions that may be called with a set of arguments
Error- used to inform users why a function invocation (
Event- pallets can emit events to make users aware of some state changes
Log- an extensible header item
Metadata- information that allows inspection of the above
Origin- specifies the source of a function invocation (
Voting system where voter can vote for as many candidates as desired. The candidate with highest overall amount of votes wins. Notably:
- voting for all candidates is exactly equivalent to voting for none; and
- it is possible to vote "against" a single candidate by voting for all other candidates.
The terms "authorities" and "validators" may sometimes seem to refer the same thing. "Validators" is a broader term that can include other aspects of chain maintenance such as parachain validation. In general authorities are a (non-strict) subset of validators and many validators will be authorities.
Block authoring protocol similar to Aura, however authorities win slots based on a verifiable random function (VRF) as opposed to Aura's round-robin selection method. The winning authority can select a chain and submit a new block for it. Learn more about BABE by referring to its official Web3 Foundation research document.
The ability of a distributed computer system to remain operational in the face of a proportion of defective nodes or actors. "Byzantine" refers to the ultimate level of defectiveness, with such nodes assumed to be actively malicious and coordinating rather than merely offline or buggy. Typically, BFT systems remain functional with up to around one-third of Byzantine nodes.
The loss of a system service due to a Byzantine Fault (i.e. components in the system fail and there is imperfect information about whether a component has failed) in systems that require consensus.
An early approach to Byzantine fault tolerance. pBFT systems tolerate Byzantine behavior from up to one-third of participants. The communication overhead for such systems is
nis the number of nodes (participants) in the system.
A term that refers to concepts like signature schemes and hashing algorithms. Cryptographic primitives are essential to many aspects of the Substrate ecosystem:
The term "Council" is used on a number of Substrate-based networks, such as Kusama and Polkadot to refer to an instance of the Collective pallet that is used as a part of the network's FRAME-based runtime. The Council primarily serves as a body to optimize and check/balance the more inclusive referendum system.
A dispatch is the execution of a function with a pre-defined set of arguments. In the context of runtime development with FRAME, this refers specifically to the "runtime dispatch" system, a means of taking some pure data (the type is known as
Callby convention) and interpreting it in order to call a published function in a runtime module ("pallet") with some arguments. Such published functions take one additional parameter, known as
origin, that allows the function to securely determine the provenance of its execution.
A means of recording, for the benefit of the off-chain world, that some particular state transition happened. Within the context of FRAME, events are one of a number of composable data types that each pallet may individually define. Events in FRAME are implemented as a set of transient storage items that are inspected immediately after a block has executed and reset during block-initialization.
Within the Balances pallet, this is the minimum balance an account may have. Accounts cannot be created with a balance less than this amount, and if an account's balance ever drops below this amount, the Balances pallet will use a FRAME System API to drop its references to that account. If all the references to an account are dropped, it may be reaped.
A part of consensus that deals with making a progression irreversible. If a block is "finalized", then any state changes it encapsulates are irreversible without a hard fork and it is safe to effect any off-chain repercussions that depend on them. The consensus algorithm must guarantee that finalized blocks never need reverting.
A non-probabilistic consensus protocol that gives a guarantee of finality immediately upon block production. These tend to be pBFT-based and thus very expensive in terms of communication requirements.
In these systems, finality is expressed in terms of a probability, denoted by
p, that a proposed block, denoted by
B, will remain in the canonical chain; as more blocks are produced on top of
A piece of data that can be used to prove that a particular block is finalized.
FRAME is Substrate's system for runtime development. The name is an acronym for the "Framework for Runtime Aggregation of Modularized Entities". FRAME allows developers to create blockchain runtimes by composing modules, called "pallets". Runtime developers interact with FRAME by way of a macro language that makes it easy for developers to define custom pallets (e.g.
decl_module!and compose pallets (e.g.
construct_runtime!into a working runtime that can easily be used to power a Substrate-based blockchain. The convention used in the Substrate codebase is to preface FRAME's core modules with
frame_and the optional pallets with
pallet_*. For instance, the macros mentioned above are all defined in the
frame_supportmodule and all FRAME-based runtimes must include the
frame_systemmodule. Once the
frame_support::construct_runtimemacro has been used to create a runtime that includes the
frame_systemmodule, optional pallets such as the Balances pallet may be used to extend the runtimes core capabilities.
A subsystem in Substrate for managing keys for the purpose of producing new blocks.
Kusama is a Substrate-based blockchain that implements a design similar to the Polkadot Network. Kusama is a "canary" network and is referred to as Polkadot's "wild cousin". The differences between a canary network and a true test network are related to the expectations of permanence and stability; although Kusama is expected to be more stable than a true test network, like Westend, it should not be expected to be as stable as an enterprise production network like Polkadot. Unlike Westend, which is maintained by Parity Technologies, Kusama (like Polkadot) is controlled by its network participants. The level of stability offered by canary networks like Kusama is intended to encourage meaningful experimentation.
A node correlates to a running instance of a blockchain client; it is part of the peer-to-peer network that allows blockchain participants to interact with one another. Substrate nodes can fill a number of roles in a blockchain network. For instance, validators are the block-producing nodes that power the blockchain, while light-clients facilitate scalable interactions in resource-constrained environments like UIs or embedded devices.
A means of determining a set of validators (and thus authorities) from a number of accounts willing to commit their stake to the proper (non-Byzantine) functioning of one or more authoring/validator nodes. The Polkadot protocol describes validator selection as a constraint optimization problem to eventually give a maximally staked set of validators each with a number of supporting nominators lending their stake. Slashing and rewards are done in a pro-rata manner.
The Polkadot Network is a blockchain that serves as the central hub of a heterogeneous blockchain network. It serves the role of "relay chain" and supports the other chains (the "parachains") by providing shared infrastructure and security. The Polkadot Network is progressing through a multi-phase launch process and does not currently support parachains.
The central hub in a heterogenous ("chain-of-chains") network. Relay chains are blockchains that provide shared infrastructure and security to the other blockchains in the network (the "parachains"). In addition to providing consensus capabilities, relay chains also allow parachains to communicate and exchange digital assets without needing to trust one another.
A mechanism for interacting with a computer program that allows developers to easily query the computer program or even invoke its logic with parameters they supply. Substrate nodes expose an RPC server on HTTP and WebSocket endpoints.
Democratic voting system that uses one-vote-per-token, rather than one-vote-per-head.
In a blockchain, the state refers to the cryptographically secure data that persists between blocks and can be used to create new blocks as part of the state transition function. In Substrate-based blockchains, state is stored in a trie, a data structure that supports the efficient creation of incremental digests. This trie is exposed to the runtime as a simple key/value map where both keys and values can be arbitrary byte arrays.
A definable period, expressed as a range of block numbers, where a transaction may be included in a block. Transaction eras are used to protect against transaction replay attacks in the event that an account is reaped and its (replay-protecting) nonce is reset to zero.
A generic Substrate-based transaction pool implementation that allows the runtime to specify whether a given transaction is valid, how it should be prioritized, and how it relates to other transactions in the pool in terms of dependency and mutual-exclusivity. It is designed to be easily extensible and general enough to express both the UTXO and account-based transaction models.
An data structure that is used to represent sets of items where:
- a cryptographic digest of the dataset is needed; and/or
- it is cheap to recompute the digest with incremental changes to the dataset even when it is very large; and/or
- a concise proof that the dataset contains some item/pair (or lacks it) is needed.
A semi-trusted (or untrusted but well-incentivized) actor that helps maintain a blockchain network. In Substrate, validators broadly correspond to the authorities running the consensus system. In Polkadot, validators also manage other duties such as guaranteeing data availability and validating parachain candidate blocks.
An execution architecture that allows for the efficient, platform-neutral expression of deterministic, machine-executable logic. Wasm is easily compiled from the Rust programming language and is used by Substrate-based chains to provide portable runtimes that can be included as part of the chain's state.