BUMO is a next-generation commercial-grade public Blockchain for ubiquitous and trusted value transfer, which is aimed to build a decentralized application ecosystem featured with extensive digital trust, free-flowing value and public-sharing apps.
Introducing Bumo Blockchain
The main features which adds to their USP are:
- Joint Account creation by incorporating “individual account weightage”
- Using the Merkle-Patricia Trie to help store data in an efficient manner
- A “Trailer” system which differentiates data into on-chain and off-chain data
- Orbit architecture which helps create BUMO’s 2-layer multiform architecture
- A 2-layer multi-chain consensus system which is going to scale them up to 10,000 transactions per second
- The “Canal” system which helps with interoperability
- Developer friendly tools to create smart contract
- Allowing developers to build apps without creating a smart contract
In this guide, we are going to look into some of the main properties of Bumo and see how they are going to improve the overall crypto ecosystem. So, before we go in any further, let’s look into these problems and see how they are affecting the crypto ecosystem.
The Problems With The Crypto Ecosystem
It goes without saying that the two biggest problems faced by the crypto ecosystem right now are scalability and interoperability.
Problem #1: Scalability
We have talked about blockchain’s scalability problem multiple times before.
To keep it very simple, cryptocurrencies like Bitcoin’s and Ethereum‘s architecture was simply not designed to handle high levels of popularity and adoption. There are two factors which hamper the overall transaction throughput.
Firstly, transactions only go through when miners themselves check for verification and put the transaction details in the blocks that they have mined. As you can imagine, this creates a bottleneck since there are only so many transactions that a miner can deal with at a time.
Secondly, the blocks in the bitcoin blockchain have a predetermined block limit of 1 MB. So, there is only so much data that you can fit inside a block. Ethereum on the other hand, may not have a size limit, however, they do have a 6.7 million gas limit per block.
So, let’s look at what we have here:
- Your transaction will have to wait in a queue before it can get in
- Chances are that the block may get filled even before the miner even acknowledges your transaction
- If that happens, then your transaction will have to wait till the next block gets mined, which is 10 mins in Bitcoin and 15 seconds in Ethereum.
It won’t be a stretch to say that for cryptocurrencies to gain further mainstream adoption, the scalability problem needs to be fixed.
Problem #2: Interoperability
Let’s look at the current ecosystem. In the cryptosphere, we have different crypto coins such as Bitcoin, Ethereum, Litecoin etc. The problem lies in the fact that it is extremely difficult for these individual entities to communicate with one another. It is tough for bitcoin to know what is going on in Ethereum and vice-versa
This is why, the crypto exchanges, which provides a portal between different cryptos become so powerful and important. However, there in itself lies a problem. Exchanges are not a decentralized entity and are extremely vulnerable.
- They can get hacked.
- They can blackout for long periods for system upgradation. This is basically what happened to Binance back in February 8 2018, which stalled their services completely.
However, another reason why interoperability becomes desirable is that it is necessary for the mainstream adoption of the blockchain. For blockchains to succeed, they must be able to interact with legacy systems like financial institutions etc. As of now, it is extremely hard for the crypto-world and legacy-world to interact with one another.
It is not for nothing that interoperability has been called “The Holy Grail of Blockchain.”
In a decentralized future where there are multiple entities running on blockchains, having an interoperable ecosystem is critical. Imagine a hospital which has its medical records on its blockchain interacting with the social security blockchain to validate the identity of a patient automatically.
Plus, there is another area where this miscommunication between the legacy world and the crypto world can lead to a disastrous result: ICOs.
In ICOs, an entity gets millions of dollars in exchange for their tokens, however, saving that money in their bank accounts can become difficult. The banks would obviously want to know where all that money came from and who were the ones who provided that money which is something that is near impossible to provide.
This is why interoperability is another area that needs to be worked upon.
Problem #3: Application Complications
There is another problem which needs to be fixed asap.
Most blockchain projects out there tend to be way too complicated for their own good. The fact is that the complexity of the data operations in the ledger is directly proportional to how much it gets adopted by big industries.
In other words, simpler the operations within a ledger, more the adoption and usage by big industries.
So, now that we have familiarized ourselves with the 3 main problems that Bumo is looking to fix, let’s understand what it really is.
Bumo – An Introduction
BUMO is a next-gen commercial public blockchain. The BUMO team is aiming to create a decentralized application ecosystem which will employ DPoS+BFT consensus algorithm for two-layer multiple chains, which is supposed to streamline transaction processing. BUMO is also planning to bridge different main chains through an inter-chain. The system will be able to connect both homogeneous and heterogeneous blockchains.
The following is the BUMO team:
Let’s get familiar with the three co-founders and their Chief Scientist:
Steven Li: Steven Li is in charge of the daily operations. He has a degree in Physics from the Department of Technical Physics, of the Peking University and an MBA degree from the Peking University Guanghua College.
Steven Guo: He is in charge of the application ecosystem, global community, and investment. As a forerunner who put blockchain into practice and an investor of the industry, he used to be the vice president of 21Vianet Group in charge of strategic innovation.
John Zhao: Being an expert of blockchain and other related technologies, he observes the general performance of the blockchain. He is well versed in the principles and utilities of mainstream blockchains such as Bitcoin, Ethereum and Hyperledger
Yuliang Zheng: Yuliang Zheng is the Chief Scientist of BUMO. He is best known for inventing the Signcryption cryptographic primitive that combines the digital signature and encryption operations into one single step. He also invented the HAVAL hash function, SPEED cipher, and STRANDOM pseudo-random number generator.
BUMO’s ledger structure is called “BU Bambook”. There is a lot of things that are going on with BUMO. We are going to differentiate these features into:
- Ones that will help with scalability
- Ones that will help with interoperability
The features that we will be focussing on for the scalability features are:
- The Multisig Account
- Merkle Patricia Trie
- The Trailer System for Large Scale Data
- BUMO Firework: The 2 Layer Multi Chain Consensus System
- Orbit Architecture
When you create a multisig account in the Bambook ledger system, there is a feature that you should be aware of called “account weightage”. Multisig account can be opened and controlled by multiple parties at the same time. Eg. if a company wants to open an account on the BUMO blockchain, they would want it to be a multisig account.
Having said that, there is something that one must consider in a multisig account. Suppose Alice (Address A), Bob (Address B), and Charlie (Address C) own a company and they have opened an account on the BUMO blockchain. If Alice is the CEO, then it makes sense as to why her approval should count more than Bob’s and Charlie’s individually. In other words, Alice should have more weightage than the other two.
Keep that in mind, and check out this following diagram:
In the diagram above, Alice, Bob, and Charlie have created their account. Their combined weightage should be above an operation threshold value. If it is less than that, then the operation is rejected.
These systematically planned out account creation tactics will help the BUMO system get more widespread adoption from big companies.
Merkle Patricia Trie
The Merkle Patricia Trie combines the capabilities of the Merkle Tree and the Patricia Tree to effectively store data. Let’s take a look at how the Merkle Tree looks like:
Blockgeeks Verified Blockchain Developer. This fully comprehensive exam ensures that students have both the technical skills and theoretical understanding essential for a successful career in blockchain development.” width=”802″ height=”511″ />
Image Courtesy: Wikipedia
In a Merkle tree, each non-leaf node is the hash of the values of their child nodes.
So, how exactly are Merkle trees helpful in data storage?
Each block contains thousands and thousands of transactions. It will be very time inefficient to store all the data inside each block as a series. Doing so will make finding any particular transaction extremely cumbersome and time-consuming. If you use a Merkle tree, however, you will greatly cut down the time required to find out whether a particular transaction belongs in that block or not.
On the other hand, Patricia stands for “Practical Algorithm To Retrieve Information Coded In Alphanumeric”. A Patricia tree is a binary radix tree with a binary choice at each node when traversing the tree. In simpler words, it helps reduce the depth of the ledger tree and increase the balance of the tree.
Trailer System for Large Scale Data
The need for blockchain to store heavier and complex form of data is becoming more and more important. This is why bringing in a “differential storage mechanism” called “Trailer”. According to the characteristics of the data, the Trailer system will differentiate the data into:
- Off-chain data: Data that is stored off the blockchain
- On-chain data: Data that is stored on the blockchain
Taking inspiration from Google Spanner, BUMP has built a dedicated distributed storage engine database for all its on-chain data called ChainDB. ChainDB is based on TiDB technology which is an open-sourced, distributed HTAP (Hybrid Transactional and Analytical Processing). ChainDB has the following functions:
- A horizontal expansion, so that new nodes can be easily added without stopping terminal services.
- High availability so that the system recovers quickly in case of a failure
- Enables distributed transaction.
BUMO utilizes traditional storage technologies like IPFS for off-chain data storage. Advantages of the off-chain storage engine are:
- Since the data is stored off-chain, the kind of data that can be stored is diverse in nature.
- The burden on the blockchain is greatly reduced because instead of storing all this bulky data, they need to just store a hash
- Reduces the hardware costs because the strain on the nodes will be much lesser
- The off-chain data storage can be easily expanded over time.
BUMO Firework: The 2 Layer Multi Chain Consensus System
Having a trustless consensus algorithm, which is Byzantine fault tolerant is the backbone of a cryptocurrency project. Bitcoin, as of right now, is using the Proof of Work (POW) consensus mechanism, while Ethereum eventually wants to move onto Proof Of Stake via the Casper protocol.
The problem with POW and POS as they stand is that since the consensus requires a supermajority approval from all the nodes that are in the system, which doesn’t really aid in scalability at all.
This is the reason why, recent cryptos such as NEO, EOS, and Cardano have used leader-based consensus mechanism, where few chosen validators are selected from all the nodes and they are responsible for the overall consensus of the system.
BUMO has chosen this path by creating a two-layer multi-chain consensus algorithm, which generates a set of validation nodes for the main chain by voting according to the DPoS, and then generates blocks by the selected validation nodes through the improved BFT algorithm, thereby achieving higher transaction throughput, scalability, and security. They are calling this the “BU Firework”.
So, we have said that it is a two-layer system where:
- The first layer is the mainchain consensus: users select a validation node set for the mainchain by voting per the DPoS protocol, and then blocks are generated by the improved BFT algorithm. The validation nodes in the mainchain are full nodes and can participate in any sub-chain consensus validation.
- The second layer is the sub-chain consensus: the blocks on the sub-chain are generated periodically by Proposers, and the block header is submitted to the mainchain for validation consensus. The validation nodes on the subchain are a subset of the validation nodes on the mainchain. Based on the VRF (Verifiable Random Function) algorithm, the validation nodes are randomly generated and dynamically changed, and are highly resistant to attacks.
The following diagram shows you a visual representation of how this two-layer consensus mechanism works:
Let’s go through all the steps that are involved in Firework briefly. Up first we have the election process.
- Firstly, the election takes place. BUMO implements the voting process of the validation nodes based on a smart contract labeled the “voting contract”, and the user participates in the voting process by sending a transaction to trigger the contract.
- Any individual or organization capable of operating and maintaining nodes on the blockchain can apply to become a candidate for the validation node by transferring BU deposit to the voting contract. The contract records the candidate’s account address, and once it becomes a validation node, the corresponding block incentive will be assigned to the account.
- When validators are elected, they vote on various proposals. If the proposal gets a 2/3rd supermajority then it is considered to be a successful proposal.
Now, what happens if one of these nodes turn out to be corrupt? Suppose one of these validation nodes is guilty of conducting malicious operations or are just inefficient in general. In this case, the other nodes can initiate an “abolition of malicious node”.
- A node is classified as inefficient if its block generation rate is lower than the threshold (such as 10%) in a certain time interval
- A node is classified as malicious if it is purposefully acting in a Byzantine manner.
A transaction is added to the blockchain only when it fulfills the following conditions:
- The transaction has not been given to the node before
- The parameters within which the transaction is defined is legal
- The transaction fees assigned is enough to cover everything
- There space left in the cache queue within which the transaction will be placed
You can get more details of the Firework protocol right here.
The advantage of the modified BFT of the Firework protocol is that:
- The right to generate blocks is more evenly distributed among the nodes to avoid centralization
- The state of the nodes at the end of each round is stable so there is no need to add a checkpoint process and add more complications
- The size of the cache queue is dynamically adjusted to the size of the overall network
- Improved success rate of message delivery and chances of node availability.
A total number of 500 million BUMO tokens are awarded to BUMO blocks. Initially 8 BUMO tokens are rewarded for the discovery of a block. After that, the reward will be reduced by 1/4th every 5 years. Theoretically, the total number of BUMO will be over in the next 360 years.
The current single chain concept is extremely outdated for various reasons.
Dapps Are Becoming More Complicated
Firstly, with increased adoption, storage efficiency has become a legit reason for concern. Dapps are becoming more and more complicated. Because of this, the blockchain structure that we have right now has simply not evolved enough to deal with these high-level Dapps.
Remember the entire Cryptokitties fiasco?
Cryptokitties was a popular game where you bred and raised digital cats on the blockchain. The game became so popular, that it actually clogged up the entire blockchain. In fact, check out this graph below:
The blockchain got so clogged up that it delayed all transaction. It even delayed the launch of an ICO.
Diversity of Data
More and more interesting blockchain use-cases have been coming over the last couple of years. While that is indeed pretty exciting, the truth is that the blockchain, as we know it, just isn’t ready to take up such diverse kinds of data.
Possible Scalability Techniques?
The two most popular scalability techniques that Bitcoin and Ethereum are looking at are:
Layer 2 solutions certainly do increase the transaction throughput, however, they do not address state scalability issues. Sharding has promise, but according to Ethereum, it is still a long time away from full implementation.
This is why BUMO is utilizing a “Two-layer Polymorphic Architecture for Multi-child Blockchain” structure to address all future scalability needs.
The multi-child blockchain system is featured with a two-layer multiform structure, in which “two-layer” means the main chain and child chains; and “multiform” means the different technical features among the main chain and child chains.
This design is called the “Orbit Architecture” which you can see in the diagram below.
Orbit is divided into:
- Main Chain
- Child Chain
Up first we have the Main Chain. There will be only one main chain in the BUMO system which will be in charge of the overall maintenance of the ecosystem. It will be responsible for selecting the validators of the sub chain, sub chain block proposers, storing the final state of the sub chain. It includes two types of nodes, the normal nodes, and the validator nodes.
The validator nodes itself are divided between super validation nodes and ordinary validation nodes. The super validation nodes need to download the information and take part in each and every sub chains. The ordinary validators, on the other hand, can cherry pick the sub-chains that they want to download and govern.
The next part is the Child Chain. It could be either a single sub chain or a collection of sub chains. The child chain can be designed in accordance with the needs of a business who are developing on top of the BUMO chain. They may follow the architecture of the main BUMO chain OR they may have their own set of rules and block limits to fulfill their needs.
Think of the main chain as the roots and stem of a tree which these child chains are the branches that are sprouting out of the stem.
Because of the expanding nature of the sub chains, BUMO can theoretically scale much more efficiently than the other projects.
The overall structure looks like this:
BUMO brings in interoperability by the implementation of the Canal system. Before we begin, take a look at the following diagram:
Canal consists of two layers:
- Main chains
- Cross chains
Mainchain consists of collection nodes and validation nodes. Validation nodes are in charge of providing high-level consensus for the cross-chain. After a block of the cross chain is validated, the data of its blockhead gets stored on the main chain.
Think of cross chains as routers in the traditional network system. They route the data from different blockchains to the target blockchain. They translate the protocol and also make sure that cross-chain load and attack is prevented.
The main chain carries several cross chains. So, how does the main chain communicate with the cross chains and how do these cross chains communicate with each other?
For that, we need to look into Canal Interchain Communication Protocol or CIC. The layers of CIC are as follows:
Layer #1 is Contract Services which is divided into inter-chain contract and intra-chain contract. These define cross-chain communication and intra-chain communication service contracts.
Layer #2 is a light verification. This is a lightweight verification which proves to the fact that a cross-chain transaction actually exists.
Layer #3 is the transaction itself.
Layer #4 is the actual time log of the transaction.
The main participants of the CIC are as follows:
- The Client
- Cross-Chain Validator
- MainChain Validator
- Collector Node who will offer routing services
So, how will CIC actually work? Consider the following steps:
- First the sender will create a cross-chain transaction contract in the sending chain which stipulates various conditions for contract execution and cancellations. They have to also show the proof of prove successful execution from the destination chain.
- The sending chain sends the transaction to the collector node of the main chain. The collector also gets a lightweight transaction validation which they can check to see the validity of the transaction.
- The collector starts the routing process by splitting the transaction into two parts. The transaction from the sender to the main chain and then the transaction from the main chain to the destination chain.
- The destination chain validates the transaction and sends a confirmation message to the main chain. The collector checks the message and enters it into the blockchain.
BUMO Smart Contract Development
Being a smart contract development platform, BUMO aims to give their developers the best possible tools to help them get started. For a smart contract platform, the ideal way to get gain recognition fast is to create as developer-friendly tools as possible. Let’s see how BUMO manages to achieve that task.
Smart contracts in BUMO have the following properties:
- Turing complete which means that given enough resources the contract will be able to solve any problem
- Fast deployment
- Flexible calls
- Reliable execution of the contracts
Smart contracts in BUMO get executed in a virtual machine called the BuVM. The BuVM offers the following properties which lays the framework for their “Eco Friendly Smart Contracts”.
- Enables better smart contract performance
- Increases the security of the smart contracts
- Enables multi-language support for smart contracts
- Create a developer-friendly environment
The overall framework of BUMO’s smart contract system looks like this:
So, the components of the framework are as follows:
- Bambook: The ledger system in BUMO
- BuOracle: Provides an oracle mechanism to trigger contract callback
- BuDAPP: Dapps in the BUMO system achieves rich business logic by the combination of DApp deployment and BUMO smart contracts
- BuVM: The BUMO virtual machine
One of the most alluring features of BUMO is how friendly it is for traditional app developers. This is mainly because of the following features:
- The richness of its native APIs
- Websocket-like features which checks the transaction status
- Empowering users to manage tokens without the need of a smart contract
Let’s expand on that last point because that is what makes BUMO pretty unique. To put it simply, BUMO allows developers to create an app without the need of creating a smart contract. Click here to see an example of how one can do token management in BUMO without a smart contract.
Usually in other smart contract platforms, one of the biggest problems is the barrier for entry. Developers need to learn a new language (like solidity) and create smart contracts which will be airtight and not susceptible to any hacks or bugs. By using this “contract-less app” feature, BUMO is going to instantly get a lot of developers developing on their platform.
BUMO vs Other Smart Contract Platforms
Let’s compare BUMO with some other popular smart contract platforms.
So, there you have it.
BUMO is bringing a lot of interesting features into the crypto space. The team has committed itself to blockchain innovation to present real solutions to some of the biggest problems in the crypto space.
If you want to educate yourself with more technical details, then check out their website here.