IBC design principles

IBC is a decentralized distributed sharing system based on blockchain. To achieve this complex project, we designed a specific three-in-one architecture to manage the main chain, storage chain and computing side chains, and to provide incentives for agreement in the Byzantine environment.

Three chain unity

We designed a three-chain structure with two unique properties:

main chain structure and side chain structure splits the chain by function

immutable main chain and elastic side chain addresses the scalability, throughput, and latency issues of the blockchain.The main chain maintains the transactions. Based on our experience with bitcoin and ethereum, we've kept the main chain intact.The IBC side chain is responsible for storage and computation. These two side chain functions are time-bounded, so the block does not need to store expired data indefinitely. We designed a chain-shortening algorithm that can delete unused data and save valuable block space. For the later high-speed download speed laid the foundation.

To calculate

Most popular blockchains are used for financial transactions, so their calculations simply check the records of transactions on the chain and do not require significant resources. However, IBC will support more general computing, such as database queries and map-reduce calculations. Bitcoin USES blockchain to store all transaction records in the network to reach a consensus, which requires the agreement of more than half of the active nodes. In order to guarantee the computational consensus, it is impossible to store all the computational states in the blockchain. Therefore, we use two mechanisms to ensure the correctness of the calculation

IBC overall framework

Bitcoin has received a lot of attention in the decentralized cryptocurrency ledger space since 2009. At the same time, the PoW consensus mechanism is difficult to adapt to new demands and innovations. In order to maintain the advantages of blockchain and make it lightweight, fast and extensible, we propose a new design, namely the three-chain architecture that includes two layers of blockchain (main chain and side chain). This new system makes it easier to provide cross-chain interoperability support for assets, data, and information. In addition, side chains only carry data storage and computing tasks, so technological innovation is unimpeded.

In IBC, the main chain is similar to bitcoin and ethereum in that it stores account books and asset information, such as status, transactions, receipts, and smart contracts. A main chain is good for storing small amounts of information because it is immutable. In order to support complex data structure and computing information, we proposed two side chains:

Data Side chains (Data Side Chain, DSC), based on P2P distributed file storage system and storage of information assets

Computing Side Chain (CSC), the Computing unit can read the data of the data Side Chain (DSC) and write the result to the data Side Chain (DSC). In the IBC network, the main chain is responsible for managing the overall transaction and two side chains. The data side chain (DSC) and the computing side chain (CSC) communicate with the main chain through the IBC smart contract.

IBC technical architecture

IBC's architecture draws on Plasma, TrueBit, morpheo and Golem. We designed the entire system based on economic incentives to enable miners to maximize the use of idle storage resources and to facilitate the safe storage and use of decentralized data at low cost and convenience.

Cross-link communication

let's look at communication protocols at a high level by looking at the transaction flow across the entire system between the main chain, the data side chain (DSC), and the computing side chain (CSC).

Computing side chain

in IBC, computing side chain (CSC) has a dsc-like structure, which also includes block header, transaction set, IBC network contract and data allocation through hash link. Transactions still use the Merkle tree structure.

Consensus agreement

Since space-time proofs evolved from many of its ancestors, we will start with the Provable DataPossession (PDP) and then move on to space-time proofs.

Data holding proof

in order to allow customers to store data on untrusted servers and verify whether the server stores its original data without retrieving the data, data holding proof is introduced. The model provides the first provably-secure solution for remote data checking.

    Data side     chain

data side chain (DSC) is established on P2P storage network, such as IPFS and Swarm. The data side chain (DSC) has its own token (data side chain) that can be sent back to the main chain at a defined exchange rate.

Distributed storage

in the IBC platform, the concept of distributed storage network (DSN) is introduced, which is a data network aggregation storage provided by multiple independent storage providers and self-coordinates to provide data storage and data retrieval to clients.

Proof of storage

in IBC, we have proposed novel proof of storage that allows the storage provider to prove that the data has been copied to its own unique dedicated physical storage.