Blockchain is a type of distributed ledger technology. A distributed ledger is a decentralized data structure (similar to databases that store data) where the data are distributed across all computers or nodes within a network and every node in the network stores a copy of the ledger. There is no central administration of the data and the data are agreed upon by consensus by all nodes in the network.
Distributed ledger technology (DLT) includes technologies such as blockchain and smart contracts. The technology defines components such as a data model that describes what data are captured in the ledger, and agreement for protocols, such as a consensus protocol to determine how transactions are accepted into the ledger.
Click through the tabs below to learn more about the characteristics and components that make up this technology.
Similar to the common use of the word “ledger”, a ledger in the context of DLT is simply an electronic ledger -- a record or collection of transactions.
An important distinction is that the ledger is not a collection of assets. While assets are a part of transactions, the ledger records the transactions of those assets. For example, bitcoin is a well-known asset, and transactions involving bitcoin are recorded using a blockchain ledger.
Blockchain technology constructs the ledger by constructing a chronological and consecutive chain of blocks. Blocks in turn can include one or more transactions. In other words, it is possible to batch transactions into blocks, and this is often done to improve the transaction throughput rate for a blockchain platform with a given block throughput rate.
Blockchains can also record a collection of code called smart contracts that enable functions to be run on the blockchain.
While blockchains were originally used to exclusively record transactions, it has evolved to where it can now also enable the running of programs or functions, similar to how users may run software on a computer.
Smart contracts constitute self-executable code on the blockchain network, triggered upon predefined conditions or actions. Within the network, each node must execute the code in order to remain in sync with the rest of the network. The role of a blockchain node is to maintain the consistency and validity of the shared ledger.
Transactions on the blockchain are:
Transactions can include transfers of digital assets such as bitcoin. More discussions about the applications and associated types of transactions can be found within the website under the use cases section.
A block is a set of transactions that are bundled together and then appended to a chain of other blocks. Hence, the name “blockchain”.
When the blocks are chained together, each new block contains a reference to a unique identifier from the previous block called a hash code or a cryptographic hash.
The block contains the following information:
The characteristic of blockchain in which any changes to data on a block are easily detectable to the blockchain network gives blockchain a capability called immutability. Since all of the blocks are chained together, each block including the previous hash, a malicious actor that wishes to change data in a block would need to gain control of the majority of nodes in the network. They would then need to also recalculate all of the subsequent chained hashes, which would require control and collusion on an impractical scale, especially as blockchain networks grow large, and may also require an enormous amount of computing power, depending on the consensus algorithm. For example, consensus algorithms such as PoW (Proof of Work) used in Bitcoin require large amounts of hardware and power for mining.
This also means that the past history of the data on the blockchain also persists and cannot be changed or deleted. Updates to the blockchain are added as new blocks as an append-only mechanism rather than as an overwrite. This has significant performance ramifications when dealing with information that frequently changes, each change requiring a new transaction on the blockchain. This also has significant ramifications from a privacy, security, and compliance standpoint where a blockchain may contain sensitive information such as PII (Personally Identifiable Information).
The entire history of the blockchain is visible and stored in an immutable and verifiable way, and new blocks appended to the blockchain, and the transactions within those blocks are visible near real-time across the blockchain network, which gives blockchain a characteristic of transparency.
There are permissioned and private networks versus permissionless and public networks that control the access to blockchain networks, the visibility of data in shared ledgers within, and therefore the level of transparency. See the section on networks for more information.
Since data on the blockchain are immutable, the blockchain supports a network where nodes can operate in a trustless system. This means that nodes do not have to trust each other or establish a way to ensure trust, as long as they trust the blockchain, the associated consensus algorithm, and the data on the blockchain.
Without a central authority within a network, trust on the blockchain is established through consensus and cryptography. Cryptography is used to remove the burden of trust from intermediaries to cryptographic algorithms for data validation. Certain permissioned implementations of blockchain may also use a central authority to provide access and identity management.
With blockchain, the peer-to-peer network and redundancy of data lend itself to a high level of fault tolerance. This means that nodes can be added or deleted from the network, and still the overall blockchain network remains in operation, and the consistency, validity, integrity and immutability of the data on the blockchain is ensured.
Blockchain is designed to have Byzantine Fault Tolerance, which refers to the idea that even if nodes are untrusted, the network must come to a consensus on the official state of the blockchain.