Read to learn more about how blockchain architecture keeps data secure and what makes blockchain unique from ordinary databases.
Characteristics Of A Blockchain
Before we go in-depth on blockchain architecture, let's first look at some of the characteristics that make blockchain unique.
- Distributed Consensus - Regardless of how many data validators are on the network, the structure of a blockchain is distributed. This means there is no single point of failure, which largely makes it impossible to coordinate an attack on larger blockchain networks.
- Cryptography - Data is secured through advanced encryption algorithms. Cryptocurrencies are akin to monetary data stored on a blockchain. Crypto can only be sent by the user who holds a private key that matches a public address. Digital wallets are interfaces that make accessing funds simple and convenient.
- Immutability - Once data is validated on a blockchain, it can't be reversed. On a secure blockchain network, there is no ability for someone to roll back or edit existing data without agreement across a majority of the network.
Blockchain Architecture Defined: How Is It Different Than An Ordinary Database?
The main difference between a blockchain and an ordinary database is that a blockchain allows encrypted information to be linked by blocks rather than as raw data. Even though transactions are cryptographic strings of information, the manner in which the blocks are added together makes the information valuable.
Every technical aspect of blockchain architecture is designed to manage valuable data such as when a transaction takes place, amount of the transaction, and who sends or receives the transaction. This is why cryptocurrency is likened to money, because it is exchanged and treated just as money. Cryptocurrency mining is comparable to the minting of coins, except the underlying blockchain protocol is generally controlled by a much larger group of people. Plus, the circulating supply of cryptocurrencies can be verified at any time in real-time, while the same can't be said for fiat currencies.
Cryptocurrency is just one application of blockchain technology. Blockchain use cases include non-fungible tokens, supply chain logistics, healthcare recordkeeping, among many others. In some cases, an ordinary database can be used for the same applications, but blockchain is an all around superior technology because the network is distributed.
Blockchain Architecture Explained: Nodes and Consensus
Blockchain technology is inseparable from its primary properties: consensus and validation. This is what makes it a novel technology. It is optimized as a currency system and maintains the same structure on every node. Unlike traditional ledgers run by centralized institutions (e.g. banks), a public blockchain protocol is truly neutral in the sense that it does not rely on trust. A blockchain full node client is publicly available for anyone that wants to participate as a node.
Proof of Work is a blockchain consensus mechanism used to allow nodes to perform work and provide proof of every valid transaction. Each node in a pool confirms a transaction and based on their collective consensus, new information is added to a block. The architecture is made up of all the components that make this system efficient. These are “worker” full client nodes operating over a blockchain network.
Cryptography And Digital Signatures: The Carbon Ballot Concept
Public key cryptography, also known as asymmetric cryptography or asymmetric encryption, is the security mechanism behind blockchain systems. This technology is actually older than the internet itself. The first proposal to use cryptography in digital payments systems was made by David Chaum who introduced the concept of blind signatures in 1982. He proposed the first electronic digital cash payment system that ran on a computer network. A good explanation of digital signatures is his analogy to voting ballots. The ballots cannot be collected at a central point, and each person that needs to vote is at a different address. Each sender wants their vote to remain anonymous. The vote trustee also needs to ensure that each vote is valid.
The solution proposed is a carbon envelope. The vote can be sealed inside this envelope. On the outside of the envelope is a return address of the person who has voted. On the inside is the sealed signature of the sender. Once the envelope reaches the vote counter, the vote is removed and verified if it is sealed according to the standard. The ballot has no reference to the sender and the vote remains anonymous. The sender is pseudonymous because his address is known. The envelope is also signed by the trustee. The vote is then added to the counter, which is made public. It is finally returned to the sender in order to verify that the vote has been counted. This is essentially how blockchain architecture is designed, extending this example to make it possible to send and receive data on a virtual network.
Public Keys & Private Keys
Consider the analogy of mail-in ballots. It shows how cryptography works by solving the problem of anonymity of a sender and simultaneously solving and guaranteeing transparency of the system. It requires no active auditing because a public record is kept which can be verified by anyone. Think of the envelope as a digital wallet that contains a private and public key pair. The sender signs all transactions with a private key (encryption). Their public key is visible to every participant in the network.
The encryption process is asymmetric meaning that the transaction is created using the recipients public key (address). The public key is derived from the user’s private key while the private key cannot be derived from the public key. The private key remains secret to ensure that only the person with it can access funds in the associated public key (address). If someone wants to send funds, there must be a match between the public key and the private key. If this is the case, the transaction is verified and added to the chain of transactions.
Let’s say that one person wants to send more than one ballot. This creates a possible situation of double-voting. In blockchain, the double-spending problem is a similar issue. The double-spending problem is resolved using a hashing algorithm. The Bitcoin protocol is the first successful implementation of an electronic cash system to resolve the double-spending problem.
How Blocks Are Added To A Blockchain
Now, let’s learn more about blockchain technical architecture. In terms of blockchain structure, the ledger is made only of the historical transactions of a specific blockchain. The transaction ledger is only needed by miners or full nodes. A user does not need to download the entire transaction history in order to interact with the blockchain and perform transactions. An end-user will interact with client software. AtomicDEX crypto wallet, for example, use a light node. This doesn’t require the end-user to download complete copies of blockchains. A miner is a node that participates in the blockchain network and performs work called cryptographic hashing to conform a transaction and add blocks to make a blockchain. The blocks are added in sequence by miners to make up the structure of the blockchain. Mining is the process of confirming transactions.
A typical BlockHash looks like this: 08543b9176e4997111cffbd45b977826146678d0dd0e6fb13b0643fe57119468
An example of a hash created for the latest block on the KMD chain can be found on kmdexplorer.io. You can paste the hash into the search bar on the explorer to see the details.
The structure of a new hash is made up of the hash of the previous block. This is the chain that links the blocks together. The new transaction is added to the header of the previous block, as well as a nonce, which is a random number. The root, or merkle root, is produced from the merkle tree. The merkle root is a hash that represents the block and all the transactions associated with the specific block.
The newest block is added once all the nodes have confirmed the transaction. The verification process is important because this action is irreversible. This is the immutable feature of the blockchain. It is also a security mechanism because there can be no modification of any transaction. The hashing function compresses the information so as to keep the block size to a minimum. If you were to look inside a block, it would contain all the transactions confirmed in that block. The growing number of blocks make up a blockchain. The structure of the blockchain is the foundation of blockchain security.
Categories of Blockchain
Consortiums and Private Blockchains
There is a distinct architecture to a blockchain, with a few slight differences between various chains out there. The models that exist are determined by the level of decentralization and openness of the blockchain network. A ledger protocol can be decentralized and at the same time semi-private. A ledger can also be centralized and private such as bank account ledgers; in this case the bookkeeper needs to be trusted. These can act like traditional clearing houses. In a consortium, the participants of a distributed network are also involved in the consensus process. They may have a conflict of interest because they also actively participate in the market they govern. For this reason, they need to be trusted.
Today, these are also a growing number of fully private, permissioned blockchains which require permission to join the network before being able to share and/or validate data.
A public blockchain is open and all participants are equal. The benefit is that there is a separation of interest. Blockchain technology can be applied in different ways, but fundamentally blockchain is a decentralized network with distinct features that makes it a trustless system. The benefit of a public blockchain is that node participants do not need to interact or know one another. Each can be located at remotely different geographic locations.
Public blockchains are also permissionless systems, because there is no criteria to join other than to perform work. The validator is also incentivized to protect the integrity of the block for the sake of the blockchain network. For example, a Proof of Work blockchain is only compromised in the event of a 51% attack.
The implementation of blockchain technology is endless. Today, there are many different blockchain use cases. For developers, gaining blockchain developer skills like learning a blockchain programming language can make it easy to create new applications. It is a type of disruptive innovation that can provide solutions to many sectors, not just for digital currencies. Voting systems, or any sector that depends on record-keeping and requires a transparent solution, can benefit from blockchain.
If you'd like to learn more about blockchain technology and keep up with Komodo's progress, subscribe to our newsletter. Begin your blockchain journey with Komodo today.