Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ECIP-1047: Reduce Gas Limit to 1 Million #6

Merged
merged 3 commits into from
Jan 18, 2019

Conversation

pyskell
Copy link
Member

@pyskell pyskell commented Jan 3, 2019

Title

ECIP: 1047
Title: Reduce Gas Limit to 1 Million
Author: Anthony Lusardi (ethereumclassicanthony@gmail.com)
Status: Draft
Type: Informational
Created: 2019/1/3

Abstract

All Ethereum-based chains face a major issue where blockchain bloat has the potential to drastically increase sync times and make it difficult to impossible for users to fully validate their copy of the ETC blockchain.

To mitigate this issue, this ECIP is a request that miners target a gas limit of 1 million which is an 8x reduction from the current limit of ~7.95 million; and well above the average gas size of blocks on the ETC blockchain.

Motivation

Over the past year the ETH blockchain has grown substantially in verification time from less than 1 day in June 2017 to 4+ days in October 2018 and growing; even with considerably powered hardware and recent client optimizations. With maximum gas usage it's reasonable to expect that sync times over the next few years will grow to the point where a normal users and even some businesses cannot fully validate the chain, leading to node centralization and the need for trusted intermediaries.

We have the benefit of hindsight and lower utilization but will face exactly the same problems if we do not take steps to address blockchain bloat.

Specification

Miners can start reducing their gas limit to 1,000,000 by adding the below parameters to their clients. This change will happen over time with each block reducing by a maximum of 1/1024th of the gas of the previous block. More details on gasLimitBoundDivisor are here.

Geth

--targetgaslimit 1000000

Parity

--gas-floor-target 1000000 --gas-cap 0

Mantis

TBD

Code Changes

A more robust method to decreasing gas target is to specify a default within each ETC client. Potential changes are detailed below:

  • Parity-Ethereum, Mantis, and Multi-Geth will require a small refactor such that the default is specified in a config file, rather than hard coded as is presently the case.
  • Geth-ETC, being a single-network client, can simply update the value specified here

@oberondelafay
Copy link

Sorry but this is horribly misguided and just plain wrong.
Centralization is the nature of all blockchains where there is any subsidy offered by the network.

Centralization occurs because of economies of scale.
Miners will consolidate and centralize based on their ability to mine efficiently. This is why Bitcoin was so heavily Chinese years before blockspace became an issue.

You're cutting your miner's reward per block. This will cause miners who cannot mine profitably to drop out, further increasing centralization at a time where prices are already depressed and thus it is most dangerous.

But I bet you're thinking...
"It could drive gas prices up and this will be enough to subsidize the miners". That might happen for a short time.

But what you're actually asking here is to lower the utility of ETC for companies that would like to pay for and use that excess capacity for business purposes. In otherwords you're asking to reduce blockchain capacity and this will trigger a cryptokitties style problem at a time that ETC doesn't even have a killer app yet. This means that companies that were considering ETC because it has the ability to scale to meet their demands will now be forced to reconsider their investment simply from the threat that you would reduce the maximum block size to support the right to a timely full blockchain sync for someone in Nigeria with 2 tin cans, some string and a floppy disk.

I can't speak for everyone else, but I know this proposal has just caused my company to put a full stop to all consideration of bringing what we had in development to ETC, which is doubly sad because we were looking at ETC precisely because ETH cannot scale to meet our needs due to exactly this.

What's your reasoning?
Because a bigger blockchain with bigger blocks makes it harder for people to do a full sync?
How about instead of limiting the utility and future uses by restricting what the users can put into the paid for capacity, we instead work to build a more efficient system for syncing the chain for people that want to run a full verifying node? This can be done without shrinking block sizes, just by more efficiently utilizing the resources we have and making the chain more widely available from better connected systems.

@oberondelafay
Copy link

Adding a small subsidy for running a fully verifying node would encourage people to run more fullnodes and completely eliminate all the problems you've mentioned. Can we get an ECIP for that?

@realcodywburns realcodywburns added status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus. type: meta ECIPs of type "Meta" - bundling proposals for upgrades. labels Jan 3, 2019
@pyskell
Copy link
Member Author

pyskell commented Jan 3, 2019

The alternative is that ETC is not independently verifiable by most users after a few years of full usage.

This is also entirely reversible by miners if other improvements are made.

@oberondelafay
Copy link

oberondelafay commented Jan 3, 2019

The alternative is that ETC is not independently verifiable by most users after a few years of full usage.

You're going to need to define "most users", to have that argument hold any water all.

  1. How large is the hard drive you're expecting them to have?
  2. How fast will their internet connection be?
  3. What is their incentive, i.e. reason for verifying independently. Does independent verification really matter here if the bulk of the network disagrees with their verification for whatever reason? If not then why not get their data from the people who will be accepting or rejecting their transactions?
  4. Do most users right now independently verify or do they do fast sync with SPV?

This is also entirely reversible by miners if other improvements are made.

Which would do what precisely for the companies and people that were evaluating ETC right now, but had already moved on to something with capacity to scale to meet their needs?

Again, why is there not an ECIP offering a system for a small reward for the people who want to run a fully verifying node, hold the whole chain on their disk and serve it up on demand? Miners make money verifying transactions, shouldn't verifiers who are expected to serve the entire blockchain have some incentive for serving it? Wouldn't that make more sense?

The problem with syncing is that no one is offering up blocks. Here's my log from trying to sync for the last 3 mins.

WARN [01-03|12:22:26.024] Synchronisation failed, retrying         err="state node 4f7842…25d6f1 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:22:40.740] Node data write error                    err="state node 4f7842…25d6f1 failed with all peers (2 tries, 2 peers)"
WARN [01-03|12:22:40.741] Synchronisation failed, retrying         err="state node 4f7842…25d6f1 failed with all peers (2 tries, 2 peers)"
WARN [01-03|12:22:45.838] Node data write error                    err="state node 94348a…bbaaf8 failed with all peers (2 tries, 2 peers)"
WARN [01-03|12:22:45.838] Synchronisation failed, retrying         err="state node 94348a…bbaaf8 failed with all peers (2 tries, 2 peers)"
WARN [01-03|12:22:55.957] Node data write error                    err="state node 94348a…bbaaf8 failed with all peers (2 tries, 2 peers)"
WARN [01-03|12:22:55.966] Synchronisation failed, retrying         err="state node 94348a…bbaaf8 failed with all peers (2 tries, 2 peers)"
INFO [01-03|12:23:05.950] Imported new block headers               count=0   elapsed=26.116ms  number=390 hash=048ff0…5ad129 age=3y5mo3w  ignored=384
INFO [01-03|12:23:06.223] Imported new block receipts              count=26  elapsed=2.426ms   number=32  hash=88be69…60ae13 age=3y5mo3w  size=1.18kB
INFO [01-03|12:23:06.432] Imported new block headers               count=198 elapsed=30.992ms  number=966 hash=0a1754…26a5c1 age=3y5mo3w  ignored=378
INFO [01-03|12:23:06.573] Imported new block receipts              count=108 elapsed=3.479ms   number=140 hash=e2c1e8…65acc1 age=3y5mo3w  size=13.91kB
INFO [01-03|12:23:06.723] Imported new block receipts              count=700 elapsed=46.791ms  number=840 hash=d1c11b…634eeb age=3y5mo3w  size=122.40kB
WARN [01-03|12:23:06.745] Node data write error                    err="state node 94348a…bbaaf8 failed with all peers (4 tries, 4 peers)"
INFO [01-03|12:23:06.782] Imported new block headers               count=576 elapsed=198.796ms number=1542 hash=50eb45…2460bc age=3y5mo3w
WARN [01-03|12:23:06.835] Rolled back headers                      count=774 header=1542->768 fast=840->768 block=0->0
WARN [01-03|12:23:06.835] Synchronisation failed, retrying         err="state node 94348a…bbaaf8 failed with all peers (4 tries, 4 peers)"
INFO [01-03|12:23:17.226] Imported new block headers               count=0   elapsed=19.261ms  number=1032 hash=a2b550…6c6fd9 age=3y5mo3w  ignored=192
INFO [01-03|12:23:17.376] Imported new block headers               count=0   elapsed=5.612ms   number=1224 hash=50a169…20e1d5 age=3y5mo3w  ignored=192
INFO [01-03|12:23:17.427] Imported new block headers               count=66  elapsed=35.081ms  number=1608 hash=bfe6c3…458f85 age=3y5mo3w  ignored=318
INFO [01-03|12:23:17.492] Imported new block headers               count=192 elapsed=43.356ms  number=1800 hash=2236b1…f0b0ea age=3y5mo3w
INFO [01-03|12:23:17.568] Imported new block receipts              count=40  elapsed=502.162µs number=880  hash=85a58e…f0e927 age=3y5mo3w  size=5.58kB
WARN [01-03|12:23:17.602] Node data write error                    err="state node 94348a…bbaaf8 failed with all peers (4 tries, 4 peers)"
INFO [01-03|12:23:17.736] Imported new block headers               count=576 elapsed=120.523ms number=2376 hash=e19774…404867 age=3y5mo3w
WARN [01-03|12:23:17.792] Rolled back headers                      count=834 header=2376->1542 fast=880->880 block=0->0
WARN [01-03|12:23:17.792] Synchronisation failed, retrying         err="state node 94348a…bbaaf8 failed with all peers (4 tries, 4 peers)"
INFO [01-03|12:23:26.054] Imported new block headers               count=0   elapsed=12.582ms  number=1072 hash=642be1…90a5bf age=3y5mo3w  ignored=192
INFO [01-03|12:23:26.397] Imported new block receipts              count=29  elapsed=918.531µs number=909  hash=456d91…2f1770 age=3y5mo3w  size=3.37kB
WARN [01-03|12:23:26.550] Node data write error                    err="state node 94348a…bbaaf8 failed with all peers (4 tries, 4 peers)"
INFO [01-03|12:23:26.658] Imported new block headers               count=0   elapsed=75.613ms  number=2224 hash=ab1870…460b1a age=3y5mo3w  ignored=1152
WARN [01-03|12:23:26.673] Synchronisation failed, retrying         err="state node 94348a…bbaaf8 failed with all peers (4 tries, 4 peers)"
WARN [01-03|12:23:38.207] Node data write error                    err="state node 3530c0…9ee7e4 failed with all peers (3 tries, 3 peers)"
WARN [01-03|12:23:38.208] Synchronisation failed, retrying         err="state node 3530c0…9ee7e4 failed with all peers (3 tries, 3 peers)"
WARN [01-03|12:23:50.288] Node data write error                    err="state node 3530c0…9ee7e4 failed with all peers (3 tries, 3 peers)"
WARN [01-03|12:23:50.288] Synchronisation failed, retrying         err="state node 3530c0…9ee7e4 failed with all peers (3 tries, 3 peers)"
WARN [01-03|12:23:57.007] Synchronisation failed, retrying         err="block header download canceled (requested)"
WARN [01-03|12:24:08.152] Node data write error                    err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:08.152] Synchronisation failed, retrying         err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:20.938] Node data write error                    err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:20.938] Synchronisation failed, retrying         err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:28.358] Node data write error                    err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:28.358] Synchronisation failed, retrying         err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:38.369] Node data write error                    err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:38.369] Synchronisation failed, retrying         err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:49.198] Node data write error                    err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:49.199] Synchronisation failed, retrying         err="state node 91444a…59be0d failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:24:57.242] Synchronisation failed, retrying         err="block header download canceled (requested)"
WARN [01-03|12:26:29.546] Node data write error                    err="state node cc8bdb…181e43 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:26:29.546] Synchronisation failed, retrying         err="state node cc8bdb…181e43 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:26:39.077] Node data write error                    err="state node cc8bdb…181e43 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:26:39.078] Synchronisation failed, retrying         err="state node cc8bdb…181e43 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:26:43.296] Synchronisation failed, retrying         err="block download canceled (requested)"
WARN [01-03|12:26:58.626] Node data write error                    err="state node cc8bdb…181e43 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:26:58.626] Synchronisation failed, retrying         err="state node cc8bdb…181e43 failed with all peers (1 tries, 1 peers)"
WARN [01-03|12:27:10.355] Node data write error                    err="state node cc8bdb…181e43 failed with all peers (0 tries, 0 peers)"
WARN [01-03|12:27:10.355] Synchronisation failed, retrying         err="header processing canceled (requested)"

The solution to this isn't smaller blocks, it's more people serving them up.

@realcodywburns
Copy link
Member

you can copy and paste the template to submit your ecip

@oberondelafay
Copy link

Thanks, I may actually do that. Do you think it would make sense to add it to the treasury ECIP?
Meantime, I vote that lowering the gas limit at all is dangerous and short sighted and lowering it to 1M is just slow suicide. Personally I think it should be raised to whatever amount the network can handle in the block time. Then use the excess fees to subsidize chain hosting nodes. But maxing it out would be a good start, it would attract a lot more business users.

@saturn-network
Copy link

In case this ECIP passes and gets introduced to ETC we might indeed see gas price skyrocket in value. You may want to use this time of big empty blocks to mine some GasTokens.

@oberondelafay
Copy link

Again this would be a less than desirable outcome for everyone in the long run. Instability in the price of gas makes the platform far less attractive for anyone interested in deploying serious use cases. It's one thing to mop up supplies and to start driving the ETC price up. All you need are a few good killer dapps. But once you start messing with the per transaction cost in terms of the unit of account (units of ETC required to get the transaction in), then it really loses its luster.

@oberondelafay
Copy link

Cross posting my comments from Reddit...

Just following up. It's been 21 hours since I last updated.

I fell asleep sometime during syncing and woke up to a fully synced node, but it wasn't really syncing well when I went to sleep.

So most defiantly less than a day but more than 12 hours to go from 0 to a fully synced and full verification node on modern equipment.

I do have a 1 Gb fiber connection on a static IP, and my computer has 8 GB of RAM a Quad Core processor and a 1TB SSD.
It was high end when I bought it, but it's probably mid-range now.
But this is a 2 year old laptop.

The internet is nothing special either. Where I live 1Gb fiber is the default and considered mid range, so I pay about $50 per month for internet access, yet already I can go to 10Gb for $200 per month and they are discussing lowering prices already.

This is in podunk Utah, https://www.utopiafiber.com/residential-pricing/ I can only imagine more developed areas have better options.

I forgot to mention that I'm connected to my router via WiFi so my connection throughput speed is limited to 100MB/s to allow the wife and kids to stream their Netflix and Youtubes and Facebooks comfortably.

So I ask you. Is there really a problem you're trying to solve here? People that want to run a fully verifying node are going to either have the resources to do so, or have a business reason to acquire the resources to do it. They can do it now with the larger more spacious blocks having been the default for years and do so on what amounts to mid-range commodity hardware and there is no reason at all to expect that innovation and minimum expectations of service will not continue into the forseeable future.

In the meantime, shrinking blocks at this time literally rang the early warning alarm at my work and I now have to explain why moving to ETC may still be a viable idea. Understand, we have a functional product in testing on Rinkeby and will have to put in a lot of upfront effort to port to ETC because the EVM is very stale.

The most important thing to remember is that this gas limit per block represents a maximum utility. A blockchain to a business is worth not one dime more than the maximum amount of work they can put it to per unit of time. If you reduce the maximum size, then you reduce the utility value which then makes other chains much more attractive.

I'm the one talking because I care. But I can promise you that for every person who vocalizes a concern there are hundreds who will look, go "meh" and move to something else. It mostly depends on how far along they are in the development cycle. A true enterprise app has a lifecycle with a minimum of 2 year and an average of 5 years. These are enterprises who are early in their cycle and will simply overlook ETC if this comes to pass. That means less users in the future and of course that will make it much easier for those users to fully verify.

So it's your choice.

@whilei
Copy link
Member

whilei commented Jan 4, 2019

@pyskell

Edit: an analogy instead:

If blockchains were stuff, let's say building supplies, miners would be the logistics companies. They have the fleets of trucks and warehouses that hold lumber and nails and drywall and garages to park their trucks in.

Encouraging miners to target lower gas limits is like encouraging them to use smaller trucks. This way they can pay less rent for their garages, and since they can now fit fewer materials per truck, they can reduce the size of their warehouses too because, well, there will be less stuff. Yea, they'll make less per mile on their routes because they won't carry as much cargo, but now that's not such a big deal because they're used to big per-shipment bonuses (block rewards).

But this presents a problem for some supply producers, especially when there are a lot of producers.

If a small company produces artisinal nails, it's not a big deal. They still probably won't have any problems getting their cargo on a truck because nails are small and few (and oh so tasteful! ;).

The first issue comes for the producers who make (or want to make) big stuff or a lot of stuff. If a company wants to start mass-marketing nails or shipping prefab houses, they're going to have a harder time getting their stuff where it needs to go, and there are other logistics companies who will be more than happy to give them space on their big trucks.

The second problem comes later for the logistics companies, when they've turned away large contracts because they wanted small-bed pickups instead of semi-trucks. The per-shipment bonuses are disinflating, and are programatically scheduled to reach almost 0. The primary source of revenue has shifted to per-mile/per-kilogram revenues and producers have already chosen other logistics providers.

I'm not sure what the future holds. Maybe it's artisinal nails all the way.

Do you know what the gas needs of something like a zksnarks zero-knowledge proof contract would be?

@BelfordZ
Copy link
Member

BelfordZ commented Jan 4, 2019

image

AFAIK miners should be the ones adjusting this based on what will make them most profitable, while users are free to incentivize miners to move up the block gasLimit. This value is really for miners to come up with on their own, and to optimize their mining software such that it meets the current demand of the network.

@oberondelafay
Copy link

@whilei I like what you're saying. I agree with what you're saying.

But the last 3 paragraphs are a bit inflammatory and run a real risk of derailing this conversation.

I realize you're passionate about this as am I. But can you please edit a little bit to be a little more dispassionate. It's enough to attack something like this on it's merits or lack thereof. There's no need for an ad hominem either direct or implied.

Thanks for understanding.

@whilei
Copy link
Member

whilei commented Jan 5, 2019

Sure, thanks for saying something. Maybe walking a little close to the 🔥

@pyskell I hope this hasn't offended, not meant to. It just seems very bizarre to me.

@drd34d
Copy link

drd34d commented Jan 8, 2019

High gas limit can be perceived as an issue but there's good reasonings for it. Basicly It's up to the mining pool operators (>90% of the miners don't even care). There might be a better chance to lower it by reaching out directly to the operators.

But on the topic of chain "bloat"...
Does anyone have a good reasoning for not desincentivizing empty blocks?

@saturn-network
Copy link

disincentivizing empty blocks == incentivizing spam transactions

@realcodywburns
Copy link
Member

can you open an issue or thread on the forum for discussion and add a discussions-to: link in the header so it can be merged and tracked per the readme

@@ -0,0 +1,39 @@
## Title

ECIP: 1047
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs a discussions-to: header field

@pyskell
Copy link
Member Author

pyskell commented Jan 17, 2019

@whilei The analogy only covers about 80% of what this is since the shipping company does not actually own the warehouse where they store their trucks. The warehouse is a shared resource and every participant needs to make their own. I suggest avoiding analogies as they likely won't properly encapsulate the nuances of this situation.

The suggestion here to reduce the gas limit is because not doing so ultimately leads to centralization and difficulty syncing for participants of the network. 8 million gas in particular is quite substantial and it takes only 1 year of full blocks to create a weeks worth of syncing on typical hardware. We're seeing this on ETH along with storage sizes of ~130GB.

The core of my argument here is that blockchains in general socialize the cost of syncing nodes onto future participants and that the current gas limits, as evidenced on ETH, are not scalable long term.

P.S. No offense taken, I didn't even read the pre-edit post so I'll stay blissfully unaware of what may have offended me 😄

@realcodywburns Done. Assuming we'll move all further discussion there?

@zmitton
Copy link
Contributor

zmitton commented Jan 17, 2019

Hi, wanted to voice my support for this ECIP (actually I don't even think it needs to be an ECIP because it's not a software update, just a miner config choice).

I've been running Ethereum full nodes since mainnet was launched, and it's definitely out of hand today. I recently paid over $1000 to put a 2TB SSD in my macbook. As I write this (as per usual) my machine is running Bitcoin and Ethereum clients. Here is what it took to make that happen on an i7 with 16GB ram:

Bitcoin: ~3 days (on/off usage)
ETH: ~2 months

It's actually worse than that. I'm only running a "fast sync" on the ETH node (default), and it turns out, that I don't have access to older transactions. They are simply not on my machine. When I query the RPC for them it returns null. Also I became skeptic that my node was even working correctly (because the "latest" block would return blocknum: 0 for the full 2 months).

I'm an Ethereum developer, most Ethereum dev teams do not even run full nodes (archive). This is a huge problem, especially for Ethereum Classic whose existence is only possible because of full node security. I say this because, If you run only a fast sync, you are not validating all transactions, and would not catch the invalid DAO refund transaction.

Ethereum classic has a huge reason for existing, and that reason must appreciate the importance of full nodes.

ETC's main changes so far (beond the DAO debate) have been very attractive to me: (1) capping the supply. (2a)Commiting to PoW, and (2b) removing the difficulty bomb.

Having a reasonable sized full node would be yet another huge improvement over (its friend and competitor) Ethereum, and enable more users to develop on it.

I hope I've convinced some people, but really we only need to convince miners. Let's talk about the economics.

Over the past year and a half, bitcoin proved to us that smaller will blocks result in larger fees for miners (not the other way around as was previously argued) as payments of its kind are very inelastic. In late 2017 Bitcoin hit its ceiling and tx fees skyrocketed to 30$. This "transaction traffic" had exponential properties similar to traffic patterns of cars. As Pierre Rochard had speculated years before, transactions could handle a much higher fee than they were being priced on bitcoin. In this sense the miners can nearly optimize fees by finding the inflection point where substitution starts happening and then raise the blocksize slowly to follow that threshold. (see this discussion) between Gavin and Pierre. Ethereum classic would be the first blockchain to experiment with these economics and could pave way in this regard (because bitcoin has a fixed limit, and Ethereum just follows what the foundation recommends, which is likely much higher than the market would find).

There are many more benefits I won't touch on, but the tldr is that the benefits far outweigh the drawbacks.

Copy link
Member

@realcodywburns realcodywburns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@realcodywburns realcodywburns merged commit 8528f42 into ethereumclassic:master Jan 18, 2019
@pyskell
Copy link
Member Author

pyskell commented Jan 18, 2019

100% agree with @zmitton, the current high gas limit is unscalable based on hard evidence of it in the wild.

Lowering it is the prudent approach to prevent a catastrophic situation where syncing is unfeasible for most or nearly all participants. As efficiency in processing and hardware improves it can then be raised.

As mentioned by @zmitton this ECIP represents a recommendation to miners and changes no consensus guarantees about the network (it's a simple client configuration flag).

I'd also like to point out that at the time of the hard fork the commonly accepted gas limit was 4.71 million where it stayed until ETH recommended a gas target of 8 million for their network. Then in September 2018 it was made the default in parity for all blockchains (openethereum/parity-ethereum/pull/9564). This change seems to have caused the increase as we were still at ~4.7 in August (http://gastracker.io/block/6426100) and it started rising in September, jumping up 25% already by end of October (http://gastracker.io/block/6726100).

@ghost
Copy link

ghost commented Feb 19, 2019

I support this ECIP because we have the advantage of hindsight and blockchains as Ethereum and Bitcoin have huge node churn rates with little new node growth, which has resulted in large node count losses in both networks.

Long term bandwidth growth in the US for example is about 17%, but blockchains are growing at a much larger pace which only means that the synch times for regular users (this is the key, that these chains need regular users to easily run nodes as well) is only getting longer which disincentives people of running nodes in regular machines.

On the other hand, disk space for regular users is also a constraint. A 2017 Macbook Pro, a very advanced kind of machine on average, for example, has a disk size of 250 GB, but Ethereum archive node is 2.2 TB, and normal node is 180 GB. A bitcoin full node (archival equivalent I think) is 220 GB.

It is a fallacy for those who think that "people can just connect a pen-drive and solve the disk size problem" because that kind of action is typical of a more advanced user, not regular users who just want convenience.

As a separate issue related to this, UX is terrible in ETH and ETC wallets and node software. It is incredibly easy to download Bitcoin Core and Bitcoin Knots and just synch the chain for a regular user. For me it's nightmare to download Classic Geth or Multi-Geth and try to set them up as a non-technical user.

What more steps do we have to do to complete this ECIP and convince all miners and node operators to adopt it?

[if this is a done deal and already approved, and no need for more efforts, then pls disregard this comment]

@zmitton
Copy link
Contributor

zmitton commented Feb 20, 2019

@DonaldMcIntyre seems it's mostly about convincing miners or mining pools to use the geth config flag specified by @pyskell (--targetgaslimit 1000000)

@ghost
Copy link

ghost commented Feb 21, 2019

I’m in to help in this campaign contacting miners

@zmitton
Copy link
Contributor

zmitton commented Jun 3, 2019

continue discussion #14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus. type: meta ECIPs of type "Meta" - bundling proposals for upgrades.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants