As an introduction to blockchain and as a reference point for articles you may read on Business Blockchain HQ, here is a quick breakdown of what blockchain is and the five characteristics that make it unique.
In short, a blockchain is a peer-to-peer distributed ledger technology that securely and immutably records transactions between parties in blocks. In its essence, blockchain provides a trusted, accountable, and transparent environment where intermediaries who were historically necessary to validate and record transactions are no longer needed.
1. Shared Ledger
First and foremost, the blockchain is a shared (distributed) and decentralized ledger. This is arguably the biggest idea behind blockchain, the idea that makes it different from databases or regular ledgers. On a shared ledger your company’s data doesn’t sit in one place. Rather, there are thousands of secure copies of that data on different computers (nodes) around the world. This increases the security of your data as it is far easier to hack a centralized ledger that only has one copy of your data than thousands of copies of a shared ledger. If your company requires decentralized information then blockchain is usually a more efficient and less expensive than traditional databases since your business doesn’t have to rely on intermediaries to record and track transactions as well as maintaining the integrity of the transaction data. The key characteristic that makes blockchain different from traditional databases is the combination of distribution, decentralization, and a consensus mechanism.
For example, let’s say Anvils Unlimited contested an order of 100 anvils for $1,000 from Acme Incorporated. Anvils says the order cost is really $10,000 and Acme owes them $9,000. If anyone checked the block on the blockchain that represented the Anvils Unlimited/Acme transaction they would see that 999 computers have copies of Acme’s order of 100 anvils for $1,000 from Anvils Unlimited. If Anvils Unlimited is the only side that says the amount of the transfer is different from what everyone else has, there’s a good chance Anvils is incorrect or, worse, a malicious actor. That’s the power of a distributed ledger.
Not all blockchains are the same. Some blockchains are permissioned and some are permissionless.
Permissionless blockchains allow anyone to participate in them. This makes sense for Bitcoin and Ethereum, two cryptocurrencies that individual consumers want to participate in and trade with. While permissionless blockchain are theoretically more secure because there are more ledgers out there to confirm or deny claims, permissionless blockchains are also subject to more malicious actors entering the network and causing havoc because they are open and have no vetting process.
Conversely, a permissioned blockchain requires those who want to participate in a transaction to get permission to do so first. Permissioned blockchains assign a unique identifier to each participant which allows a business to set specific policies and rules for transaction details and data access. For instance, if Acme Incorporated and Anvils Unlimited are recording their transactions on a permissioned blockchain they don’t want Noisy Blinky Toys Inc. who have nothing to do with their business butting in on their permissioned blockchain.
As you can imagine, permissioned blockchains are less susceptible to malicious actors because they are not open and require permission. While there are less total participants involved in a permissioned blockchain, it is less secure than permissionless blockchain because there are fewer copies of the transaction out in the world. On the other hand, it runs faster as there are less nodes to validate for a given transaction.
In addition to the security that comes from the distributed ledger, blockchain technology uses cryptography to add another higher level of security. Cryptography is a fancy word for a coded message. It’s like a decoder ring but much longer and far more difficult to crack. Cryptography is also used to ensure that past records cannot be tampered with.
Blockchain cryptography uses the data your company puts onto the blockchain as an input and outputs a hash. Typically, a hash is 64 characters long or 16 times longer than that password you most likely use on your phone. As of this writing, no one has ever hacked a blockchain hash.
Each block on the blockchain – that is, each transaction recorded on the ledger – is connected to the blocks that precede and follow it with a 256 bit hash that is 64 characters long. According to howsecureismypassword.net, it would take a computer 2 googol years to break a 64 character password. How long is a googol year? One googol year is equal to 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000, 000,000,000,000,000,000,000,000,000,000,000,000 years.
Another important element about the structure of a block is the Merkle root which is the hash of all the hashes of all the transactions in that specific block.
In the context of blockchain, consensus means that two or more parties agree on the correct state of data on the system and synchronize the data on the blockchain. This means each copy of the shared ledger will have the exact same data.
Without consensus, deals and transactions fall apart and are not saved to the blockchain because they are never agreed upon. Specifically, this means that the participants cannot agree to a truth. For instance, Acme claims to have bought 500 anvils from Anvils Unlimited for $1,000 on April 10, 2018 while Anvils Unlimited claims they only received $900. If the two sides of the transaction cannot reach consensus there is no deal and nothing is added to the blockchain.
In more layman’s terms, consensus serves to help two or more parties that don’t trust each other to trust each other. How do consensus algorithms do this? They build trust between parties by establishing trust in how the data between them is handled and committed to the blockchain. If the data and how it is recorded cannot be gamed by either party or any malicious actors then the transaction parties should trust the process, each other, and the results.
Trustworthy consensus is one of the main reasons the blockchain exists. How often have you struck a deal and done your part only for the other party to fail to do theirs, to question the terms of the deal, or reneg on their responsibilities? These are the kinds of problems that blockchains and consensus solve.
That being said, there are different ways to achieve consensus. Specifically, there are different consensus algorithms. Examples of enterprise blockchain consensus algorithms include:
- Proof of Work (aka mining) which requires network users to resolve a complex mathematical puzzle with the goal to validate a transaction and create a new block
- Proof of Stake which selects the creator of the next block based on several stake related factors such wealth and age
- Practical Byzantine Fault Tolerance which achieves consensus as a result of a minimum number of other nodes in the network ratifying the new block
- Proof of Elapsed Time which is a hybrid of a random lottery and first-come-first-serve basis
- Proof of Authority which requires sign-off by a majority of designated nodes for a block to be created
As of this writing, there is no industry-wide best practice when it comes to consensus algorithms which is an issue. It’s an issue because depending on which one you choose or have to work with, you will have to deal with different sets of pros and cons.
5. Smart Contracts
Contracts, whether they are leases, mortgages, loans, or for services, have been around a long time. But when something goes wrong and one party fails to perform their part of the contract, what happens? Then you have to go back and forth with them until they come around. And if they don’t? Then you have to call an attorney or a mediator to help persuade them. At that point, you are looking at spending hours and thousands of dollars to get the other party to simply execute their half of the contract.
While traditional contracts require both parties to execute their responsibilities, smart contracts self-execute predefined actions when specific conditions associated with a given transaction are met. An easy way to understand smart contract is to view it as “programmable money.”
For example, if you are a landlord your tenants have leases. The smart contract contains key data of both parties such as the name, contact information, bank account details as well as information about the lease itself including lease amount and payment date. When a smart contract self-executes on the pre-defined lease payment date, it automatically withdraws funds from the tenant’s bank account and deposits the funds into your account. This saves you the monthly rental statements in advance, of reminding the tenant to pay, and from hounding the tenant once the late date has passed, never mind eviction notices, court dates, and attorney’s fees.
What do smart contracts have to do with the blockchain? Smart contracts are kept on the blockchain and are executed automatically when a transaction is processed. And because data on the blockchain is immutable – cannot be changed or manipulated by anyone – smart contracts, once agreed upon, should help build trust between all parties as neither side can play with the contract or its terms.