This is the third article and it uncovers capabilities of the Giant blockchain. In particular, it considers one useful feature of the ecosystem, which is the destruction of smart contracts. The article also reviews the situation in Ethereum. In 2018, the network exceeded the limit of 1 TB. What is the risk?
You probably know how consensus is achieved in Ethereum. All the nodes in the network perform calculations (verify the transaction or the execution of a smart contract code). If most of them have agreed on a particular operation (transaction), then the consensus is reached. During the formation of Ethereum, it had no problems. But now this platform is very popular and the number of transactions is constantly growing. Overall, this is great, but with the growth of the number of transactions, the number of calculations increases significantly and it seriously accelerates the growth of data volume.
The popularity of Buterin's creation also came thanks to the numerous ICOs, which are carried out with the help of Ethereum smart contracts. As a result of this, the number of nodes in the network has greatly increased. Among all the blockchains, Ethereum contains the largest number of tokens. In May 2017, the network consisted of 25 thousand nodes. The following month, the figure has increased by 80%. In June 2017, the Ethereum blockchain occupied only 180 GB. However, at the moment, its size is more than 1 TB1!
The main issue of Ethereum is inflated blockchain. And its current size is not the limit. However, Buterin and Simonsson, a former developer of the platform, said that there is no cause for concern. But is it really so?
Ethereum blockchain is growing at an insane rate. This threatens the operation of full archive nodes responsible for storing and synchronizing transactions. Back in 2017, miners began to report that the nodes that worked with Geth 1.8.1 and 1.8.2 versions could not complete the synchronization process with the Ethereum blockchain. At the same time, users mentioned the backlog of nodes by as many as 65 blocks from the current state of the network2. In addition, the update was constant.
The reason may lie in the size of the data and in the network bandwidth which does not allow to download the required information on time. But, apparently, the "guilty one" here is not a huge amount of data but the unlimited size of the block which is restricted only by the maximum amount of Gas that must be paid for all transactions in the block. Besides, the total amount of Gas increases over time. In theory, if you create a transaction that consumes the entire amount of Gas available on the network, the maximum limit of Gas will be increased3. Therefore, in the future, the size of the block will also show growth, and this might cause a threat to the decentralization of the network. Also, its unregulated growth will cause such a situation where full nodes would not be able to synchronize with the blockchain because they would not be able to handle its load. As a result, the number of full nodes will decrease.
The developers themselves consider ETH not just an ordinary cryptocurrency. The development of DApps based on the ETH platform plays a crucial role. But in order not to stop the development of DApps, the scalability problem should be solved. How could they do it? They consider an increase of the block size and the application of different altcoins as a solution. Also, sharding could be an option.
To increase the block size? This solution can have a positive impact on the network performance, but it also could bring a number of issues:
The second option — the use of altcoins — also has some drawbacks. Replacing one blockchain for other 10-20 parallel ones will decrease the level of security. It won't be a problem to take over 51% of the network.
As for the sharding: probably, the network of several nodes that verify data (splitting data into parts) is a decent solution, but usually, the method is not taken seriously.
Simonsson claims that the Ethereum blockchain has reached the peak of computing power so the fees have increased and that the same thing happened with Bitcoin4. But you cannot compare these two systems. They are completely different.
After the introduction of PoS, the Ethereum network will consist of nodes. This can be expected in 2019-2020. However, the problem of centralization should not be ignored. Unlike in Ethereum, the block size in the «digital gold» network is a bottleneck. The growth of computing needs corresponding to external factors (performance of mining devices) is constrained.
As for Ethereum, the block size is constantly growing and there is no such place in the network as in Bitcoin which could restrain this growth. As a result, the number of nodes is reduced and everything leads to centralization because networks’ capabilities are increasingly superior to the capabilities of mining devices and connections of ordinary users.
A useful feature — the destruction of the smart contracts — will be implemented in the Giant ecosystem. This is an important step on the way of this blockchain to building a scalable network yet not the only one. What difference would that make? Users will not be able to use outdated or irrelevant smart contracts. All the data that is used in the smart contracts storage will be deleted.
The smart contract destruction technology will be implemented by the developer of the smart contract through the call of its method. In addition to the active feature of deleting smart contracts, a passive one will be implemented. Within the passive feature, the nodes of the network will be engaged in contract disposal through the archiving of smart contracts, or by deleting them. The nodes of the network will eliminate the contract data from its isolated off-chain storage. The passive deletion process will begin if methods of a smart contract have not been called for a long time such as a month or more. In this case, the nodes of the network will act as a so-called «garbage collector», archiving the data of inactive and, therefore, useless contracts. In addition, this mechanism will be implemented by the entire network at the Protocol level which means that when the smart contract method is called, it will be verified. If the verification shows that the last call was made a long time ago (for example, about a month ago), the execution of the current call will need to be restored, which will entail an increased fee for this method. For the record, the technology of passive archiving is now at the research stage and will be implemented later. Also, we would like to add that in case of a call of an archived smart contract its data will be restored, and the call of the explicitly destroyed smart contract will be impossible.
Certainly, this mechanism should be used with a great caution. It should be understood that calls of smart contract methods remain in the blockchain. With the destruction of the smart contract, only the data outside the blockchain network (off-chain) will be deleted. That is a great solution. Thanks to the feature we call "the destruction of the smart contracts", the Giant network will have fewer problems with scalability.