GithubHelp home page GithubHelp logo

bip100's Issues

Voting string

I suggest changing from votes from a string "/BVnnnnnnnn/" to a 4 byte unsigned integer where the integer is the blocksize in bytes. There's no need to take up so much space in the coinbase field.

bitcoin/bips

@jgarzik I don't remember the result of the discussion back in January, but I think the conclusion was that you create a pull request against bitcoin/bips with this branch even though number 100 was never assigned.

Clarifying earliest time of first block

From the current spec:

b. Votes are limited to +/- 20% of the current hardLimit.
c. Sort the votes from the previous 12,000 blocks from lowest to highest.
d. The raise value is defined as a vote for 2400th highest block (20th percentile).
e. The lower value is defined as a vote for 9600th highest block (80th percentile).
f. If the raise value is higher than current hardLimit, the new limit becomes the raise value.
g. If the lower value is lower than current hardLimit, the new limit becomes the lower value.
h. Otherwise, hardLimit is unchanged.

Also,

  1. 75% rule: If 9,000 of the last 12,000 blocks are version 4 or greater, reject invalid version 4 blocks. (testnet4: 501 of last 1000)
  2. 95% rule ("Point of no return"): If 11,400 of the last 12,000 blocks are version 4 or greater, reject all version <= 3 blocks. (testnet4: 750 of last 1000)

My clarification request is this:

What is the first block considered as part of the voting process?

  • Since there is a 12,000+ block deployment period, can miners already be voting during that time, and the block size can change at the first 2016-block difficulty adjustment?
  • Or: are votes only counted after deployment at Block XXXXXX, and thus is the first 2016-block difficulty adjustment after block XXXXXX+11999 the first time the block size can increase?

Deployment section

Can I suggest you add a "deployment" section in the BIP and move points 5 & 6 there. This is more in line with how BIPs have been written in the past.

(Ideally it would be better also to have the deployment section left at TBD).

Clarifying frequency of block size increases

Quote 1:

ii. A new hardLimit is calculated at each difficult adjustment period (2016 blocks), and applies to the next 2016 blocks.

Quote 2:

b. Votes are limited to +/- 20% of the current hardLimit.
c. Sort the votes from the previous 12,000 blocks from lowest to highest.
d. The raise value is defined as a vote for 2400th highest block (20th percentile).
e. The lower value is defined as a vote for 9600th highest block (80th percentile).
f. If the raise value is higher than current hardLimit, the new limit becomes the raise value.
g. If the lower value is lower than current hardLimit, the new limit becomes the lower value.
h. Otherwise, hardLimit is unchanged.


After a hardLimit adjustment at Block XXXXXX, can the hardLimit adjust again at Block XXXXXX+2016 (allowing reuse of voted from Blocks XXXXXX-9085 through XXXXXX-1)?

Or, are those votes note reusable, and is the next possible hardLimit adjustment at Block Block XXXXXX+12096?

-- Apologies if my "XXX+" and "XXX-" numbers are off by +/- 1, but I think I marked them correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.