*2.2. Off-Chain Solutions*

Most of the off-chain solutions focus on reducing the data size before the data are uploaded to blockchains [14–17]. In these solutions, blockchains work as proof repositories to ensure the integrity of off-chain data, but the problems are: (1) off-chain data cannot be retrieved through a blockchain node; (2) each node still need to store the full copy of the blocks.

Block archiver [18] is a solution used to reduce the data size of the data that has been uploaded to the blockchain and stored in the blockchain nodes by transmitting the data to an off-chain block archiver repository. It addresses the storage issue for HLF. In an organization (formed by serveral blockchain nodes) of HLF, a block archiver repository is deployed off-chain to store archived block files, a "block archiver" is deployed on the anchor/leader peer (a kind of blockchain node), and "block archiver clients" are deployed on other peers. The "block archiver" is responsible for transmitting block files from the peer's local file system to the block archiver repository, deleting local block files and notifying the "block archiver clients" to delete relevant block files from their local file systems. Fast fabric [36] also mentioned an approximate idea that storing the blocks in a distributed storage cluster. However, these solutions have not considered the method to keep the integrity of the block data after they are stored off-chain.

Our solution is proposed to address the aforementioned problems in current solutions. A remote DB server is used to store the data that has been stored in the blockchain nodes, while the off-chain stored data are still retrievable through blockchain nodes. Concise commitments are stored in each node to ensure the data integrity for the blocks, therefore the size of data that stored on blockchain nodes are extremely reduced. The concept of CU is also adopted to avoid centralization and reduce network overhead.
