Source: Cbinsights
Let’s dive a bit deeper. A blockchain’s nodes communicate with one another to exchange information through a peer-to-peer network to ensure unison on the overall state of the blockchain at any given point in time. This peer-to-peer network is crucial. Since blockchain isn’t reliant on a middleman to transfer information through the system, the nodes keep each other in check by verifying that all transactions and transaction history are valid. In a blockchain, information is stored in data structures called “blocks,” and every block is hashed together to form a chain. This is where “blockchain” comes from!
So, how does this work? This works through various protocols put into place. The “Gossip Protocol” communication method is utilized in many blockchains, where blockchain data is broadcasted from one node to another until it eventually spreads across the entire network. Through this method, blockchains ensure transparency and security; all transaction data is public and immutable, meaning it can not be changed once finalized. Without blockchain, decentralized technology would not be easy to come by. Blockchain implementation has truly revolutionized the decentralized landscape and the possibilities when it comes to storing and exchanging data, and enabling trust, transparency, and security in a multitude of industries, from finance to healthcare to supply management and beyond.
Blockchain architecture design explanation
Based on the chosen use case, the blockchain architecture can be designed and built. The main components are as follows:
Node types
- A node in blockchain is an integral part of the network. Some nodes just hold information about the blockchain while others participate in the consensus mechanism to validate transactions. There are different types of nodes available, the two most common are full nodes (nodes that store all blockchain transactions in their memory) and lightweight nodes (nodes that just store the block headers, saving a ton of time and memory).
Public or private architecture
- Bitcoin and Ethereum are public architectures, as they are open-source and decentralized. Private architectures only allow specific members to access the information. This is an important step in designing the architecture of the blockchain for the intended use case.
Storage
- It’s crucial to consider how the information will be stored over the network. Should it be the responsibility of the users or pre-selected nodes in a private system? Accessing the information back is another important factor to take into account.
Miners
- Miners are used in PoW systems and compete to incorporate blocks into the blockchain and ensure that they are valid.
Validators
- Validators are used in PoS systems that require participants to stake ETH and become an entity that validates transactions and receives rewards for securing the network.
Chain
- A chain is a string of blocks hashed together to form an immutable record of transactions.
Consensus
- Consensus is when protocol participants agree on the state of a blockchain.
The history of blockchain
It is a common misconception that blockchain was invented by the same person who created Bitcoin — the anonymous person (or regularly theorized to potentially be a group of people) named Satoshi Nakamoto, in 2008. There were several attempts to create a “decentralized cash,” such as Bit Gold, by Nicholas Szabo in 1998, and eCash, by David Chaum in 1990. These attempts at creating technology for decentralized money paved the path for Bitcoin, which in turn allowed for the popularization of a decentralized blockchain, as Bitcoin is seen as the first public, real-world application of blockchain.
Blockchain technology and its implementation became known in 2008 by Nakamoto, when they released their white paper, “Bitcoin: A Peer-to-Peer Electronic Cash System” to a cryptography mailing list. This white paper contained technologies from previous decentralized cash attempts, including a blockchain structure very similar to the previous systems with the addition of the Bitcoin proof-of-work mechanism for validating blocks and for mining coins.
After Bitcoin’s open-source code was uploaded in 2008 by Nakamoto, self-motivated software engineers around the globe helped contribute to the success of Bitcoin. This made it so the very first block of a working blockchain launched in 2009. Bitcoin organically rose to mainstream popularity from a small internet forum and some computer scientists that were interested in cryptography. The first block of the Bitcoin blockchain can explain why so many were inspired to operate and spread the word about Bitcoin. The first block, otherwise known as the “genesis block,” portrays the ethos behind the invention of blockchain and blockchain technology. In the coinbase of the genesis block was the text, “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks,” which references an article published by The Times and is interpreted as a comment on the instability that comes from money being centralized and irresponsibly handled by governments. The release of the first successful blockchain with Bitcoin inspired individuals and groups of individuals to create alternative blockchain systems with different capabilities and features, the most notable one being Ethereum.
Even though blockchain was brought to our society as an invention for enabling decentralized currency, individuals have developed an array of other uses in various alternative industries. Blockchain technology is clearly here to stay, and it will continue to improve over time.
Five steps to implement blockchain technology
Implementing blockchain technology can seem incredibly daunting, but these five essential steps will help simplify the process:
- Identify the use case, and if a blockchain is necessary or if a centralized platform makes more sense.
- Create a proof of concept.
- Choose a blockchain platform and along with this, the right consensus protocol and overall architecture.
- Develop smart contracts.
- Maintain and update the network.
In the sections below, we will dive into further details on how each step is integral to the blockchain technology integration.
Identify the use case
The first step when implementing a blockchain technology is to identify your use case. A use case in this scenario is a specific situation or problem that blockchain is able to solve in a more efficient manner than other technologies. To identify your use case, it’s important to have a proper understanding of the existing systems and processes in your organization or industry as you will need to keep an eye out for any areas that may have inefficiencies or bottlenecks that might be better solved by using blockchain technology.
Source: Bloomberg
By starting with a use case, you can ensure that your blockchain implementation is focused and addresses the issues at hand. There are a multitude of questions that can help you with this part in the process, such as:
- What pain point will blockchain solve that another technology cannot (data security and privacy, identity management, etc)?
- How will my business benefit from implementing blockchain technology?
- What are the existing processes in place and how can blockchain technology improve them?
- What type of data will be stored on the blockchain and how will it be protected?
Once the use case has been identified, then you can move on to creating a proof of concept.
Create a proof of concept
A proof of concept (PoC) is a way to verify that the use case will actually work as intended. This can be done through a prototype that nicely demonstrates using blockchain for the specific use case outlined in Step 1. A PoC is used to fully test the blockchain capabilities for the project prior to putting capital and resources towards the full-scale implementation. There are various stages that need to be met in order to create a proper PoC for any project. These include: outlining the scope, designing the technical architecture, developing the prototype, and showcasing and analyzing the finished prototype. Along these stages, there should be proper discussion and documentation of any issues or complications that arise.
The PoC is crucial for blockchain implementation as it is a small-scale way to truly test out the use case before spending the time, money, and energy investing in the full-scale project.
In order to properly set up your PoC, ask yourself the following questions:
- What are the specific features and functionalities that I want to test using this PoC?
- Could I properly scale my PoC to a full-scale implementation once it’s done, if necessary?
- While building my PoC, what limitations or complications am I facing and how can I fix them?
While creating the PoC, you will face a number of choices for your specific implementation.
Choose a blockchain platform and consensus protocol, and design the architecture
Source: Builtin
There are a variety of blockchains and types of blockchains to choose from, each with benefits and caveats, and unfortunately, one platform is not all-encompassing.
To get you started, you must pick a blockchain consensus protocol – a program with the goal of allowing a blockchain system to reach total agreement about the state of the ledger.
Consensus protocol explanation
Source: Investing.com
- 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.
Consortium
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.
These are:
- Layer-1.
- Layer-2.
- Sidechains.
- 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
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.
Layer-2
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
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.
Private 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:
- Scalability.
- Security.
- Governance.
- Ethereum Virtual Machine (EVM) compatibility.
- Decentralization.
- 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.
Ethereum Virtual Machine (EVM) compatibility is important because Ethereum is the most active in terms of users and developers, and many blockchains are forks of Ethereum with changes but maintain the ability to interact with Ethereum. Some blockchains are built differently from the ground up, meaning there is no EVM compatibility.
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
- 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.
Immutability
- 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.
Limited privacy
- 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.
Scalability
- 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
Source: Hbr.org
The immutability, transparency, traceability, and free-from-governance advantages of blockchain are also great business advantages.
Immutability ensures that blockchain transactions are secure and once the information is on the blockchain, it cannot be changed. This means that your records are permanently recorded and timestamped, with little risk of the blockchain being hacked by outsiders who want to maliciously act on the data in the network. The permanent historical record of transactions would aid an audit, as it would be incredibly easy for the business to pull up their receipts if it was stored on the blockchain.
The transparency given in blockchain is another great advantage. The transparency actually increases efficiency about the information stored in one place. This means there is faster validation and accountability for fund use, and it can help to lower general costs of conducting business when it comes to eliminating human error in supply chain situations. Traceability helps along these same lines. All transactions are available to everyone over the network and they cannot be changed, meaning there is no questioning the transactions taking place and the time it took place. Since transactions also cannot be altered, participants can track exactly what went on at any given moment.
This same line of reasoning stands for the free-from-governance advantage of blockchain. If a user wants to create a smart contract that lives and operates on a blockchain, once it is out there, it can exist for all to use.
As blockchain is a database, there are a number of great use cases for MongoDB to be integrated into any blockchain technology business. Some great examples can be viewed in our customer stories about Seracle and CNFT. There are a variety of situations where a database is necessary to store and manage data that is not part of the blockchain, and this is where MongoDB can come into play. MongoDB allows for flexibility, scalability, integration, and speed, and it can help reduce overall cost. MongoDB Atlas is especially perfect for hosting a blockchain ledger as it has flexible schema, provides enterprise-grade security, has various graph chain capabilities to query the blockchain, provides users with drivers in various popular blockchain development languages, and so much more.
There are a variety of sectors that can really benefit from implementing blockchain technology, such as supply chain management, payment processing, data improvement, and data management.
In summary
There are a number of advantages and disadvantages when it comes to implementing blockchain technology in businesses, but it is clear that the advantages outweigh the cons. Implementing blockchain technology is definitely not for every industry and company, but when done properly, it can be incredibly beneficial. As mentioned above, some pros for implementing this technology are immutability, transparency, traceability, and freedom from governance. While there are cons, depending on the business and the use case, they might not be as important when considering blockchain technology implementation.