- A consensus protocol is a method that is utilized to gain trust, security, and agreement when dealing with a decentralized network. They help a decentralized network come to “consensus” when agreeing on the state of the blockchain and move forward in agreement. There are a number of ways to achieve consensus, and different consensus mechanisms operate on various principles. The two most popular consensus protocols are proof of work (PoW) and proof of stake (PoS). Others include proof of authority (“private” or “permissioned”) and consortium (also known as “federated” or “semi-private”).
Proof of work (PoW)
The proof of work (PoW) consensus mechanism is what Bitcoin was built on and is the first consensus protocol that was successful in running a decentralized system. The PoW consensus protocol works by using various machines to compute very difficult mathematical problems. It self-adjusts so the problem is only solved approximately every 10 minutes, becoming harder when more machines join. In the same way, every 10 minutes when the problem is solved, a block reward in cryptocurrency is given to the miner that solved the problem. This is why in the beginning, Bitcoin was able to be mined on normal sized computers, whereas now, people have Bitcoin farms with expensive equipment. This process allows for transactions to be validated, and this process of mining is how new blocks are added to the blockchain. PoW is incredibly secure as long as more than half the nodes are honest. It is difficult and counterproductive to attack the system with a 51% attack and manipulate the blockchain. The computational power required would be immense, and the incentives are skewed because the cryptocurrency becomes worthless if it is found to be manipulated.
Proof of stake (PoS)
The proof of stake consensus mechanism evolved as a low-cost and low-energy alternative to the proof of work consensus protocol. Blockchains such as Polygon, Solana, and now Ethereum operate under a PoS (Ethereum switched from PoW to PoS on Sept 15th, 2022). The way PoS works is much different from PoW, where instead of miners validating transactions, the job is done by virtual entities living on Ethereum called “validators.” Then, the blocks are pushed onto the blockchain.
There is no hardware or physical machine required to have a validator, so how do people run validators? This is where the “stake” in PoS comes in. Participants must stake 32 ETH to create a validator, and if they are caught doing any malicious behavior will lose their staked amount. Another difference is in block proposals, PoW miners compete using computer power, but in PoS, a validator is chosen to propose a block into the blockchain. Staked validators also accrue rewards in ETH for securing the network. This creates incentives for validators to be honest. Although it is more energy-efficient, concerns about centralization arise because of how participation is limited to people with a large amount of cryptocurrency to stake. The creation of new cryptocurrency through staking will also go to them.
Proof of authority (“private” or “permissioned”)
This type of blockchain secures itself by using identity. Every node is pre-selected to verify transactions, and the identity of these nodes are known. In case of any wrongdoing, a node can be held accountable for its actions. Because there is a smaller set of nodes and users required to come to consensus, this blockchain can be fast and easily scalable. Private blockchains are used by large corporations to complement financial transactions, supply chain traceability, and authenticity. Research shows that 81 out of the 100 top companies are using or developing systems to put blockchain to use.
This is similar to a hybrid blockchain between public and private and features both. In a consortium blockchain, multiple organizational members collaborate on a decentralized network. Pre-selected nodes control the network and can be a group of multiple institutions, each with its own blockchain. An example of a consortium blockchain is Ripple facilitating inter-bank transactions.
These are just some of the most used blockchain platforms available. Each one has its benefits, drawbacks, and ideal uses that depend on the use case. Factors you should consider when choosing a blockchain include transaction throughput needed, Ethereum Virtual Machine (EVM) compatibility, importance of decentralization, cost to run on each platform, scalability, security, governance model, existing decentralized apps (dApps) on that blockchain, community support, and developer support.
For those who may not be aware, the Ethereum Virtual Machine is a runtime environment that performs smart contracts on the Ethereum network. It provides a way to execute code, ensuring the contracts behave consistently across every network node. Figuring out which blockchain platform is needed early on will save you a lot of time and headaches in the long run.
Some questions to ask yourself during this step to pick the platform best suited for your needs are:
- Are you focusing on a public or private use case?
- How many users are you anticipating on your network, and how many transactions will come from them?
- Do you need centralized or decentralized control on your platform?
There are also ways to incorporate blockchain as a service from companies like Amazon Web Services, Microsoft Azure, and Oracle, where the infrastructure costs and development times can be cut down substantially.
Picking the proper blockchain platform is crucial for the success of how well the implementation works with the use case at hand. This decision should take a lot of time and consideration to ensure the platform picked meets all the anticipated needs.
Developers and the blockchain
When it comes to building on top of a blockchain platform (not creating the actual platform), developers need to make the important decision of which chain to build their applications on. Various layers of the blockchain offer different degrees of security, stability, flexibility, etc.
- Private chains.
There are various pros and cons to each of the base chain options, and it’s important for developers to pick the base chain that aligns properly with their overall business goals.
Layer-1 just refers to the base layer of the actual blockchain network. So this is the layer which includes the overall structure, our consensus mechanism, and our protocol. They are extremely secure and for the most part, have slower transaction times compared to higher up or even off-chain solutions.
These are built on top of layer-1 blockchains as a way to enhance different functionalities, such as scalability. This is done by processing transactions off-chain, which in turn reduces the amount of work necessary for layer-1 nodes.
Sidechains are completely separate blockchains that connect to our layer-1 or base chain but are independent. They can have their own structure and consensus protocols, and can even execute their own smart contracts. They are used to offload some of the traffic from main chains.
These private chains are not connected to the base chain the way sidechains are. They are most commonly used for enterprise operations and are meant to be more scalable and customizable than the base chain. They are used to help build custom applications with various requirements like privacy and high performance.
Develop the smart contracts
A smart contract is a program that interacts with the blockchain network. Smart contracts are programmable and can automate predetermined processes that are agreed upon without needing anyone to manually submit them. Smart contracts also allow for the creation of decentralized apps (dApps) and automated market makers (AMM), also known as decentralized exchanges. Smart contracts enable participants to interact with dApps and exchange tokens and do so much more without any necessary middleman. Smart contracts can also be used to trigger other smart contracts, allowing for systems where multiple wallets can be created, used, or send transactions at the same time.
Smart contracts are great for a number of different industries, such as supply chain management, real estate, and even insurance. Some benefits are that they are fast, efficient and follow directions: Once the condition is met, the smart contract is immediately executed. One must be wary when using smart contracts, though. The added benefit of no middlemen required to operate also brings a drawback when we consider possible code vulnerabilities. Since the blockchain is immutable, once a smart contract is published, there is no changing the code in the contract. Vulnerabilities are how hacks happen and protocols lose millions of dollars, but it is expected that in a decentralized ecosystem, all security vulnerabilities will be taken advantage of. We must learn from the previous mistakes of others to create a lasting system for the future. If your protocol involves using large amounts of funds, you should get it heavily audited before going live.
Maintain and update the network
It is crucial to keep the network up to date. If there are updates to the blockchain that you forked from, you will want to implement those changes if it makes sense. This means keeping up with the main blockchain, scaling when necessary, paying careful attention to ensure the implementation is secure, ensuring that nodes are running, and ensuring the consensus protocol used is up to date.
Considerations implementing blockchain technology
There are various considerations when implementing blockchain technology into any organization. Some of these are:
- Ethereum Virtual Machine (EVM) compatibility.
- Existing dApps on that blockchain.
- Integration with other systems.
- Legal compliance.
- Community adoption.
- Developer adoption.
Just like with any adoption of new technology, incorporating blockchain tech into a business is a major change and should not be taken lightly. There are a number of considerations to go over when adopting this change.
One of the biggest is a blockchain’s ability to scale. Some blockchains scale much better than others, and transaction fees differ from blockchain to blockchain. If a business would like a flurry of new users and transactions to happen for them, a low-fee blockchain with high throughput might encourage more people to participate and make the experience better for them.
Security should always be a consideration, especially if a business is planning to store sensitive data on its network. Many blockchains provide transaction data as public information, so if you do not want information to be public, then you should consider using a private blockchain or not using a blockchain at all. While blockchain technology is normally implemented and is seen as incredibly secure, it’s important to maintain the network properly and regularly to ensure that it stays safe from any sorts of attacks.
Security ties into our next point, governance. It is extremely important to decide how to update the blockchain once implemented. In some cases, the nodes can vote on updates and undergo a soft-fork.
Decentralization is hard to maintain and secure because it requires many participants and for most of the nodes. If there are only a few nodes, it is not really decentralized, making it difficult to actually have a decentralized blockchain run. You might find that a private blockchain can be easier to run and operate.
Existing dApps on the blockchain (Uniswap, Golem, MakerDAO, etc.) are something to consider when you are implementing blockchain technology. The presence and increasing number of other dApps on a blockchain is a good sign that developer and community activity is increasing.
A big pain point with blockchain technology is that it can be very difficult to integrate with already existing systems. The heart of this issue is the fact that blockchain technology isn’t an industry standard, meaning many of the other necessary technologies that exist may not integrate seamlessly with a blockchain. Prior to integrating a blockchain into a corporation it is necessary to take integration into account.
Legal compliance and customer adoption are some other factors to consider. Since, as mentioned above, blockchain technology isn’t yet standardized, there may be legal requirements that a businesses blockchain technology needs to properly comply with, especially if the industry this technology is used in has patient information or important financial transactions. Prior to implementation, this is something that needs to be thought about.
Community adoption of a blockchain is an important factor to consider. A business cannot properly run without customers and the consideration of how customers will interact with the network. One can see how active the community is through transactions, the number of individual wallets, and daily active users in dApps.
Developer adoption of a blockchain is also important. If there are no developers who are building or can build on your blockchain, you should reconsider using that blockchain because developers are important in ensuring the success of a blockchain. If developers stop building on that blockchain, then it is likely that users will go to another blockchain where the new dApps are, and the blockchain will be obsolete. For blockchains that are internally used, community adoption can be ignored.
As blockchain technology is a complicated and currently niche area, finding the right people with the proper knowledge and expertise to implement this technology can also be a challenge. It can also be a very time-consuming and expensive process, so ensuring businesses have proper funding is crucial prior to attempting implementation.
What are the main features of blockchain technology?
The main features that blockchain technology enable are:
- Decentralization is so incredibly important because the decentralized blockchain ensures that no individual has the power to conduct decisions or control over the entire group. Blockchain networks allow for distributed decision-making and permissionless use. This also means anyone can use a decentralized blockchain, participants are in full control of their transactions and actions, and they do not need permission from a centralized authority to use it.
- Blockchain is immutable because once information is stored in a blockchain ledger, it is unable to be changed. The primary benefit of immutability is that there is increased transparency in the network. This means that a blockchain stays a reliable and permanent historical record of all transactions taken place over the network and can be referenced for the validation of new blocks.
- This can be seen as an advantage or a disadvantage. Since all transactions take place over the network and all participants can view the transactions, there is very limited privacy in a blockchain network.
- As mentioned throughout this article, scalability in blockchain technology is hugely talked about. It is commonly measured in terms of transactions per second (TPS). Scalability is a huge bottleneck in some blockchains and should be carefully considered prior to implementing blockchain technology in a business.
Drawbacks to blockchain technology
There are a handful of drawbacks to utilizing blockchain technology, some of which are:
- Speed and performance.
- Costly implementation.
- Blockchain immutability.
- Code compatibility.
Compared with traditional databases, blockchains require consensus protocols in order to add more information onto the blockchain. Nodes store the information and are called upon to verify it prior to a new block being added to the blockchain. The added security a decentralized blockchain needs to secure itself leads to its drawback in slowness of transactions per second.
The attractiveness of block rewards has led to incentivization for mining farms, which causes concerns with energy consumption. Many believe the tradeoff between spending energy to have a secure decentralized currency is worth it, but the media and news sources are quick to point out that PoW blockchains are known to not be energy-efficient. According to the White House, “...the total global electricity usage for crypto-assets…exceeds the total annual electricity usage of many individual countries, such as Argentina or Australia”.
Employee compensation is something to take into consideration. The knowledge and hardcore engineering backgrounds that are necessary to implement something as niche as blockchain will not come cheap. Another downside is that once information is stored in the network, it cannot be changed, so smart contracts should be heavily audited before being put to use with large amounts of money. This means that if a mistake happens, there is no customer service to call as the blockchain runs autonomously. Lastly, most blockchains are not readily compatible to utilize any programming language. The Bitcoin blockchain was coded in a language of its own for its own purpose, and while Ethereum uses Solidity to allow for greater use in dApps, the most common programming languages today are left out of the blockchain.
Advantages of blockchain for business