Blockchains are comprised of single blocks chained together to form a single chain or single main chain and multiple side chains.
-
Single (Main) Chain
As the name implies is a single on the main chain in the blockchain. Here, the main chain validates and processes all blocks and transactions.
-
Multi (Side) Chain
Because all transaction or requests must be verified prior to execution, it can put a tremendous overhead on the processing power of the main chain. So, there is a new technology being adopted (Ethereum already has this implemented) that allows a fork in the main chain into a side chain or child chain.
A side chain is usually defined for one specific task. There can be multiple side chains where each is performing a different task. Side chains are implemented in order to maximize transaction (keep in mind that could be requests for action) processing efficiency.
Example:
Suppose DevOps requirement is to put change management on the main chain. Side chains can be created to optimize for transactions that require monitoring and immediate response (such as approvals) and another side chain for processes that are time consuming and require team/operational coordination such as testing.
Fig 1. Main chain and side chain
In this scenario, we see that branches can be created from the main chain in the blockchain. Example, if the main chain represents the overall business objective, and the branches or side chains represent processes, business groups or divisions. A transaction in the main chain can call on processes in the side chain to be executed, validated and reported back to the main chain. This methodology can alleviate some of the overhead that can slow down the main chain.