Chain data growth issue and solutions.

Long Vuong
TomoChain
Published in
2 min readDec 28, 2018

As the number of TomoChain’s Masternodes (MN) approaching 150, the amount of chain data generated everyday is now at 5–6 GB everyday. TomoChain has hosted a massive number of transactions at 32 millions of transactions just two weeks after the mainnet’s release in which the majority is MN’ signing transactions, and around 100K are regular transactions.

Total number of transactions two weeks after mainnet’s launch

The huge no. of MN’ signing transactions is a part of POSV consensus, and TomoChain’s networking model as MNs sign every block to receive block rewards to their nodes as well as to their voters. Combined with a very fast block generation time of 2s, the signing transactions would average about 75 transactions per second, consequently generate a large amount of chain data.

POSV consensus is an important TomoChain’s innovation as it combines several techniques to ensure the chain secure, very fast, but also very decentralized as the power over the network does not just concentrate on the MNs but also on all voter/ stakers. However, it causes a very fast growth in chain data as experienced by MN operators. We are researching and working on several solutions to address this issue. In order of priority, they are:

  • Use bitmap technique for data compression in combination with MN signing transaction bundling. For example: MN will create a signing transaction on every 10 blocks instead of on every block. This technique can reduce the size of signing transaction data by 10 times to an average of 7.5 tps with the current 2 seconds block time.
  • Isolate MN’s signing transaction to an independent chain databases separate from the mainchain.
  • Blocktime adjustment to 3s will lead to 50 percent reduction in the size of MN’s signing transaction data per second, and give more room for peer synchronization.

We are also looking into the issue of peer synchronization of the last 1000 blocks. The solution to reduce the size of MN signing transaction will solve this issue as it reduces the intensive input-output activities when syncing the chain. Furthermore, the minimum requirement of TOMO for staking will be considered to increase to a more meaningful number of, e.g. 1000 Tomo. The final solution could be a combination of these techniques. We are actively working on a final solution, and will release an update when it is ready in the next 1–2 months.

On a final note, since TomoChain’s designed to be a secure but fast, and performant blockchain, MN operators are expected to host 1–2 GB of new chain data every day in the medium term. This should be taken into account for MN’s operation, expenses and technical preparation such as mounting more storages into MNs as needed.

--

--

Long Vuong
TomoChain

I follow a big vision to build products that impact millions of people. Currently at tomochain.com