Nervos CKB Docs
  • Basics
  • Reference
  • Labs
  • Integrate
  • Essays

›Basics

Basics

  • Basics Introduction
  • Concepts

    • Nervos Blockchain
    • Cell Model
    • Consensus
    • Economics
    • CKB-VM

    Guides

    • Run a CKB Dev Blockchain
    • Run a CKB Mainnet Node
    • Run a CKB Testnet Node
    • Neuron Wallet Guide
    • Run a CKB Mainnet Node and Testnet Node with Docker
    • Get CKB Binary
    • Get CKB Binary on Windows (experimental)
  • Tools
  • Glossary

Reference

  • Introduction
  • Cell
  • Script
  • Transaction
  • JSON-RPC

Labs

  • Introduction
  • Write a SUDT script by Capsule
  • Introduction to Lumos via NervosDAO
  • Dynamic loading in Capsule

Integrate

  • Nervos CKB Mainnet - Integration Guide
  • Q&A | For Wallets/Exchanges/Mining Pools
  • Nervos CKB SDK

Essays

  • Introduction
  • Developer Materials Guide
  • A Tour of RFCs
  • Transaction validation lifecycle
  • Tips for debugging CKB script
  • Tips for profiling CKB script
  • The General Workflow for Constructing a Transaction
  • Script dependencies
  • Introduction to CKB Studio
  • Technical Bits on Polyjuice
  • CKB FAQs
  • Tips for CKB development
  • Integrity Check for CKB Release
  • Mint SUDT via Contract

Glossary

Glossary Sections

  • General Glossary
  • Economics Glossary
  • Technical Glossary

General Glossary

Address

A shorthand name for Payment Address.

Synonyms

  • Payment Address

Asset

A shorthand name for digital asset.

Synonyms

  • Digital Asset
  • Token

Block

A record in the blockchain that contains and confirms transactions.

See Also

  • Blockchain
  • Confirmation
  • Transaction

Block Height

The block height is the total number of blocks that have been confirmed on the blockchain.

This term can also used to refer to identify a single unique block when specifying a specific block height since there is always exactly one block at any block height.

Synonyms

  • Height

See Also

  • Block
  • Blockchain
  • Confirmation

Block Interval

The approximate amount of time between between the creation of two blocks in a blockchain.

On Bitcoin blockchain the block interval is approximately every 10 minutes. On the Nervos blockchain the block interval is variable, but normally under 10 seconds.

Synonyms

  • Block Time

See Also

  • Block
  • Blockchain

Block Propagation

The process of synchronizing a new block to the majority of full nodes in the network.

Synonyms

  • Propagation

See Also

  • Block
  • Broadcast
  • Full Node

Block Reward

A payment that is made in the native currency of the blockchain that is paid to to miners for providing the computational resources create a block and secure the blockchain.

See Also

  • Block
  • Block Subsidy

Block Time

A alternate name for Block Interval.

Synonyms

  • Block Interval

Blockchain

An immutable data structure that where each subsequent block of data is cryptographically linked to the previous blocks. This creates a chain like structure where none of the historical data can be altered without causing a validation error.

See Also

  • Block

Broadcast

A message that is sent to all nodes in a blockchain network.

See Also

  • Blockchain
  • Node

Capacity

The maximum amount of space (in bytes) that a Cell can occupy on the Nervos blockchain.

Synonyms

  • CKByte

See Also

  • CKB
  • Common Knowledge Base
  • Common Knowledge Byte
  • Nervos Blockchain

Cell

A simple structure used hold a piece of state or data on the Nervos CKB.

A Cell is similar in concept to a Bitcoin UTXO.

Synonyms

  • Micro-State

See Also

  • Dead Cell
  • Live Cell
  • Nervos CKB
  • Cell Model in Key Concepts
  • UTXO on Bitcoin.org

Cell Model

A representation of how state is managed on Nervos CKB.

See Also

  • Lock Script
  • Nervos CKB
  • Type Script
  • Cell Model in Key Concepts
  • Cell Model on the Nervos Blog
  • UTXO on Bitcoin.org

Chain

A shorthand name for blockchain.

Synonyms

  • Blockchain

CKB

An abbreviation which can have different meanings depending on the context:

  • Common Knowledge Base - The layer 1 blockchain of the Nervos Network.
  • Common Knowledge Byte - The native token of the Nervos Common Knowledge Base.

Synonyms

  • Common Knowledge Base
  • Common Knowledge Byte

CKByte

A shorthand name for Common Knowledge Byte.

CKByte is also sometimes shortened to CKB. Exchanges often use CKB as the ticker symbol.

Synonyms

  • CKB
  • Common Knowledge Byte

Not To Be Confused With

  • Common Knowledge Base

CKB-VM

The virtual machine used to execute Scripts on Nervos CKB.

The instruction set of CKB-VM is RISC-V.

See Also

  • Nervos CKB
  • RISC-V
  • Script
  • Virtual Machine on Wikipedia

Cold Storage

A method of securing funds by placing them in a cold wallet; a type of wallet that is never connected to the internet.

See Also

  • Cold Wallet
  • Hardware Wallet
  • Wallet

Cold Wallet

A wallet that is used to secure assets offline. This wallet is permanently disconnected from the internet, and not vulnerable to attacks which rely on an active internet connection.

See Also

  • Cold Storage
  • Wallet

Common Knowledge Base

A layer 1 proof of work blockchain that provides a foundation of decentralized trust for the Nervos Network.

Synonyms

  • CKB
  • Nervos CKB

Not To Be Confused With

  • Common Knowledge Byte

See Also

  • Nervos CKB on Nervos.org

Common Knowledge Byte

The native token of the Nervos layer 1 blockchain, the Common Knowledge Base.

Common Knowledge Byte is often abbreviated as CKByte or CKB.

Owning a CKByte entitles the holder to store one byte of data on the Nervos CKB.

Synonyms

  • CKB
  • CKByte

Not To Be Confused With

  • Common Knowledge Base

See Also

  • Capacity
  • Nervos CKB
  • Shannon

Confirmation

A process where a transaction has been accepted and verified by the network and included in a block.

See Also

  • Block
  • Transaction
  • Unconfirmed

Consensus

Consensus is a state of agreement between the participants (nodes) of a decentralized network.

See Also

  • Full Node
  • Node

Cryptocurrency

Digital currency that relies on mathematics and cryptography to secure funds and facilitate transfers from one party to another.

See Also

  • Digital Currency
  • Fiat Currency

Cryptographic Signature

A concise piece of proof data which is used to prove that the creator of the signature has ownership of a specific private key by "signing" a unique piece of data. This signing process proves ownership of the private keys without revealing the private keys.

Synonyms

  • Private Key
  • Signature

Cryptography

The study and practice of using mathematics to secure communications and information.

See Also

  • Cryptography at Wikipedia

Cycles

The number of RISC-V computational cycles required by a script to execute.

This is a similar concept to Ethereum's Gas.

See Also

  • Script
  • RISC-V
  • Gas on the Ethereum Wiki

DAO

Short for Decentralized Autonomous Organization. A DAO is an organization run by the rules of a computer program. A DAO is controlled by stakeholders, and may not have a physical location, therefore reducing the influence of governments.

See Also

  • DAO on Wikipedia

Decentralization

The process of spreading the responsibility and ownership between multiple parties in order to mitigate the risks associated with a single party being in control.

See Also

  • Distributed
  • Decentralization on Wikipedia

Digital Asset

A digital asset is an individual piece of data that has value, or represents another entity that has value.

Digital assets are most commonly represented as tokens, which may be used as digital currency or represent physical items such as real estate.

Synonyms

  • Asset
  • Token

Digital Currency

A type of currency that primarily exists digitally over the internet. Physical representations of the currency, in the form of cards, bills, or coins, may exist, but are secondary mediums.

See Also

  • Cryptocurrency

Distributed

A system where components are spread across multiple nodes to parallelize workloads, add redundancy, or eliminate single points of failure.

See Also

  • Decentralization

Double Spend

A double spend is a fraudlent action where a cryptocurrency token is spent in two places at once, effectively allowing the attacker to spend more tokens than they actually own.

The potential for a double spend is based on network synchronization delays. These problems are automatically resolved over time, which is why most blockchains set guidelines on the minimum number of confirmations that should be accumulated before considering a transaction final.

See Also

  • Confirmation
  • Cryptocurrency
  • Token
  • Transaction

Epoch

An epoch is a period of time for a set of blocks.

In Nervos an epoch is approximately four hours.

See Also

  • Block

First-Class Assets

A unique property of CKB wherein ownership of a Cell, and the data contained within, is not assigned by the issuer, developer, or smart contract. The user owns the cell and is responsible for costs associated with state rent.

See Also

  • Cell
  • Cell Model
  • State Rent
  • First-Class Asset on the Nervos Network Blog

Fungible Token

Any token where every unit has identical characteristics and is interchangeable with other tokens of the same type.

Fungible tokens represent the vast majority of cryptocurrencies.

See Also

  • Non-Fungible Token
  • Token
  • User-Defined Token

Full Node

A node that contains a complete copy of the entire blockchain history.

Synonyms

  • Node

Hardware Wallet

A cryptocurrency wallet that uses a physical hardware component to store private keys. These devices are permanently disconnected from the internet and typically interface with computers only for specific activities such as sending funds.

A hardware wallet is a form of cold wallet.

See Also

  • Cold Storage
  • Cold Wallet
  • Private Key
  • Wallet

Hash Rate

A measure of the speed at which a computer is able to complete cryptographic operations. These operations are known as "hashing", and are often measured in hashes per second.

See Also

  • Miner
  • Network Hash Rate

Height

A shorthand name for block height.

Synonyms

  • Block Height

Light Client

A type of node software with much lower resource requirements than a full node. A light client allows for the most common basic functions, but does not have advanced functionality.

Light clients do not contain a copy of the full blockchain or full state. They typically rely on full nodes in the network in order to operate.

See Also

  • Blockchain
  • Full Node
  • Node

Mainnet

The Nervos CKB public blockchain.

The name of the Nervos CKB Mainnet is Lina.

Synonyms

  • CKB
  • Common Knowledge Base
  • Lina
  • Nervos CKB

Not To Be Confused With

  • Aggron
  • Testnet

Mempool

A shorthand name for memory pool. A "waiting area" on full nodes for transactions that have been broadcasted to the network but have not yet been confirmed on the blockchain.

See Also

  • Confirmation
  • Transaction

Micro-State

A small piece of state that is isolated and often able to be acted upon independently without knowing the total state of the network.

On Nervos, micro-state is represented by a Cell.

Synonyms

  • Cell

See Also

  • State

Miner

A miner is a computer that provides computing power to validate transactions and create the blocks in the blockchain.

See Also

  • Block
  • Blockchain

Miner Fee

Another term for transaction fee.

Synonyms

  • Transaction Fee

Mining

The practice of providing computational power to validate transactions and create blocks in the blockchain in exchange for a mining reward.

See Also

  • Block
  • Blockchain
  • Mining Reward
  • Transaction

Mining Reward

Native tokens that are paid to a miner in exchange for providing the computational resources required for mining.

See Also

  • Miner
  • Mining
  • Native Token

Native Token

A token type which is used for paying fees and rewards on a public blockchain. This token is often unique as it is the only token that must exist on the blockchain in order to operate.

On Nervos the native token is the CKByte.

See Also

  • CKByte
  • Token

NC-MAX

The consensus algorithm used on the Nervos blockchain.

See Also

  • Consensus
  • Nervos Blockchain

Neighbor

A node that is directly connected to another node in the blockchain peer to peer network.

See Also

  • Node
  • Peer to Peer

Nervos Blockchain

The layer 1 blockchain of the Nervos Network known as the Common Knowledge Base.

Synonyms

  • Common Knowledge Base
  • Layer 1
  • Nervos CKB

Nervos DAO

A system that allows users to lock CKBytes for a period of time to earn rewards from Secondary Issuance. This process is similar to staking on other platforms.

See Also

  • CKByte
  • DAO
  • Secondary Issuance
  • Nervos DAO Explained on the Nervos Blog

Network Hash Rate

A measurement of the total computational processing power which is dedicated to providing security to the network.

See Also

  • Hash Rate
  • [Miner]

Node

A computer that is running the blockchain node software, which allows them to participate in the blockchain's peer to peer network.

Synonyms

  • Full Node

See Also

  • Pruned Node

Non-Fungible Token

Any token where every unit within the same type can have different characteristics, making each token unique.

Non-fungible tokens are often used for digital representation of unique real-world items, such as real-estate.

See Also

  • Fungible Token
  • Token
  • User-Defined Token

Open Source

A piece of software where source code is freely available for examination or alteration by any third-party.

See Also

  • What is Open Source at OpenSource.com

P2P

A shortname name for peer to peer.

Synonyms

  • Peer to Peer

Paper Wallet

A form of storing a recovery phrase or private keys offline by printing them on a piece of paper. This document would then be stored by traditional means in a secured location of the user's choosing, such as a safe.

See Also

  • Private Key
  • Wallet

Payment Address

A string of letters and numbers that cryptocurrency and assets can be sent to and from.

Nervos addresses always begin with the letters "ckb" and are 46 characters in length.

A payment address is designed to be shared with others, similar to an email address.

Synonyms

  • Address

Peer to Peer

A type of network where the nodes communicate directly with each other instead of going through an intermediary centralized server.

Synonyms

  • P2P

See Also

  • Node

Proof of Work

A type of consensus algorithm that requires high computational resources in order to produce answers to cryptographic puzzles in return for a mining reward paid in native tokens.

These answers used to produce blocks and process transactions in a public blockchain. The computational difficulty itself is the basis for security in the public blockchain because it is extremely costly to replicate.

See Also

  • Block
  • Consensus
  • Mining Reward
  • Proof of Stake
  • Transaction

Proof of Stake

A type of consensus algorithm where the participants of the network cast votes to reach agreement on the creation of blocks and processing of transactions. The strength of each vote is weighted by the amount of native token owned by the voter.

See Also

  • Consensus
  • Mining Reward
  • Proof of Work
  • Transaction

Propagation

A shorthand name for Block Propagation.

Synonyms

  • Block Propagation

Private Key

A string of letters and numbers that is used to prove ownership of cryptocurrency or digital assets, allowing them to be sent to other payment addresses. A private key is normally stored in a wallet.

A private key must be kept secret at all times. A private key works similarly to a key to a safe containing your cryptocurrency. Anyone with the key has the ability to open the safe and take the contents.

See Also

  • Digital Asset
  • Paper Wallet
  • Payment Address
  • Wallet

Pruned Node

A node which contains only part of the blockchain history.

See Also

  • Node

Shannon

A fractional denomination of CKBytes. One CKByte is equal to 100,000,000 Shannons.

A Shannon is the equivalent of a Bitcoin Satoshi.

See Also

  • CKByte
  • Common Knowledge Byte
  • Satoshi (denomination) on Bitcoin.org

Signature

A shorthand name for cryptographic signature.

Synonyms

  • Cryptographic Signature

State

Data stored on the blockchain. In most contexts this this means current data and excludes historical data.

See Also

  • Blockchain

Testnet

An alternate public blockchain used for testing purposes that is running the same or similar software as the Mainnet. All tokens and data on testnets have no value.

The name of the Nervos Testnet is Aggron.

Synonyms

  • Aggron

Not To Be Confused With

  • Lina
  • Mainnet

Tip

A shorthand name for tip block.

Synonyms

  • Tip Block

Tip Block

The most recent block to be confirmed in a blockchain. The tip block has the highest block height in the blockchain.

Synonyms

  • Tip

See Also

  • Block
  • Block Height
  • Blockchain

Transaction

An entry in the blockchain that describes any change in state.

See Also

  • Blockchain
  • Nervos Blockchain

Transaction Fee

A fee which is paid in the native token to miners in exchange for processing a transaction.

Synonyms

  • Miner Fee

See Also

  • Miner
  • Native Token
  • Transaction

Token

A single unit of information used to facilitate a transaction on a blockchain.

See Also

  • Blockchain
  • Digital Asset
  • Transaction

UDT

An abbreviation for User-Defined Token.

Synonyms

  • User-Defined Token

Unconfirmed

The state of a transaction that has not yet been confirmed. An unconfirmed transaction is not finalized and cannot be guaranteed.

Synonyms

  • Unconfirmed Transaction

See Also

  • Confirmation
  • Transaction

Unconfirmed Transaction

A transaction that has not yet been confirmed. An unconfirmed transaction is not finalized and cannot be guaranteed.

Synonyms

  • Unconfirmed

See Also

  • Confirmation
  • Transaction

User-Defined Token

A custom token created with properties defined by the user. In normal usage, this most commonly refers to fungible tokens.

A User-Defined Token is usually referred to by its abbreviation, UDT.

Synonyms

  • Fungible Token
  • UDT

See Also

  • ERC20 on Ethereum.org
  • ERC777 on Ethereum.org
  • Simple UDT Draft Spec on Nervos Talk

Wallet

A piece of software used to manage a user's private keys and payment addresses. A wallet allows a user to send and receive cryptocurrency payments. Some wallets also incorporate functionality to manage digital assets.

See Also

  • Paper Wallet
  • Private Key
  • Payment Address
  • Digital Asset

Economics Glossary

Base Issuance

The creation of new CKBytes through temporary inflation that is paid to miners through Base Rewards.

Base Issuance is paid for by using a fixed and decreasing inflation schedule. Approximately every four years the amount is halved until eventually stopping when the cap of 33.6 billion CKBytes have been issued.

See Also

  • Base Reward
  • CKByte
  • Secondary Issuance
  • Miner
  • Crypto-Economics RFC on Nervos Network GitHub

Base Reward

A subsidy paid to miners in CKBytes for providing the compute and storage requirements required for processing transactions and persisting data on Nervos.

Base Rewards are created from Base Issuance and will decrease over time until eventually ending.

See Also

  • Base Issuance
  • CKByte
  • Miner
  • Transaction

Commit Reward

A reward paid to miners in CKBytes for committing a previously proposed transaction. After the transaction has been committed it is confirmed.

See Also

  • CKByte
  • Confirmation
  • Miner
  • Transaction

Fiat Currency

Fiat currency is a form of money that has no intrinsic value. The value of fiat currency is derived from the support of the governing body that maintains it, and by the agreed value by parties that transact with it.

See Also

  • Cryptocurrency
  • Digital Currency

Heavy Asset Problem

A common problem found in multi-asset blockchain platforms where the value of the assets stored on the chain gains significant value but the native token of the chain does not. This raises the incentive to attack the the network, but does not increase the security because the value of the native token is what is used to secure the network.

See Also

  • Asset
  • Starving Layer 1 Problem
  • Tragedy of the Security Commons

Liquidity

The ability for an asset to be bought or sold easily without causing a significant change in the current market price.

See Also

  • Asset

Proposal Reward

A reward paid to miners in CKBytes for proposing an unconfirmed transaction. After the transaction has been proposed it becomes eligible to be committed.

See Also

  • CKByte
  • Confirmation
  • Miner
  • Transaction

Secondary Issuance

The creation of new CKBytes through limited and decreasing inflation that is paid to miners through Secondary Rewards.

Secondary Issuance follows a fixed inflation schedule of 1.344 billion CKBytes per year. This amount does not change. Unlike Base Issuance, Secondary Issuance does not affect everyone on the network. It is a small and targeted inflation from users that occupy space on Nervos or hold their CKBytes outside of the Nervos DAO.

See Also

  • Base Issuance
  • CKByte
  • Nervos DAO
  • Secondary Reward
  • State
  • Crypto-Economics RFC on Nervos Network GitHub

Secondary Reward

A subsidy paid to miners in CKBytes for providing the compute and storage requirements required for processing transactions and persisting data on Nervos.

Secondary Rewards are created from Secondary Issuance, and continuously pay miners for the preservation of state data contained on the blockchain.

See Also

  • CKByte
  • Miner
  • Secondary Issuance
  • Transaction

Starving Layer 1 Problem

A scenario that can arise in multi-layer blockchain platforms where the vast majority of the transaction traffic moves from layer 1 to layer 2, taking the vast majority of transaction fees with it. If layer 1 relies exclusively on transaction fees to support the security of the platform, it may end up not having enough incentives available to properly secure it.

See Also

  • Heavy Asset Problem
  • Layer 1
  • Layer 2
  • Transaction
  • Transaction Fee

State Rent

A recurring fee that is paid to persist and secure state data.

On Nervos, Secondary Issuance is used to facilitate the paying of State Rent by the users who occupy the space on the Nervos blockchain.

See Also

  • Secondary Issuance
  • Nervos Blockchain
  • Crypto-Economics RFC on Nervos Network GitHub

Store of Assets

A platform which is designed to safely preserve multiple types of assets, each of which could be a store of value.

See Also

  • Store of Value

Store of Value

An asset that is purchased to retain purchasing power in the long-term.

A good store of value either match or outpace the inflation rate of fiat currency, and has a reasonable amount of liquidity, allowing the asset to be easily sold.

See Also

  • Store of Assets
  • Liquidity

Tail Emission

A type of reward that is paid to miners through a fixed amount of inflation.

See Also

  • Secondary Reward

Targeted Inflation

A form of inflation that only affects a specific subset of users.

Nervos uses Secondary Issuance to create targeted inflation on users who occupy space on the Nervos blockchain to pay State Rent. Long-term holders of CKBytes have the option of locking them in the Nervos DAO, which acts and an inflation shelter.

See Also

  • CKByte
  • Secondary Issuance
  • Nervos Blockchain
  • Nervos DAO
  • Crypto-Economics RFC on Nervos Network GitHub

Tragedy of the Commons

A situation in a system where the participants act in accordance with their own self interest and deplete or destroy a shared resource through their collective action.

See Also

  • Tragedy of the Security Commons
  • Tragedy of the Storage Commons

Tragedy of the Security Commons

A situation that can emerge on multi-asset blockchain platforms where asset tokens rely on the storage and security of the blockchain platform, but do not contribute back to the platform. As the number of assets that "ride for free" increases, so does the burden placed on the underlying blockchain platform. If the assets do not contribute to the underlying platform, the available security may not properly support the network.

See Also

  • Heavy Asset Problem
  • Tragedy of the Commons
  • Tragedy of the Storage Commons

Tragedy of the Storage Commons

A situation that can emerge on incentivized blockchain platforms where mining rewards are paid for inclusion of data to the blockchain, but no rewards exist for the long-term persistance of the blockchain data. As the size of the chain grows, so do the costs associated with persisting the data. If there is no direct incentive for persisting data, fewer and fewer nodes will do so. Eventually, too few nodes will be available to properly support the network.

See Also

  • Tragedy of the Commons
  • Tragedy of the Security Commons

Technical Glossary

Active Cell

A Cell in the current state of CKB. Active cells can be used as inputs to transactions.

Synonyms

  • Live Cell

See Also

  • Cell
  • Input
  • Transaction

Aggron

The name of the main public testnet for Nervos CKB.

  • ckb version: >= v0.32.0 (latest stable is recommended)
  • genesis hash: 0x10639e0895502b5688a6be8cf69460d76541bfa4821629d86d62ba0aae3f9606
  • launched at: 2020-05-22 04:00:00 UTC

Synonyms

  • Testnet

Not To Be Confused With

  • Lina
  • Mainnet

Animagus

A framework layer that runs on top of Nervos CKB which provides an easy way to query for account balances without having to go through the Cell Collection process.

See Also

  • Cell Collection
  • Nervos CKB
  • Animagus Introduction on the Nervos Blog

Args

Args is short for arguments, and is data provided to a Lock Script or Type Script within a Cell. This is nearly identical to arguments provided to a normal command-line application.

Arguments are stored as part of the Cell when it is created.

See Also

  • Cell
  • Lock Script
  • Type Script

Axon

A layer 2 side-chain of the Nervos CKB developed by the Nervos Core Team. Axon provides high-performance smart contract execution while utilizing Nervos CKB as a trust layer.

See Also

  • Layer 2
  • Nervos CKB
  • Axon on Nervos.org

Blake2b

A general-purpose cryptographic hashing algorithm that can create a succinct data fingerprint for any type of data.CKB uses blake2b as the default hash algorithm.

See Also

  • Blake2b paper
  • Ckbhash
  • Blake Hash Function on Wikipedia
  • Hash Function on Wikipedia

Block Subsidy

A payment that is made in the native currency of the blockchain that is paid to to miners for providing the computational resources create a block and secure the blockchain.

The subsidy consists is the portion of the total block reward that is issued out of inflation for creating the block, but does not include any additional transaction fees that may be paid on top.

Synonyms

  • Block Reward
  • Transaction Fee

BLS

A cryptographic signature scheme for signing and verification.

BLS is short for Boneh–Lynn–Shacham.

See Also

  • Boneh–Lynn–Shacham on Wikipedia

Boxer

A lightweight Rust library for verifying the Nervos layer 1 blockchain, the Common Knowledge Base.

See Also

  • Common Knowledge Base
  • Boxer on GitHub

Cell Collection

The process of gathering cells that meet certain criteria.

For example: To find the balance of a particular account, all active cells for the address would need to be collected.

See Also

  • Cell

Cellbase

The transaction in each block that is responsible for the minting of new CKBytes.

This is the equivalent of a coinbase transaction in Bitcoin.

See Also

  • CKByte
  • Coinbase on Bitcoin.org

Ckbhash

CKB uses blake2b as the default hash algorithm with following configurations:

  • output digest size: 32
  • personalization: ckb-default-hash

ckbhash is used to denote the blake2b hash with the configurations above, there are example and test vectors in python 3:

import hashlib
import unittest

def ckbhash():
    return hashlib.blake2b(digest_size=32, person=b'ckb-default-hash')

class TestCKBBlake2b(unittest.TestCase):

    def test_empty_message(self):
        hasher = ckbhash()
        hasher.update(b'')
        self.assertEqual('44f4c69744d5f8c55d642062949dcae49bc4e7ef43d388c5a12f42b5633d163e', hasher.hexdigest())

if __name__ == '__main__':
    unittest.main()

See Also

  • Blake2b

CKB Merkle Tree

CKB Merkle Tree is a CBMT( Complete Binary Merkle Tree ) using following merge function:

ckbhash(left || right)

ckbhash is the hash function, || denotes binary concatenation.

See Also

  • Merkle Tree for Static Data
  • Ckbhash
  • Merkle Tree

Code Hash

A field in a Cell that contains a hash value which could refer to a specific piece of data, or a specific cell referenced by Type ID.

See Also

  • Cell
  • Data
  • Type ID

Commit

The process of taking a proposed transaction and adding it to the blockchain. After the transaction has been committed it is confirmed.

Miners are incentivized to commit transactions by being paid a commit reward.

See Also

  • Commit Reward
  • Confirmation
  • Propose
  • Transaction

Commitment Zone

Section of the block that contains transaction commitments. The commitment zone can only contain valid transactions which have appeared in the proposal zone of one of the previous 2 to 10 blocks.

See Also

  • Block
  • Proposal Zone
  • Transaction

Consume

The process of using a Live Cell as an input to a transaction.

The process of consumption marks the Live Cell as a Dead Cell. This is the equivalent of marking a UTXO as spent in Bitcoin.

See Also

  • Cell
  • Cell Model
  • Dead Cell
  • Live Cell
  • UTXO on Bitcoin.org

Crypto Primitives

Well-established, low-level cryptographic algorithm commonly used to build out a cryptographic protocol.

See Also

  • Cryptographic Primitive on Wikipedia

Data

In Nervos specific contexts, data may refer to the data structure within a Cell. This structure is used to hold any form of information that needs to be stored on the Nervos blockchain.

In more general contexts, data may refer to any form of information.

See Also

  • Cell
  • Cell Model

Dead Cell

A cell that has been used as an input to a previous transaction and is consumed.

A dead cell cannot be used as an input to a new transaction, nor can it be used as a dependency. It is effectively destroyed and removed from the active state of the network.

A dead cell is the equivalent of a "spent UTXO" in Bitcoin.

Synonyms

  • Historical Cell

See Also

  • Cell
  • Cell Model
  • Consume
  • Transaction
  • UTXO on Bitcoin.org

Dep Group

A method for referencing multiple dependencies which are commonly used together using a single dependency field.

See Also

  • Dep Type
  • Dependencies
  • CKB Transaction Structure on GitHub

Dep Type

A field that specifies the type of the dependency.

See Also

  • Dep Group
  • Dependencies
  • CKB Transaction Structure on GitHub

Deps

A shorthand name for dependencies.

Synonyms

  • Dependencies

Dependencies

Cells that are referenced in a transaction. Cells that are referenced as dependencies are read-only and made available to any Scripts executing within the transaction. Dependencies are not consumed.

Dependencies are commonly referred to as deps.

Synonyms

  • Deps

See Also

  • Cell
  • Consume
  • Script
  • Transaction

Duktape

Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint.

Duktape is used to run Javascript based smart contracts on Nervos.

See Also

  • Duktape Official Website

Difficulty

A measurement of how difficult it is to solve the Proof of Work cryptographic puzzle required to create a block.

Networks automatically adjust the difficulty to control the speed at which blocks are generated as mining participants enter and exit the network.

See Also

  • Proof of Work

Diviner

A deterministic testing framework for Rust.

See Also

  • Diviner on GitHub

Eaglesong

The proof of work function used for mining on Nervos CKB.

See Also

  • Eaglesong RFC on the Nervos Github

ERC20

An Ethereum token standard for basic fungible tokens.

An SUDT on Nervos is the equivalent of Ethereum tokens standards ERC20 or ERC777.

See Also

  • ERC777
  • Fungible Token
  • Token
  • User-Defined Token
  • ERC20 on Ethereum.org

ERC721

An Ethereum token standard for non-fungible tokens.

See Also

  • Non-Fungible Token
  • Token
  • ERC721 on Ethereum.org

ERC777

An updated Ethereum token standard for basic fungible tokens that is backwards compatible with ERC20.

An SUDT on Nervos is the equivalent of Ethereum tokens standards ERC20 or ERC777.

See Also

  • ERC20
  • Fungible Token
  • Token
  • User-Defined Token
  • ERC777 on Ethereum.org

ERC1155

An Ethereum token standard that supports the creation any number of fungible or non-fungible tokens on a single contract.

See Also

  • Fungible Token
  • Non-Fungible Token
  • Token
  • User-Defined Token
  • ERC1155 on Ethereum.org

Generator

A program that is used to create transactions that can be broadcast to the Nervos CKB network.

See Also

  • Nervos CKB
  • Transaction

Genesis Block

The first block on a blockchain. The genesis block is unique because it does not contain a reference to the previous block because it is the first.

See Also

  • Block
  • Blockchain

Godwoken

A tool that provides a programmable layer on Nervos CKB that emulates the account model used by other cryptocurrencies like Ethereum.

See Also

  • Godwoken on GitHub

Governance Script

A Type Script which defines the monetary policy of a User Defined Token (UDT).

See Also

  • Governance Script Hash
  • UDT
  • User Defined Token
  • Type Script

Governance Script Hash

A Blake2b hash of a Type Script which is used as an identifier for the Script when referenced by a Cell.

Synonyms

  • Type Script Hash

See Also

  • Governance Script
  • UDT
  • User Defined Token
  • Type Script

Historical Cell

An alternative term for Dead Cell.

Synonyms

  • Dead Cell

See Also

  • Cell
  • Cell Model

Indexer

An application or library that keeps track of live Cells that match criteria specified by the developer or user.

See Also

  • Cells
  • Live Cell

Input

A Live Cell that is used in a transaction. If the transaction is accepted by the network, the Live Cell will be consumed, and marked as a Dead Cell.

See Also

  • Cell
  • Consume
  • Dead Cell
  • Live Cell
  • Transaction

Keyper

A specification of how to manage wallet Lock Scripts which apply to a specific user.

See Also

  • Lock Script
  • Keyper on GitHub

Late Spawning

When a node joins a blockchain network for the first time after the network has already been in operation for a period of time.

A network is said to support late spawning if that participant can download and verify the entire blockchain without having to trust any of the participants in the network to feed them unaltered data.

See Also

  • Genesis Block

Layer 1

A proof of work blockchain known as the Common Knowledge Base (CKB) that serves as the base layer for the Nervos Network.

Synonyms

  • CKB
  • Common Knowledge Base

See Also

  • Layer 2

Layer 2

Any framework or protocol that is built on top of and dependent on a layer 1 blockchain.

Layer 2 systems often address different concerns than layer 1, allowing for a wider range of use cases while directly inheriting many of benefits of layer 1.

See Also

  • Layer 1

Lina

The name of public Mainnet of the Nervos CKB.

Synonyms

  • Mainnet

Not To Be Confused With

  • Aggron
  • Testnet

See Also

  • Nervos CKB

Live Cell

A Cell that has not been consumed and is available for use.

This is similar to an unspent transaction output (UTXO) in Bitcoin.

Synonyms

  • Active Cell

See Also

  • Cell
  • Cell Model
  • UTXO on Bitcoin.org

Lock Script

A Script that enforces access and ownership of a Cell. This Script controls who has permission to use the Cell as an input.

See Also

  • Cell
  • Type Script
  • Script

Lock Script Hash

A Blake2b hash of a Lock Script which is used as an identifier for the Script when referenced by a Cell.

See Also

  • Cell
  • Lock Script

Long Address

An address format used on Nervos that includes the full code hash of the lock script which is associated with it.

See Also

  • Address
  • Code Hash
  • Lock Script
  • Short Address

Mainnet

The Nervos CKB public blockchain.The name of the Nervos CKB Mainnet is Lina.

  • ckb version: >= v0.25.2 (latest stable is recommended)
  • genesis hash: 0x92b197aa1fba0f63633922c61c92375c9c074a93e85963554f5499fe1450d0e5
  • launched at: 2019-11-15 21:11:00 UTC

Synonyms

  • CKB
  • Common Knowledge Base
  • Lina
  • Nervos CKB

Not To Be Confused With

  • Aggron
  • Testnet

Minting

The process of creating of new tokens.

See Also

  • Token

Molecule

A serialization framework for encoding data which is used extensively on the Nervos blockchain.

See Also

  • Molecule Specification
  • Molecule on Github
  • Molecule Schema used in CKB

Muta

A framework used to create highly customizable layer 2 blockchain implementations on Nervos.

See Also

  • Muta on GitHub

Nervos CKB

The layer 1 blockchain of the Nervos Network, the Common Knowledge Base.

Nervos CKB is often referred to as the Nervos Blockchain.

Synonyms

  • CKB
  • Common Knowledge Base
  • Nervos Blockchain

See Also

  • Layer 1

Off-Chain Computation

A programming model where all computation is done off-chain to reduce the burden on the nodes in the network and provide higher levels of scalability.

Nervos uses off-chain computation and on-chain verification.

See Also

  • On-Chain Computation
  • On-Chain Verification

Off-Chain State

A programming model where the data that represents the state of an application is not stored on the blockchain, or is not accessible by on-chain smart contracts.

See Also

  • On-Chain State

On-Chain Computation

A programming model where all computation by smart contracts is done on-chain every node on the network simultaneously.

Ethereum uses on-chain computation.

See Also

  • Off-Chain Computation

On-Chain State

A programming model where the data that represents the state of an application is stored on the blockchain and is accessible by on-chain smart contracts.

Nervos provides on-chain state for all smart contracts.

See Also

  • Off-Chain State

On-Chain Verification

A programming model where all computation is done off-chain to reduce the burden on the nodes in the network, but verification of the resulting data is done on-chain to enforce the smart contract rules created by the developer.

Nervos uses off-chain computation and on-chain verification.

See Also

  • On-Chain Computation

Open Transaction

A signed piece of a transaction that is incomplete and invalid on its own. When combined with other signed transaction pieces can form a complete transaction which can be processed.

One use of open transactions is to create the functionality required for a trustless decentalized exchange.

See Also

  • Cryptographic Signature
  • Transaction

Orphan

A shorthand name for Orphan Block.

Synonyms

  • Orphan Block
  • Uncle

Orphan Block

A valid block that was found simultaneously with another valid block by another miner, but was not selected by network because it arrived after the other block.

Orphan blocks are expected to occur under normal operation and do not become a problem unless they occur too frequently.

On Nervos, orphan blocks are better described as Uncles.

Synonyms

  • Orphan
  • Uncle

See Also

  • Block
  • Orphan Rate

Orphan Rate

A measure of the speed at which Orphan blocks occur within the blockchain network.

See Also

  • Orphan Block

Outpoint

A particular output Cell in a transaction.

See Also

  • Cell
  • Output
  • Transaction

Output

A Live Cell that is created in a transaction.

See Also

  • Cell
  • Live Cell
  • Transaction

Overlord

A byzantine fault tollerant consensus algorithm designed by Nervos for Huobi which can support thousands of transactions per second.

See Also

  • Overlord on Medium

Polyjuice

An Ethereum compatible layer that provides account model functionality on top of Nervos' Cell Model.

See Also

  • Cell Model
  • Polyjuice on GitHub

Proposal Zone

Section of the block that contains transaction proposals.

See Also

  • Commitment Zone
  • Propose

Propose

The process of taking an unconfirmed transaction out of the mempool and proposing it for commitment. A transaction is not confirmed until after it has been committed.

Miners are incentivized to propose transactions by being paid a proposal reward.

See Also

  • Commit
  • Confirmation
  • Mempool
  • Proposal Reward
  • Proposal Zone
  • Transaction

RISC-V

An open standard instruction set architecture (ISA) for general computing.

RISC-V is the instruction set used by the CKB-VM.

See Also

  • CKB-VM
  • RISC-V on Wikipedia

Schnorr Signature

A cryptographic signature scheme for signing and verification.

See Also

  • Schnorr Signature on Wikipedia

Script

A program that executes on the CKB-VM. A Script can be one of two types:

  • Lock Script - Used to control ownership and access to a Cell.
  • Type Script - Used to control how a Cell is used in a transaction.

A Script is a binary executable in the ELF format for the RISC-V architecture.

See Also

  • CKB-VM
  • Lock Script
  • RISC-V
  • Type Script
  • ELF on Wikipedia

Seed Cell

A design pattern on Nervos from creating unique identifiers used to create unforgeable assets.

See Also

  • Cell

Shannon

A fractional denomination of CKBytes. One CKByte is equal to 100,000,000 Shannons.

A Shannon is the equivalent of a Bitcoin Satoshi.

See Also

  • CKByte
  • Common Knowledge Byte
  • Satoshi (denomination) on Bitcoin.org

Short Address

An address format on Nervos that does not include the code hash of the associated lock script, and instead uses one of many commonly used lock scripts.

The short address format is the most common address format used, and is often referred to as simply "address".

Synonyms

  • Address

See Also

  • Code Hash
  • Lock Script
  • Long Address

Simple UDT

A standard that defines a the most basic implementation of a UDT fungible token on Nervos.

A Simple UDT is often referred to by its abbreviation, SUDT.

An SUDT on Nervos is the equivalent of Ethereum tokens standards ERC20 and ERC777.

Synonyms

  • SUDT

See Also

  • Token
  • UDT
  • User-Defined Token
  • ERC20 on Ethereum.org
  • Simple UDT RFC Draft Spec on Nervos Talk

Since

A field on a Cell which can contain an optional value that prevents consumption before a certain block timestamp or a block number.

See Also

  • Cell

SPV

An abbreviation for Simplified Payment Verification. A protocol for using a blockchain cryptocurrency without having to operate a full node.

SPV clients require far less data to be stored, but also must requires the trust of the network clients it is connected to directly.

See Also

  • SPV Wallet
  • Simplified Payment Verification on BitcoinWiki

SPV Wallet

A light-weight cryptocurrency wallet that uses the SPV protocol.

See Also

  • SPV

SUDT

An abbreviation for Simple UDT.

Synonyms

  • Simple UDT

Testnet

An alternate public blockchain used for testing purposes that is running the same or similar software as the Mainnet. All tokens and data on testnets have no value.The name of the Nervos CKB Testnet is Aggron.

  • ckb version: >= v0.32.0 (latest stable is recommended)
  • genesis hash: 0x10639e0895502b5688a6be8cf69460d76541bfa4821629d86d62ba0aae3f9606
  • launched at: 2020-05-22 04:00:00 UTC

Synonyms

  • Aggron

Not To Be Confused With

  • Lina
  • Mainnet

Transaction Hash

Transaction is serialized via molecule in CKB. Its schema is:

table Transaction {
    raw:            RawTransaction,
    witnesses:      BytesVec,
}

Transaction hash is generated by the serialized raw structure through ckbhash.

See Also

  • Transaction Witness Hash
  • Molecule
  • Ckbhash

Transaction Witness Hash

Transaction is serialized via molecule in CKB. Its schema is:

table Transaction {
    raw:            RawTransaction,
    witnesses:      BytesVec,
}

Transaction witness hash is generated by the serialized transaction through ckbhash.

See Also

  • Transaction Hash
  • Molecule
  • Ckbhash

Transaction Root

The field transactions_root in header is

ckbhash(T || W)

ckbhash is the hash function, || denotes binary concatenation.

T is the root of a CKB Merkle Tree, which items are the transaction hashes of all the transactions in the block.

W is also the root of a CKB Merkle Tree, but the items are the Transaction Witness Hash of all the transactions in the block.

See Also

  • Ckbhash
  • CKB Merkle Tree
  • Transaction Witness Hash

Type Script

A Script that enforces the rules that must be followed in a transaction for a Cell to be consumed as an input or for a Cell to be created as an output.

See Also

  • Cell
  • Lock Script
  • Script
  • Type Script Hash

Type Script Hash

A Blake2b hash of a Type Script which is used as an identifier for the Script when referenced by a Cell.

See Also

  • Cell
  • Script
  • Type Script

Type ID

A unique identifier for asset types on Nervos. This idenfier is based on the Type Script and Arguments of a Cell.

See Also

  • Args
  • Cell
  • Type Script

Uncle

A valid block that was found simultaneously with another valid block by another miner, but was not selected by network because it arrived after the other block.

Uncles are paid a reduced block reward when they are found and reported.

On Nervos, Uncles are tracked by consensus to adjust the block interval of the network.

Synonyms

  • Orphan Block

See Also

  • Block Interval
  • Orphan Rate
  • Uncle

Uncle Rate

See Also

  • Orphan Rate
  • Uncle

Validator

A Script that is used to ensure that a transaction created by a Generator is valid.

Validators are Scripts that run within the CKB-VM, and are either Lock Scripts or Type Scripts.

See Also

  • CKB-VM
  • Lock Script
  • Type Script
  • Transaction

Witness

A set of cryptographic signatures that contains the data required to prove authorization to the resources used in a transaction.

See Also

  • Transaction

Zk-SNARK

A form of cryptographic proof, that when used in cryptocurrencies, allows for privacy features which do not reveal the amounts or participants in transactions.

Zk-SNARKs require a trusted setup, but are otherwise trustless.

See Also

  • Transaction
  • Zk-STARK
  • Non-interactive zero-knowledge proofs on Wikipedia

Zk-STARK

A form of cryptographic proof, that when used in cryptocurrencies, allows for privacy features which do not reveal the amounts or participants in transactions.

Unlike Zk-SNARKs, Zk-STARKs do not require a trusted setup.

See Also

  • Transaction
  • Zk-SNARK
  • Non-interactive zero-knowledge proofs on Wikipedia

← ToolsIntroduction →
  • Glossary Sections
  • General Glossary
    • Address
    • Asset
    • Block
    • Block Height
    • Block Interval
    • Block Propagation
    • Block Reward
    • Block Time
    • Blockchain
    • Broadcast
    • Capacity
    • Cell
    • Cell Model
    • Chain
    • CKB
    • CKByte
    • CKB-VM
    • Cold Storage
    • Cold Wallet
    • Common Knowledge Base
    • Common Knowledge Byte
    • Confirmation
    • Consensus
    • Cryptocurrency
    • Cryptographic Signature
    • Cryptography
    • Cycles
    • DAO
    • Decentralization
    • Digital Asset
    • Digital Currency
    • Distributed
    • Double Spend
    • Epoch
    • First-Class Assets
    • Fungible Token
    • Full Node
    • Hardware Wallet
    • Hash Rate
    • Height
    • Synonyms
    • Light Client
    • Mainnet
    • Mempool
    • Micro-State
    • Miner
    • Miner Fee
    • Mining
    • Mining Reward
    • Native Token
    • NC-MAX
    • Neighbor
    • Nervos Blockchain
    • Nervos DAO
    • Network Hash Rate
    • Node
    • Non-Fungible Token
    • Open Source
    • P2P
    • Paper Wallet
    • Payment Address
    • Peer to Peer
    • Proof of Work
    • Proof of Stake
    • Propagation
    • Private Key
    • Pruned Node
    • Shannon
    • Signature
    • State
    • Testnet
    • Tip
    • Tip Block
    • Transaction
    • Transaction Fee
    • Token
    • UDT
    • Unconfirmed
    • Unconfirmed Transaction
    • User-Defined Token
    • Wallet
  • Economics Glossary
    • Base Issuance
    • Base Reward
    • Commit Reward
    • Fiat Currency
    • Heavy Asset Problem
    • Liquidity
    • Proposal Reward
    • Secondary Issuance
    • Secondary Reward
    • Starving Layer 1 Problem
    • State Rent
    • Store of Assets
    • Store of Value
    • Tail Emission
    • Targeted Inflation
    • Tragedy of the Commons
    • Tragedy of the Security Commons
    • Tragedy of the Storage Commons
  • Technical Glossary
    • Active Cell
    • Aggron
    • Animagus
    • Args
    • Axon
    • Blake2b
    • Block Subsidy
    • BLS
    • Boxer
    • Cell Collection
    • Cellbase
    • Ckbhash
    • CKB Merkle Tree
    • Code Hash
    • Commit
    • Commitment Zone
    • Consume
    • Crypto Primitives
    • Data
    • Dead Cell
    • Dep Group
    • Dep Type
    • Deps
    • Dependencies
    • Duktape
    • Difficulty
    • Diviner
    • Eaglesong
    • ERC20
    • ERC721
    • ERC777
    • ERC1155
    • Generator
    • Genesis Block
    • Godwoken
    • Governance Script
    • Governance Script Hash
    • Historical Cell
    • Indexer
    • Input
    • Keyper
    • Late Spawning
    • Layer 1
    • Layer 2
    • Lina
    • Live Cell
    • Lock Script
    • Lock Script Hash
    • Long Address
    • Mainnet
    • Minting
    • Molecule
    • Muta
    • Nervos CKB
    • Off-Chain Computation
    • Off-Chain State
    • On-Chain Computation
    • On-Chain State
    • On-Chain Verification
    • Open Transaction
    • Orphan
    • Orphan Block
    • Orphan Rate
    • Outpoint
    • Output
    • Overlord
    • Polyjuice
    • Proposal Zone
    • Propose
    • RISC-V
    • Schnorr Signature
    • Script
    • Seed Cell
    • Shannon
    • Short Address
    • Simple UDT
    • Since
    • SPV
    • SPV Wallet
    • SUDT
    • Testnet
    • Transaction Hash
    • Transaction Witness Hash
    • Transaction Root
    • Type Script
    • Type Script Hash
    • Type ID
    • Uncle
    • Uncle Rate
    • Validator
    • Witness
    • Zk-SNARK
    • Zk-STARK
Foundation
About Us
Developer
GitHubWhitepaperRFCs
TwitterBlogTelegramRedditYouTubeForum
Copyright © 2020 Nervos Foundation. All Rights Reserved.
Note we've completely rebuilt Nervos Doc site! For the old doc site, please see docs-old.