Coming soon - Get a detailed view of why an account is flagged as spam!
view details

This post has been de-listed

It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.

60
CHIP-2023-01 Excessive Block-size Adjustment Algorithm (EBAA) for Bitcoin Cash Based on Exponentially Weighted Moving Average (EWMA)
Post Flair (click to view more posts with a particular flair)
Post Body

The CHIP is fairly mature now and ready for implementation, and I hope we can all agree to deploy it in 2024. Over the last year I had many conversation about it across multiple channels, and in response to those the CHIP has evolved from the first idea to what is now a robust function which behaves well under all scenarios.

The other piece of the puzzle is the fast-sync CHIP, which I hope will move ahead too, but I'm not the one driving that one so not sure about when we could have it. By embedding a hash of UTXO snapshots, it would solve the problem of initial blockchain download (IBD) for new nodes - who could then skip downloading the entire history, and just download headers some last 10,000 blocks UTXO snapshot, and pick up from there - trustlessly.

The main motivation for the CHIP is social - not technical, it changes the "meta game" so that "doing nothing" means the network can still continue to grow in response to utilization, while "doing something" would be required to prevent the network from growing. The "meta cost" would have to be paid to hamper growth, instead of having to be paid to allow growth to continue, making the network more resistant to social capture.

Having an algorithm in place will be one less coordination problem, and it will signal commitment to dealing with scaling challenges as they arise. To organically get to higher network throughput, we imagine two things need to happen in unison:

  • Implement an algorithm to reduce coordination load;
  • Individual projects proactively try to reach processing capability substantially beyond what is currently used on the network, stay ahead of the algorithm, and advertise their scaling work.

Having an algorithm would also be a beneficial social and market signal, even though it cannot magically do all the lifting work that is required to bring the actual adoption and prepare the network infrastructure for sustainable throughput at increased transaction numbers. It would solidify and commit to the philosophy we all share, that we WILL move the limit when needed and not let it become inadequate ever again, like an amendment to our blockchain's "bill of rights", codifying it so it would make it harder to take away later: freedom to transact.

It's a continuation of past efforts to come up with a satisfactory algorithm:

To see how it would look like in action, check out back-testing against historical BCH, BTC, and Ethereum blocksizes or some simulated scenarios. Note: the proposed algo is labeled "ewma-varm-01" in those plots.

The main rationale for the median-based approach has been resistance to being disproportionately influenced by minority hash-rate:

By having a maximum block size that adjusts based on the median block size of the past blocks, the degree to which a single miner can influence the decision over what the maximum block size is directly proportional to their own mining hash rate on the network. The only way a single miner can make a unilateral decision on block size would be if they had greater than 50% of the mining power.

This is indeed a desirable property, which this proposal preserves while improving on other aspects:

  • the algorithm's response is smoothly adjusting to hash-rate's self-limits and actual network's TX load,
  • it's stable at the extremes and it would take more than 50% hash-rate to continuously move the limit up i.e. 50% mining at flat, and 50% mining at max. will find an equilibrium,
  • it doesn't have the median window lag, response is instantaneous (n 1 block's limit will already be responding to size of block n),
  • it's based on a robust control function (EWMA) used in other industries, too, which was the other good candidate for our DAA

Why do anything now when we're nowhere close to 32 MB? Why not 256 MB now if we already tested it? Why not remove the limit and let the market handle it? This has all been considered, see the evaluation of alternatives section for arguments: https://gitlab.com/0353F40E/ebaa/-/blob/main/README.md#evaluation-of-alternatives

Author
Account Strength
100%
Account Age
3 years
Verified Email
Yes
Verified Flair
No
Total Karma
10,751
Link Karma
3,555
Comment Karma
6,289
Profile updated: 5 days ago
Posts updated: 7 months ago

Subreddit

Post Details

We try to extract some basic information from the post title. This is not always successful or accurate, please use your best judgement and compare these values to the post title and body for confirmation.
Posted
1 year ago