On a scale of 1 to 10, how well do you understand blockchain technologies? If you answered 6 or below, you’re not alone. The reality is that even though there have been many well-meaning attempts to explain blockchain over the last few years, many business decision makers still don’t get it. And that makes sense because blockchain is still in its early stages and its concepts can be complex. If you’re someone who wants to go beyond the cryptocurrency investing discussion and understand better how blockchain technologies are impacting today’s enterprises, start with understanding some of the key concepts in enterprise blockchain. This glossary will help get you started.
In the world of blockchain, a block serves as a container for permanently recorded data. Specifically, it comprises multiple transactions, which can include instructions for transferring funds between accounts, as well as perform various computations in blockchains that facilitate smart contracts
In the realm of blockchain, a blockchain network is a decentralized architecture where nodes communicate through a shared blockchain protocol to offer ledger and smart contract functionalities. Within each network, there exist one or more members, representing distinctive identities within the network (such as organizations participating in a consortium of banks).
A block explorer is an online tool used to view data, past and current, on the blockchain. It can also provide useful network and other relevant information stored in the ledger. Popular examples include Hyperledger Explorer for Hyperledger Fabric and Pteri for Litecoin.
A Byzantine Fault is any fault with a distributed system that has different symptoms to different observers. Byzantine failure is when a Byzantine fault disrupts the ability of a system to achieve consensus and causes an outage. In practical terms, this can arise from either malice or error. Consider a voting system, where members send their votes to each other and come to an agreement on the outcome. If a member sends out different votes to different members, this is a Byzantine Fault. If the system is unable to reach consensus on the vote outcome, this is a Byzantine Failure. Blockchain systems are designed to achieve Byzantine Fault Tolerance.
Byzantine Fault Tolerance (BFT) is the ability of a distributed computer network to function as expected – even if malicious nodes in the network are failing or spreading incorrect information to other nodes. BFT is designed to defend against catastrophic system failures instigated by these malicious nodes and ensure that consensus can still be reached by the honest nodes in the system.
The Byzantine Generals' Problem is an allegory proposed by Leslie Lamport to help illustrate Byzantine Faults. In this problem, a group of generals are deciding whether or not to attack or retreat. If they do not reach consensus on their action, they will be defeated. Each general can cast a vote, and runners carry the votes between the generals' camps. This process is complicated by traitorous generals and runners who may attempt to deceive the other generals. If, for example, there are five generals and two votes to retreat and two votes to attack, while a final general sends a vote of retreat to some and attack to the other, there is a risk that some generals will attack while others retreat. This problem is compounded by messengers who may fail to deliver messages or may substitute the messages for fakes. It is from this colorful problem that Byzantine Faults get their name.
A centralized trust system is owned by a single, trusted authority. It addresses the core need of an immutable and verifiable transactional log. This system is fast because it doesn’t require consent from members to commit transactions. The downsides, however, are that this centralized authority can engage in activities such as rent seeking, undue control, poor service, etc.
Chaincode is the name of Hyperledger Fabric’s smart contract technology. It's a program (smart contract), written in Go, Node.JS or Java, that reads and updates the ledger state. Applications interact with the blockchain ledger through the chaincode.
A consensus algorithm is the method by which a blockchain agrees on which transactions are valid, as well as the order of transactions. It ensures that the members in the network have an agreed-upon method to allow transactions and data to be committed to the ledger. If the consensus requirements aren’t met, then the transaction is not added to the distributed ledger. Consensus algorithms require the participation of many members to achieve security, accuracy and immutability on the blockchain. Examples include: Proof of Authority, Proof of Stake, and Proof of Work.
A container provides a standard way to package an application's code, configurations, and dependencies into a single object, and then run it anywhere. Containers share an operating system installed on the server and run as resource-isolated processes, ensuring quick, reliable, and consistent deployments, regardless of environment. Hyperledger Fabric, for example, uses container technology.
Cryptography is the encryption and decryption of data using complex mathematics. ICryptography involves using complex mathematical techniques for encrypting and decrypting data. In blockchain technology, cryptography serves two primary purposes: to prevent tampering with past records (through hashing) and to secure the identity of the sender (through digital signatures).
Decentralized applications, also known as dapps, are applications that operate on a decentralized, peer-to-peer network. In the Ethereum network, dapps commonly utilize smart contracts as the foundation of their back-end code. These applications run on decentralized networks, such as blockchains, and often employ utility tokens to encourage desired actions and to ensure the proper upkeep of the underlying networks they depend on.
A decentralized network functions on a peer-to-peer basis and can sustain its operation even in the event of failures by multiple individual nodes. Blockchain technology makes it possible to maintain a decentralized ledger across all the nodes in a network, as opposed to relying on a single server. This ensures the overall stability and resilience of the network.
In a decentralized trust system, there is no single owner of the ledger; multiple parties have joint ownership. Consensus algorithms and smart contracts allow two or more parties to transact with decentralized trust, where each party consents to and records the transaction. Decentralized trust is effective when: (1) multiple organizations must independently verify transaction history and have a single, up-to-date, accurate view of data; and (2) when no single party should be relied on to maintain a system of record for the other participants in a network. Compare to centralized trust.
A digital asset is an entity that exists in binary format and comes with a right to use. If there's no right to use, then it is not considered an asset. Common examples include images, audio files, spreadsheets, multimedia, email, websites, digital documents, etc. Blockchain technologies allow sellers and buyers to exchange digital assets on a shared data platform without the use of an intermediary ("middle man").
A digital signature provides proof that the owner of a specific private key has claimed ownership of a specific document or record. To ensure that the signed record has not been altered, a cryptographic hash function is employed. In the context of blockchain technology, digital signatures are employed to verify that a transaction has been authorized by the owner of the account from which it originated.
Distributed ledger technology (DLT) is utilized to attain consensus within a distributed network. The term "DLT" is more encompassing and includes various technologies that can be employed to achieve distributed consensus, with blockchain being just one of them. As a result, blockchain can be considered a subset of DLT.
A distributed network is a computer network system that distributes programming, software, and data across multiple computers. These computers may be located in close proximity or geographically dispersed, but they collaborate and communicate with each other as a unified system.
Gas is the "fuel" that keeps the Ethereum network running. All Ethereum transactions (or smart contracts) require gas and have an associated cost. If the cost of a transaction is too low (i.e., there's not enough gas), the transaction will not execute (since miners won't get paid enough and will abandon the work). Using gas high and low limits, developers can make sure their smart contracts run reliably on the network.
Hashing is the result of applying an algorithmic function to some data to convert it into a random string of letters and numbers. This hash becomes the digital fingerprint for that data, allowing it to be locked in place within the blockchain.
Byzantine Fault Tolerance (BFT) is the ability of a distributed computer network to function as expected – even if malicious nodes in the network are failing or spreading incorrect information to other nodes. BFT is designed to defend against catastrophic system failures instigated by these malicious nodes and ensure that consensus can still be reached by the honest nodes in the system.
Hyperledger is an open-source project umbrella created by The Linux Foundation to promote the development of blockchain frameworks and tools for various industries. It includes several projects, such as Hyperledger Fabric, Hyperledger Sawtooth, and Hyperledger Composer, all aiming to support the adoption of cross-industry blockchain technology.
Immutability is a fundamental characteristic of blockchain technology. Data stored in a blockchain is designed to be immutable, meaning it cannot be altered or modified once it has been created. In other words, an immutable blockchain maintains a sequential and append-only record of all data changes. This ensures that the data cannot be deleted, modified, or overwritten, providing a high level of integrity and trust in the system.
An Initial Coin Offering (ICO) is similar in concept to an Initial Public Offering (IPO) in the traditional investment world. An ICO is a fundraising mechanism that is often used by startup companies to raise capital. In an ICO, cryptocurrency is sold in the form of tokens ("coins") to investors in exchange for legal tender or other cryptocurrencies, like Bitcoin or Ethereum. The sold tokens are then promoted as future functional units of currency if and when the ICO's funding goal is met and the project launches.
A node is any computer that connects to a blockchain network. 'Full' nodes store the entire distributed ledger from the first (genesis) block to the present and participate in blockchain consensus. 'Light' nodes are used by resource-constrained devices for application-specific purposes, such as reading specific blockchain data and submitting new transactions to full nodes for inclusion in the ledger.
A Merkle Tree (also known as a Hash Tree) is a hash-based data structure that can be used to efficiently and securely verify the contents of the tree. Merkle Trees are a fundamental part of many blockchain protocols. Using cryptography, a Merkle Tree allows computers in a distributed network to verify individual transactions without having to review and compare versions of the entire ledger. By hashing the records, a Merkle Tree decouples the proof of the data from the data itself. These hashes are orders of magnitude smaller than the ledger itself, so proving a transaction’s validity only involves sending small packets across the network. Merkle Trees are used to prove that two versions of a ledger are consistent with minimal computing power and network bandwidth.
A node is any computer that connects to a blockchain network. 'Full' nodes store the entire distributed ledger from the first (genesis) block to the present and participate in blockchain consensus. 'Light' nodes are used by resource-constrained devices for application-specific purposes, such as reading specific blockchain data and submitting new transactions to full nodes for inclusion in the ledger.
An oracle in blockchain technology refers to a component that can be integrated with a smart contract to provide real-time data from external sources. Oracles collect information from off-chain sources, such as bus timetables, weather forecasts, or energy consumption data, and feed that information into the smart contract. This allows the smart contract to make informed and up-to-date decisions or execute commands based on the received data in a reliable manner. Oracles play a crucial role in enabling blockchain-based applications to interact with real-world data and systems.
In a peer-to-peer (P2P) computer network, nodes can directly share resources and data with each other, bypassing the requirement of a central server.
Proof of Work is a consensus algorithm, typically used in public blockchains, that requires workers (often called miners) to solve complex mathematical puzzles. Whoever solves the puzzle first earns the right to produce the next block and determine the order of the transactions in the block. The more ‘work’ a miner does, measured by the resources consumed (like electricity) and computational power provided, the higher the reward. Increased competition has forced miners in nearly all popular Proof of Work blockchains to pool their resources in order to solve mining puzzles and distribute their rewards proportionally among pool participants, since the likelihood of any one miner earning a reward on its own is negligible.
A smart contract is a self-executing, digital contract/program stored on a blockchain. The rules and penalties of engagement for the contract are defined by the contract source code. The contract responds to any relevant events on the blockchain in accordance with its programming. The agreement and the transaction are immutably stored on the blockchain and enforced by the members on the network.
Testnet serves as an alternative blockchain that developers can utilize for application testing, effectively preventing the consumption of assets on the live blockchain.
A token represents some utility, resource, or asset value that can be bought, sold, or traded on an existing blockchain, like Ethereum. Tokens are often used in decentralized applications.
A blockchain is verifiable meaning that anybody can check all of the transactions and hashes all the way back to the genesis block, and if any attempt to change anything is made, the hash values will change and verification will fail. Not all blockchains are verifiable.