Could adding a new fee help preserve ethereum in the long term?
It's a contentious statement in light of the debates ongoing across blockchains over how and when users should pay to support what amount to global computing networks. However, the concept is now gaining notable momentum on ethereum, most recently from the creator of the world's second-largest blockchain himself, Vitalik Buterin.
Buterin's concept, described in a recent blog post, revolves around so-called "rent fees," whereby users would be asked to pay to use the network based on how long they'd like their data to remain accessible on the blockchain.
The idea has recently seen interest generally, as ethereum developers have sought to cope with the platform's increased adoption, and, in turn, the increased amount of data being added that all network nodes need to store.
In short, it's a tragedy of the commons issue – if too many people use the resource for free, the network starts taking on the costs itself. And there's plenty of evidence to suggest that there is already reason to worry.
With rising use spurred by popular apps and ICOs, notable developers, including ethereum researchers Vlad Zamfir and Phil Daian, believe the problem needs to be addressed now.
"No one likes talking about rent, but we need to have this conversation," ethereum developer and Thiel fellow Raul Johnson recently tweeted.
"Core developers need to relay this information to the smart contract developer community ASAP to get their opinions on the matter," he continued, adding:
"The current system as it stands is unsustainable."
Still, Buterin's backing could be a sign that momentum might build around the idea.
So far, he has broached the idea with a pair of proposals on the subject, including a succinct possible solution he calls "a simple and principled way to compute rent fees." And Buterin's first proposal is as simple as its title suggests.
The idea is to compute fees based on a long-term limit on the "state," a slice of special ethereum data that node operators need to store, which tracks who owns the current information about all apps (including user balances, who has posted so much data in, say, a Twitter replacement app and so on).
Under the proposal, state data stored in a node computer's RAM – now about 5GB – will never be allowed to exceed 500 GB. To ensure this, users will have to pay fees based on how long their data is stored. In this way, data is kept in check, since fees will grow if storage creeps toward that limit.
One notable part of Buterin's proposal is that he tries to incorporate a scaling change that ethereum developers have long wanted to add to the platform.
Although the most recent roadmap claims deployment is still years away, "sharding," as it's known, could potentially boost the amount of resources a database can handle by splitting up the data. In ethereum, the idea is, each node wouldn't have to store all of ethereum's historical data – just a slice of it.
"With sharding, the maximum acceptable state size would be per-shard, so the above fees would be decreased by a factor of 100," Buterin said.
Buterin also tries to address another key problem with rent: its bad user-experience. Most rent proposals today would require users to know how long their data will need to live ahead of time, which would be prone to error.
His second proposal explores a way of quashing this annoying guessing game by letting users use their state even after it has expired. Essentially, they would prove that their state existed at a previous point in time, with the help of a cryptographic technique called a "Merkle proof."
One problem with all this, though, is that fees, kind of like taxes, are never popular.
Bitcoin's years-long debate, for example, mostly centered on fees and the trade-offs associated with them. If fees are increased, less data will be stored, making full nodes easier to run. The downside, of course, is it would make the cryptocurrency more expensive to use.
One question is whether ethereum users and developers will react the same way, arguing "the rent is too damn high." In this way, Johnson worries that suddenly adding extra fees would alarm developers who have already deployed apps on ethereum.
Johnson argues for changes that aren't so knee-jerk and should be phased in slowly to give developers time to adjust.
Not to mention, some believe a similar rent needs to be applied to all cryptocurrencies. Indeed, scaling problems – and the associated fees – are a problem across blockchains.
Daian went as far as to argue that bitcoin needs to apply the same model. Like ethereum, bitcoin currently doesn't charge for the lifetime of a coin.
"Bitcoin is not free of these issues," he said, arguing that its simpler model incentivizes state bloat in a variety of ways, "exposing users to a variety of other consequences of mispriced storage."
Pricing resources to the right degree is such an important area of research, that Daian, a smart contract researcher at IC3, and others at the institute have set up an initiative called Project Chicago dedicated to the effort.
Even if this is a lesser-explored area and researchers haven't yet found a concrete solution, he's optimistic.
"No cryptocurrency has figured out good models for pricing these resources thus far, and ethereum's storage rent represents a step in the right direction towards these goals."
Hard drive image via Shutterstock