The rate of ethereum’s uncle blocks has fallen from an all time high of 2,100 a day to currently around 1,200 despite the network recently being congested and apparently operating at full capacity.
Fees have fallen today to now just 15 cent, but that’s while transactions are at only 500,000 a day, significantly lower than the 1.4 million during December.
As can be seen above, uncles begun significantly rising in October, hitting a peak in January, then fell below 1,000 in April.
Since then, they have slightly risen again in line with the price rise and the rise in transactions, but fell and seem stable at around 1,200.
Total gas usage in ethereum, however, is hitting its daily limit. That’s probably because a smart contract is consuming too much gas, or perhaps token transfers have increased significantly.
As a brief explainer, gas is a unit of measurement for computations in ethereum like kilowatt for energy. A simple transaction from A to B costs 21,000 gas, with each one of that gas costing 14 Gwei, with one billion Gwei worth one eth. So you time 12 by 21k and you get today’s price.
Some transactions are more complex and require more computations, thus more gas. The problem is gas is limited, and there is no discrimination in how it is allocated. Simple transactions and complex transactions or smart contracts all have only one “pool” of gas.
That total gas is currently limited at 8 million per block. Daily gas usage currently is at 44 billion, higher even than during the kitties congestion.
Yet while the kitties did affect the uncles, this time there has been no effect at all. So it looks like ethereum’s network capacity goes by the number of transactions, rather than by the amount of gas used.
So it looks like there might be a problem in design in not calculating resources differently for simple transactions vs smart contract calculations. That, however, might have been a tradeoff as such difference may have added considerably more complexity.
Plus, miners are meant to be responsive. They can see for example that the network is congested, yet their uncle rates are at 50% lower than at capacity, so they could have and should just increase capacity.
But the problem is the incentives for miners and users do not quite align. Miners for example may want as high an inflation rate as possible. Users would rather there is very little, none, or in extreme even decreasing.
Miners would rather the fees are as high as possible because they are paid to them, while users would rather fees are as low as possible, or zero.
So miners would have to be strong armed to increase capacity, but ethereum developers have been reluctant to do so, focusing instead their attention on long term solutions such as sharding, Plasma, Casper and so on.
Regarding Casper, that will get rid of miners and replace them with stakers. That’s another reason why miners and users incentives might not align very well because miners are short term focused in any blockchain, but might be even more so in ethereum as soon enough they won’t be miners any more.
Vlad Zamfir, an ethereum researcher, is right in a way in stating stakers’ and users incentives do not fully align either, but there is a significant difference.
When we talk of miners, we are really talking of two individuals. Whoever owns Ethermine, and Wang Chun of F2Pool. In combination they have 42% of the decision making power regarding the gas limit, so they would largely be the ones who determine where the limit is set.
You can see there DwarfPool has become insignificant. Their admin was the one who effectively ordered the limit to remain at 8 million, refusing to increase it in December.
Their miners appear to have revolted somewhat by leaving the pool. So when we say miners would want high fees/inflation, of course miners also have to consider reality and constraints.
Yet while “little people’s” or little miners’ only choice in the current set up is to leave some pool, in staking there needs not be a pool. Anyone with 32 eth can “mine” on their own. They would in fact be wise to do so because ethereum’s staking punishes clustering.
With stakers being less of a business operation and more of a saving account where you park your money and earn some interest, it is probable stakers would be users first, and stakers second.
While with current miners, although there might be a home miner here or there, most are businesses, so not really users. They are miners first and foremost, in to make money without much care for kitties or anything else.
So if individuals are paying high fees and no one is strong arming them into increasing the limit considering uncle rates appear to be doing fine, then why would they voluntarily lower fees by increasing the limit.
Moreover, why are uncle rates so high? There’s probably plenty of things miners can do to lower them, but then perhaps they would no longer have the excuse to keep fees somewhat high at least temporarily.
Some will of course argue that you have to consider storage, but fact of the matter is bitcoin currently has more data capacity.
The bitcoin network can run up to 2MB every ten minutes for ordinary usage with an attack vector raising it to 4MB. Ethereum’s network capacity is however at only 1MB every ten minutes currently.
An ethereum block is currently at 20kb. 20kb every 15 seconds is 80kb a minute, so not even 1MB per ten minutes. There is thus no concerns regarding storage, bandwidth or any aspect especially considering bitcoin has an upper limit of 4MB.
As such miners could provide some respite while developers work on Casper, sharding and so on, especially considering the network congestion has not in any way affected uncle rates.
It would be a temporary solution and we may find ourselves again in the same position even at 4 million transactions a day, but then temporary respite is the whole point since long term solutions are in development.
In the meantime, they should raise the limit to facilitate continued dapp development and usage as well as of course ordinary value exchanges.