Whether you are a novice or a specialist, figuring out blockchain terminology can sometimes be challenging. This is because blockchain technology continues to rapidly evolve. To help you understand the most important terms, here is a curated list of the most important concepts both for beginners and advanced readers.
A blockchain is a network of computers storing digital transactions as replicas across each node or PC in the system. The immutable (unaltered) digital ledger of transactions is usually distributed and duplicated across the whole computer system on the blockchain network. It consists of blocks connected through a cryptographic signature, hence it’s almost impossible to disrupt, hack, or alter it. For instance, Ethereum is a blockchain platform that houses Ethereum/Ether cryptocurrency and users can also use it to create smart contracts and programmable tokens.
A chaincode is a type of software used to read and update blockchain data on the ledger. It can turn business logic into an executable program that all members of the blockchain network can agree to and verify. Chaincode initializes and manages the ledger state via transactions submitted by blockchain applications.
When there is a transaction proposal, a chain code is triggered and this decides the state of change that needs to be applied to the ledger. If the chaincode is for a bitcoin sale, for instance, then it would first check if the seller has bitcoin to sell. Every chaincode is considered to be an isolated program and so each one maintains its private state.
The consensus protocol ensures that each new block added to the blockchain is the only single version of the truth that has been agreed upon by all the blockchain nodes. The consensus protocol is important in creating blocks that store true versions of transactions, and the trust is normally based on consensus algorithms. A blockchain network can use consensus protocols such as:
- Proof of Work
- Proof of Stake
- Proof of Importance
- Transaction as Proof of Stake
- Delegated Byzantine Fault Tolerance
- Crash fault-tolerant (CFT), etc.
The decentralized autonomous organization of blockchain means that automated protocols are important in ensuring all the participating nodes fully agree on valid transactions only.
Cryptocurrency mining is a way of creating new cryptocurrency “coins” involving complex hash puzzles. The resource-intensive process also includes validating new cryptocurrency transactions and adding them to a distributed ledger. In a distributed network, cryptocurrency mining is important, preventing double spending of a digital asset.
It should be noted that when a member spends cryptocurrency, the digital ledger should be updated, i.e., debiting the spending account and crediting the others. However, it’s possible to manipulate digital platforms. That’s why the Bitcoin network only allows verified miners in the mining pool to update digital transactions on the ledger.
Cryptographic hash puzzle
Cryptographic hash puzzles are puzzles or mathematical functions used to verify updated blocks of transactions on the decentralized blockchain ledger. Hash puzzles typically take inputs of variable lengths and then return them as outputs with fixed lengths. Solving a cryptocurrency hash puzzle requires computers with powerful processing power in addition to sophisticated equipment.
A distributed ledger is a consensually shared database that’s synchronized across multiple institutions, sites, and geographical areas. Multiple people can access a distributed ledger and each participant (node) can independently update it. Its distribution doesn’t include a central authority to communicate records to various nodes. The distributed ledger technology allows the recording of transactions of digital assets with transaction details being recorded in multiple locations at the same time.
Domain-specific programming language
Domain-specific programming language is a computing programming language specific to a particular application domain. For instance, there is a domain-specific language for modeling smart contracts and deploying them on various blockchain platforms. The top programming languages used to develop decentralized apps (DApps) include Soliditity, a domain-specific language using high-level objected-oriented programming language for implementing smart contracts.
Hash function vs. cryptographic hash function
A hash function converts an arbitrary length of input into an encrypted output of a fixed length. A cryptographic hash function (CHF) is an equation used to verify the validity of data and can convert data of various input lengths into numerical strings of fixed size.
Cryptographic hash functions don’t have hash collision weaknesses. They are irreversible and more secure in most cases. Non-cryptographic hash functions, on the other hand, offer weaker guarantees in return for performance improvements. Generally, they simply avoid the collisions for non-suspicious input and are typically faster.
Hyperledger is a global enterprise blockchain project that provides the industry with the necessary framework, tools, and guidelines to support enterprise-grade blockchain technology. It’s described as an “umbrella” for smart contract and open-source blockchain technologies due to its role in supporting a collaborative development environment for distributed ledgers.
The ecosystem of open-system products focuses on developing solutions for non-public blockchains. Additionally, it offers an alternative consensus mechanism for Proof of Stake (PoS) and Proof of Work (PoW). Some of the projects actively supported under the Hyperledger umbrella include:
- Fabric: a permissioned blockchain intended for use as a foundation for developing applications with modular architectures.
- Besu: an Ethereum blockchain designed to link public and private permissioned use cases.
- Caliper: a benchmark tool used to measure blockchain implementation performance based on a set of predefined use cases.
- Sawtooth: an enterprise solution designed to support various consensus algorithms including Proof of Elapsed Time (PoET) and Practical Byzantine Fault Tolerance.
- Iroha: a blockchain framework used by financial institutions and businesses to manage their digital assets.
- Cello: a blockchain provision serving as an operational dashboard. It helps to efficiently manage blockchain networks.
- Explorer: a web application tool for accessing stored information in the blockchain.
- Transact: a shared software library with a standard interface designed for handling the execution of smart contracts.
Immutability is a blockchain ledger’s ability to remain unaltered, unchanged, or indelible. Data can’t be changed once it’s written on the blockchain ledger. As a result, immutability forms the basis of trade and commerce in a blockchain network. Cryptographic hash has made blockchains immutable since it can’t be reverse-engineered.
Modularity is a design or architecture that provides a functional option to blockchain network designers. Modularity is used to customize blockchain networks by allowing organizations to choose their components and settings. As a result, they can use the certificate authority to access different levels of access nodes and choose consensus algorithms. Hyperledger Fabric uses a modular architecture that allows it to fit with various distributed ledger technologies use cases in the industry.
Non-repudiation is a service assurance that no participants can deny the validity of a transaction in the blockchain. It serves to collect, provide, and maintain undeniable message evidence between the transmitter and receiver. For instance, a sender can’t deny sending a message, since a digital signature can only be created by the sender who is in possession of the corresponding private key.
Permissionless vs. permissioned blockchain
Permissionless blockchains, also known as a public blockchains, are open networks readily accessible to everyone. All users in the network are equal and can participate in the consensus without obtaining authorization, permission, or approval first. Examples include Bitcoin blockchain (BTC) and Ethereum blockchain (ETH).
- Transparent network
- A truly decentralized system
- Digital identity
While permissionless blockchains offer high security and brings trust to all participants, they are known to have slow blockchain transactions speeds and are harder to scale.
A permissioned blockchain requires that a user has permission in order to join or participate in a consensus. Permissioned ledgers can have one or more owners and the consensus is normally conducted by trusted actors. This blockchain can use a variety of blockchain technology consensus algorithms to build consensus, e.g., Proof of Elapsed Time.
Permissioned blockchains have an identity verification process and are renowned for their highly verifiable blockchain data sets. Additionally, some of them have special permissions for handling only specific tasks on their networks. Examples include Hyperledger Fabric and Quorom.
- Consensus protocol
- Private transactions
- Governing bodies
- Food tracking
- Banking and finance
Although a permissioned blockchain offers extremely fast outputs and operates in a highly scalable network, it’s less transparent. In addition, a permissioned blockchain is not truly decentralized.
A private blockchain is a distributed ledger secured with cryptographic concepts and operating as a closed database. A private blockchain is designed to cater to an organization’s needs and is only open to vetted users. Participants are allocated permissions based on their levels in the systems. Generally, this blockchain is small and relatively secure.
Only participants with permission can authenticate or validate transactions or changes and run a full node. The blockchain is controlled and owned by a central authority that modifies the entire ledger.
Private blockchains normally facilitate cooperation between multiple parties, e.g., individuals, companies, or company divisions. The blockchain data contained here is safeguarded in private channels created between subsets of nodes and has to include central authority.
Private blockchains make the processing of transactions faster and more manageable due to the significantly fewer nodes compared to their public counterparts. Additionally, they are used to scale business requirements, and the smaller distributed network allows for more throughputs to occur.
Private data is confidential data stored in a private database that’s only accessible to an authorized peer, typically separated from the data in the channel ledger. Its accessibility is restricted via a private data collection definition.
Instead of creating multiple separate channels with extra administrative responsibilities, Hyperledger Fabric enables the creation of private blockchain data collections. This allows a defined organizational subset on a channel to commit, query, or endorse private data without creating a new channel.
Proof of Stake (PoS)
Proof of Stake (PoS) is a form of cryptocurrency consensus mechanism for confirming transactions and creating new blocks by using randomly selected validators. Based on transactions they opt to validate, the validators “stake” their own cryptocurrency, and if they validate groups of transactions or a block correctly, then they get a block reward.
Meanwhile, verification of an incorrect transaction would make the validator lose their cryptocurrency “stake.” Unlike PoW, PoS is not resource-intensive and only needs a small amount of computing power. Ethereum’s decentralized software platform uses PoS consensus mechanisms to verify blockchain transactions through staking.
Proof of Work (PoW)
Proof of Work (PoW) is a way of adding new transaction blocks to a cryptocurrency blockchain. Generally, the work involves generating a hash function that matches the current block’s target hash. The block (transaction data) and nonce of the block (random strings of digits) are usually applied repeatedly to a mathematical formula (hashing) by miners until they finally find a desirable outcome, i.e., the proof of work.
It should be noted that other miners can verify PoW by using the input string with the same formula to determine whether they will get the same presented outcome. If the outcome is the same, this transaction will be verified before being added to the blockchain. PoW is resource-intensive and needs a great deal of computing power, since many miners are usually in a race to solve the formula.
Public blockchain is a permissionless distributed ledger technology that allows anyone to join. All the nodes have equal access rights, and so anyone within the blockchain network can create new data and validate a data block. They are mainly used to exchange and mine cryptocurrency and are owned by no one.
For instance, Bitcoin protocol relies on public blockchain, hence no single centralized authority can control how it evolves. Data is highly secure, especially for higher nodes. However, public blockchains need heavy computing power to maintain them. They rely on a consensus mechanism where participants are required to compete to validate data before receiving a reward for allowing the blockchain network to use processing power from their computing devices.
Smart contracts are programs stored in blockchain networks and will only run if predetermined conditions are met. They are the dominant program on the Ethereum Virtual Machine. Generally, they are used to automate workflows without time loss or intermediary involvement. A smart contract’s term of use is stored in computer code and often contains sets of actions or agreements involving parties following a traditional legal contract. However, this doesn’t make a smart contract a legal document.
Smart contracts are particularly useful in blockchain networks, since they have deterministic outputs. So anyone processing a smart contract function will get the same output as anybody else performing the same blockchain transactions.
Smart contracts are important in allowing developers to build a huge range of decentralized blockchain applications and tokens. Such apps have transformed the banking industry through decentralized finance. Generally, smart contracts can’t be changed or altered once they are deployed to the blockchain.
A tamper-proof ledger is any record system with the fundamental properties of a blockchain distributed ledger, i.e., all transaction data are in chronological order and have timestamps. Since blockchain technology heavily depends on security, all blockchain ledgers are theoretically tamper-proof.
A transaction is the transfer of blockchain value, i.e., when a person gives a designated share of their cryptocurrency to another person. A successful transaction on a blockchain can only occur if you have a cryptocurrency wallet and an accessible program linked to the blockchain that can allow you to transact and keep track of your cryptocurrency.
Note that each wallet is secured with a special cryptographic method that relies on a distinct but connected pair of keys: a public and a private key. The public key, i.e., the address, consists of a series of numbers and letters that the user shares to receive funds. Meanwhile, a private key is used to authorize the utilization of the received funds by the related public key.
Any user with a wallet can use the private key to authorize transactions, thereby transferring the blockchain value to a new person. Consequentially, the transaction will be broadcast to the network in order to be included on the blockchain.