Ethereum, the popular blockchain network famous for its ether cryptocurrency and revolutionary use of smart contracts, may be making a major shift. At a recent workshop, founder Vitalik Buterin revealed a "massive problem" that is plaguing the network: Given the current structure of the ethereum network, there is no mechanism in place to finance smart contract storage on the base layer blockchain over the long term. The issue boils down to the way that Buterin and other developers set up the fee structure for ethereum users.
At this point, any user engaging in a smart contract that is deployed to the mainnet is only responsible for a one-time fee even though all of the nodes in the ethereum network must then store information about that contract for an indefinite period of time. As ethereum's user base continues to grow and the number of smart contracts stored on the blockchain increases, this could quickly become a significant problem with user fees not able to adequately cover the costs associated with the growing bulk of data to be stored.
Mechanism for Increased Funds and Decreased Data
Buterin advocates that "contracts that developers and users forget and stop caring about should disappear from the state by default," according to ETHNews.com. He believes that many executed smart contracts, particularly those that are very old or insignificant for various reasons, should be purged from the network's nodes, thereby freeing up space. This alone is a major shift from the previous approach to blockchain systems. In most previous cases, blockchain developers have touted the openness, thoroughness and, perhaps most important, immutability of these systems. Once an item has been entered into the blockchain, the thinking goes, it is there permanently.
Buterin's suggestion to remove contracts from even a portion of the network could represent a major shift with significant implications. A number of questions arise: Which smart contracts would receive priority for long-term storage? What would happen to those that were removed from the state? And who would determine which are kept and which are removed?
Buterin and other ethereum leaders have a solution aimed at facilitating the cleanup of the network nodes and that also purports to answer many of these questions. A rent-collecting mechanism, developer Philip Daian explains, is necessary for "any system that provides a storage abstraction to its users." While smart contract data storage on the mainnet is "subsidized by a commons-based storage model, in that the network bears the external costs of [smart contract transactions] in the long term," there may be limitations to the viability of this strategy in the long term.
Two Proposals for Rent Fees
Buterin suggested two interlinked proposals for the rent fee system. First, the upper limit of the size of the mainnet must be identified, he suggests. Developers will need to determine how much data it should be allowed to house. Second, ethereum should establish a rent fee structure that would insure that this limit cannot be exceeded. Sharding would ultimately reduce these fees significantly, but they would nonetheless present a new burden on ethereum users.
According to the proposal by Buterin, users sending transactions linked to specified contracts would automatically pre-fill the associated contract with rent fees designed to enable the contract to remain functional for several years. Tokens would be used to pay the rental fees and would then be burned. Buterin's suggestion limited the way that rental fees could change over time; they could "decrease, but not increase." Thus, the higher the hardware storage capacity becomes over time, the lower the rental fees for users would be. This is a cautionary move of sorts, as Buterin himself has admitted that mandating that fees be paid in ether could lead to them becoming significantly high, depending upon how the cryptotoken is valued.
Buterin's second rent fee proposal achieves a similar goal by different means. In this case, there would be a "pay-to-resurrect" fee that could allow contracts to be kept in a "sleep" state for later use. In order for those sleeping contracts to be resurrected, users would be required to submit a Merkle proof "that proves the contract's state at the time of deletion," or the time the contract was sent to sleep state. One benefit to this proposal is that users would not be required to make an estimation at the time of the rent fee payment as to how long a given contract should remain in the state.
Ethereum has made no definitive plans to implement rent fees, although other networks have reportedly also discussed this as a possibility as well. In any event, users of some of the most popular blockchains and cryptocurrencies may sooner or later find themselves subject to additional fees in order to engage in practices that once operated by different means.
Investing in cryptocurrencies and other Initial Coin Offerings (“ICOs”) is highly risky and speculative, and this article is not a recommendation by Investopedia or the writer to invest in cryptocurrencies or other ICOs. Since each individual's situation is unique, a qualified professional should always be consulted before making any financial decisions. Investopedia makes no representations or warranties as to the accuracy or timeliness of the information contained herein. As of the date this article was written, the author owns cryptocurrency.