Towards centralized blockchains

by Paul Arssov (disclosure: I am developing an automated cryptocurrency trading system at — arstech.biz)

1.Introduction

This article has been written from my point of view as a distributed app (Dapp) developer. It also shows the points of view of the blockchain developer and the point of view of the coin/wallet holder.

In general there are 2 groups of blockchains — the large group of decentralized by design blockchains (Bitcoin, Ethereum…) and the small group of centralized by design blockchains (Ripple,Tether…).

The article is pointing to the tendency of centralizing of the large group of decentralized by design blockchains (Bitcoin, Ethereum…) — as in having fewer copies of a specific blockchain.

Crypto node

2.From early day to present time

In the early days of crypto revolution a crypto enthusiast would start the daemon (a program running in the background) of a Bitcoin (bitcoind) or Ethereum (geth) in the beginning of the day on their desktop/notebook. The daemon would quickly download the blocks generated since the previous day and then synchronize with the network and allow use of the wallet and/or of a program using the RPC API of the blockchain.

From the point of view of a blockchain developer, by initial design every user of a private wallet of a crypto-currency has to download the whole blockchain and store it on local disk. In essence, this means everybody distrusts everybody and has to download, verify and have a copy of the blockchain for themselves.

As the sizes of major and popular blockchains did grow up, the blockchain developers did provide a mode in the daemon to store only a fraction of the blockchain (‘pruned’ mode — Bitcoin, ‘fast sync’ mode – Ehereum..), but the user still has to download the whole blockchain.

Even with the ‘fast’/’pruned’ option the amount stored on the local disk is 10s of GBs. The complete blockchain size is more than 1TB/ETH, 250GB/BTC and growing.

The situation places heavy burden on and discourages crypto-currency users who want to have their own local private wallets and/or to run a node.

From the point of view of an ordinary holder of crypto assets it is not convenient to keep downloading and storing multiple blockchains.

In order to have a private wallet for crypto assets most users already migrated to a small group of commercial wallet providers — who have and keep maintaining a single copy of a blockchain serving all of their users. While a crypto-exchange does run their trading software, most likely they use the wallet service of the same small group of commercial wallet providers.

In essence almost all crypto asset holders have their assets accessible through only few blockchain copies.

Currently a Dapp developer, like me, has to run non-stop a cloud cpu instance with the daemon of a specific blockchain in order to place calls to smart contracts and/or make transfers.

From the point of view of a Dapp developer this may be ok for a single blockchain but it is definitely not ok if the Dapp developer wants to have access to multiple different crypto blockchains.

To somewhat relieve the situation initiatives like ‘web3.js’ allow Dapp developers on Ethereum blockchain to access the chain and place calls. Most of such ‘web3.js’ developers do not concern themselves with the fact that there is an organization / a web site which has the resources to run the daemon and provide the access to Ethereum blockchain for ‘web3.js’ callers.

In essence, such Dapp calls are also placed through very few copies of the Ethereum blockchain.

3.From now on, towards the future

The tendency for centralization of decentralized by design blockchains, as shown above for the groups of crypto assets holders and Dapp developers will continue.

It is maybe a time to call blockchain developers and propose creating and maintaining of a limited number of trusted identical copies of the blockchain, or even a single copy, and have a daemon which can access already up to date and synchronized public copy of their blockchain.

What would be the benefits of centralizing , in — pro-con:

con — centralizing of the blockchain — limit the number of copies of the blockchain; place trust in a small number of blockchain copies;

pro — potential of de-centralizing of wallets; moving away from commercial wallets; mass adoption of light private wallets from ordinary users;

pro — spare the users of constant downloading and storing of the blockchain; slow down global warming, use less electricity and storage;

pro — allow potentially quick redesign, adding features and update of the whole blockchain;

read original article here