Scalability of Blockchain
Bitcoin’s rise has introduced the world to the blockchain, the system that makes Bitcoin run. Some say that the real breakthrough is blockchain tech and not cryptocurrencies. It is impossible to gather that now but one can agree that following/discussing cryptocurrencies leads to the discussion of blockchain. Bitcoin has hit a snag, altcoins are working hard to displace Bitcoin as the number one crypto currency but all encounter the similar three problems. Three problems that Ethereum founder Vitalik Buterin describes as the Scalability Trilemma. This trilemma explains that blockchain systems can only have two of the following three: Decentralization, Scalability, and Security. The proposed solution of increasing the blocks in the Bitcoin blockchain, the belief being that increasing the blocks where the transactions are entered means more transactions in the block, has led to fierce arguments for and against. In turn, there have been forks (change in rules but still recognized by the blockchain) as well as hard forks (a hard fork occurs when a blockchain splits in two incompatible chains). Bitcoin Cash and Bitcoin Gold being the major hard forks. Ethereum has experienced a hard fork as well, Ethereum Classic and the new Ethereum being the result of the hard fork. So, it seems impossible have decentralization, scalability and security. Attempts to please the trilemma have not been achieved and those who have tried have so far failed. The good news is that there are people who are working on solutions. SegWit, side chains, shards, Plasma or subchain are just some of the solutions that are being worked on and just a few of the solutions that we will cover shortly.
Ripple claims to be the most scalable digital asset and can handle around 1,500 transactions per second, 24/7, and can scale to handle the same throughput as Visa. However, they have been able to freeze accounts, making it not decentralized and thus does not pass the Scalability trilemma. Masternode coins require investors to put up some amount of cryptocurrency as collateral, however the sums required are huge amounts thus creating a financial barrier. That high financial barrier translates to Masternode coins being centralized and losing its decentralization because only corporations would be able to meet the requirement. Then there is Proof of Stake, an alternative to Proof of Work used most notably by Bitcoin and Ethereum. Proof of Stake leads to trusting delegates or a chosen few, to take up the job of mining a block. This allows less overhead and leads to a much higher transaction throughput. Having delegates with this much power makes Proof of Stake more centralized. Tangle and Hashgraph do not have timestamps and run on a private network, respectively. Also, IOTA (who uses Tangle which is an alternative form of blockchain) has frozen funds before just like Ripple has.
Ripple, Masternode Coins and Private blockchains are centralized, thus they fail the Scalability Trilemma since they are not decentralized. The experimental algorithms like Tangle and the new concept Hashgraph sacrifice decentralization and security with the promise of increasing scalability. All these options seem like good ideas until you see that they unfortunately can only offer 2 properties of the Scalability Trilemma.
Like the options mentioned above, Segwit, side chains, Sharding, Plasma and subchains, fall short of satisfying the three needed properties or unfortunately there is no consensus in adapting each one individually into the blockchain; however, they are ingenious processes that could lead to the creation of the application that completes the trifecta. Segwit removes the transaction signatures from the transaction data and moves it to the end of a transaction and into a structure or witness field which then allows the ability to change the way block sizes are calculated. This opens the door for SegWit transactions to hold more data than allowed by the current maximum block size. This translates to an increase in block limit from 1 MB to just under 4 MB, which means around a 70% increase in transactions.
Side chains would be just like what they are called, aside from the blockchain, operating separately and work done in side chains does not directly affect the blockchain until users review and agree to update the blockchain. This means increased speed and lower fees since the majority of the transactions are occurring outside of the blockchain, in the side chains. Since a lot of the work is done in the side chains, payments are done instantly due to the blockchain not needing to spend extra time processing and verifying. You get lower fees on payments because only a small amount of on chain transactions are needed to safeguard the settlement state channels, since most of the transactions are happening in side chains without fees.
Sharding spreads the load to different servers or shards. The overall state of the blockchain is separated into different shards and each part of the state would be stored in different nodes in the network. Transactions are directed to different nodes depending on which shard or shards they affect. A shard only processes a small part of the state and does so in parallel. What’s missing is a method for the shards to communicate and also uphold a high standard of security. Also doing things in parallel can prove to be difficult because a transaction done on the blockchain can depend on any part of the previous state in the blockchain, so doing things in parallel would be challenging.
Plasma is a series of contracts that run on top of a root blockchain. It is similar to side chains in the sense that more work is done in the child blockchains (like side chains) which decreases the amount of data passed to the blockchain, allowing for larger amount of computations (transactions in side chain methodology).
Scalability is very important in blockchain, the solutions provided are only some of the possible solutions that people are constantly developing in hopes of solving the scalability dilemma in blockchain. Both decentralization and security cannot be compromised to solve scalability, as that would most likely lead to the solution being rejected or not widely accepted. It is a tough task, Vitalik Buterin believes that blockchain systems can only have 2 of the three properties. It seems like we are still not quite close to having a blockchain system that has all three properties implemented but the work being done now to reach that goal look promising.
ChainBLX will run several chains which are different and cover security, decentralization, while also helping with overall scalability. These sub-chains will run along and around the main block-chains. We don’t see any issue with running some known centralized sub-chains as trust in those institutions has to be given by nature, and cannot influence the functions of the main chain. We overcome the problem of trust as everyone who participates can by themselves duplicate and connect their own sub-chain to the main chain. We envision that larger firms and insurance companies as well as banks offering digital certificates will do so. Everyone who participates can decide which institution or side chain they trust and use. For ChainBLX, centralized sub-chains mean no private or permission based sub-chains. It means only that a centralized authority exists for those sub-chains for method of the distribution algorithm.
The ChainBLX main master blockchain is the ledger recording which has the contracts/ownership, how many they have. This chain will be decentralized and run very frequently, hence it will be very demanding on storage space and will need an increase in the number of new blocks being built.
The Contract Content blockchain, and will contain the information of what is in those digital contracts. This chain will be decentralized and will not form new blocks frequently, will also have a large block size. Hashes from the contracts will run in the master chain.
Both Chains are built in a way that sub-chains could be used with added data compression and hashed links to the main chain.
Subchain BLX-management-fund (decentralized). Makes a stake in the other chains when a new ownership is created. Also functions as back bone for hormone model to see if some nodes are forming an island (explained later on).
Subchain BLX-escrow-fund (centralized) (Buying certificates out and in). Interacts with other sub-chains, for example monetary fund for release of debt letters or acquisition of debt letters. Buys certificates in stock market and holds them and releases digital certificate in the main chain. Of course, the trust factor in the escrow fund has to be given. - Also, not only can ChainBLX make an escrow fund, other institutions can make escrow funds as well and connect them to our chains. Same is true to the money fund who exchanges debt letters.
Subchain BLX-monetary-fund (centralized) (Buying debt letters out and in the main chain). Interacts with other sub-chains, for example escrow fund for release of certificates or acquisition of debt letters.
Sub Chain BLX-derivative-builder (centralized) (buying and selling of debt letters and certificates). Interacts with other sub-chains, for example monetary fund for release of debt letters or acquisition of debt letters and escrow fund for release or acquisition of certificates.
Proposed consensus algorithm
The flowing description is a mere approximated functional laymen description of the actual functionality which we propose to implement. ChainBLX will start operation with more decentralized common used consensus algorithm and change to this decentralized decentralized algorithm at the end of 2018.
An alternative consensus algorithm to proof of work (PoW) is proposed be used for ChainBLX main Blockchain. The proposed algorithm provides a low energy cost solution as well allows for keeping the blockchain decentralized.
An integral part of the blockchain is the process of hashing. Hashing is converting an input of any length into an output of a fixed length. The same data will always covert to the same hash, however any small change to the data/input will change the hash completely; making hashing very secure. With cryptocurrencies, for example Bitcoin, transactions are converted to an input and they are submitted through a hashing algorithm (Bitcoin uses SHA-256) which then transforms the input into an output of a fixed length. To win some coins, miners need to develop a SHA-265 hash with a value less than the current target. This in turn solves the block and they receive their coins. It is critical when you are dealing with huge amount of data and transactions.
Hormone Sphere Consensus Algorithm
Every miner as other participants like (sub chain contributor) on the ChainBLX master blockchain has to buy and hold a fix amount of management fund certificates (BLX-MF) as collateral. (This is necessary as a more economical solution does not provide the deterrent of a high electricity bill)
The issuing number of the BLX-MF hold by any given mining node are hashed together. This hash gives a certain property on a sphere in with the same area, but different location. All active minors make up the entire sphere (multi-dimensional object). This is done as the size of the area is increased or decreased so that the entire sphere is covered.
Each node is also given a “trusted code” hormone which allows the node to input one vector. The hormone is hashing the vector input with the leger information and hormone ID contained in the block forming a hash which is again translated in to a vector. (All vectors are adjusted to the same length) So it is next to impossible to predict the direction of the vector based upon the input.
The addition of all submitted vectors (of a minimum number of submitted vectors) give a start and endpoint of a directional vector.
- The hashed amount of certificates exchanged not the amount of transaction (, one transaction can have hundreds or one certificate) give the sphere a rotation and associated angle.
- Each mining node than has to exchange hormones after a given number of cycles with the Node possessing the property of the opposite side of the sphere. (The constant rotation and associated angle of the sphere makes this a random redistribution of the hormones in the system.
- This proposed consensus algorithm allows a cost saving methodology of selecting nodes to add to the blockchain. As only one input per node is necessary or allowed.
- It is easy for the community to check that the calculation was done without cheating
- It levels the playing ground of computing power so that every node has equal chances to be selected.
- In the case a fork is occurring within the blockchain, the chain with the most the weighted average between vectors and certification exchanges will be the main chain and the others will be disregarded and added back to transaction to be processed.