1
0
Fork 0
mirror of https://github.com/bitcoin/bips.git synced 2025-02-24 07:28:03 +01:00

bip100: Clarifications

This commit is contained in:
Tom Harding 2017-05-06 12:29:54 -04:00 committed by Jeff Garzik
parent 7ea5bfccde
commit 7c23bf14ee
2 changed files with 19 additions and 7 deletions

View file

@ -413,6 +413,13 @@ Those proposing changes should consider that ultimately consent may rest with th
| Jorge Timón | Jorge Timón
| Informational | Informational
| Draft | Draft
|-
| [[bip-0100.mediawiki|100]]
| Consensus (hard fork)
| Dynamic block size by miner vote
| Jeff Garzik, Tom Harding, Dagur Valberg
| Standard
| Draft
|- style="background-color: #ffcfcf" |- style="background-color: #ffcfcf"
| [[bip-0101.mediawiki|101]] | [[bip-0101.mediawiki|101]]
| Consensus (hard fork) | Consensus (hard fork)

View file

@ -5,6 +5,7 @@
Author: Jeff Garzik <jgarzik@gmail.com> Author: Jeff Garzik <jgarzik@gmail.com>
Tom Harding <tomh@thinlink.com> Tom Harding <tomh@thinlink.com>
Dagur Valberg Johannsson <dagurval@pvv.ntnu.no> Dagur Valberg Johannsson <dagurval@pvv.ntnu.no>
Comments-Summary: No comments yet.
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100 Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100
Status: Draft Status: Draft
Type: Standards Track Type: Standards Track
@ -41,20 +42,22 @@ The system is compatible with emergent consensus, but whereas under that system
### The votes of the previous 2016 blocks are sorted by megabyte vote. ### The votes of the previous 2016 blocks are sorted by megabyte vote.
### Raising <code>hardLimit</code><br /><br /> ### Raising <code>hardLimit</code><br /><br />
#### The <code>raise value</code> is defined as the vote of the 1512th highest block, converted to bytes. #### The <code>raise value</code> is defined as the vote of the 1512th highest block, converted to bytes.
#### If the resultant <code>raise value</code> is greater than (<code>current hardLimit</code> * 1.05) rounded down to the nearest byte, it is set to that value. #### If the resultant <code>raise value</code> is greater than (<code>current hardLimit</code> * 1.05) rounded down, it is set to that value.
#### If the resultant <code>raise value</code> is greater than <code>current hardLimit</code>, the <code>raise value</code> becomes the <code>new hardLimit</code> and the recalculation is complete.<br /><br /> #### If the resultant <code>raise value</code> is greater than <code>current hardLimit</code>, the <code>raise value</code> becomes the <code>new hardLimit</code> and the recalculation is complete.<br /><br />
### Lowering <code>hardlimit</code><br /><br /> ### Lowering <code>hardLimit</code><br /><br />
#### The <code>lower value</code> is defined as the vote of the 1512th lowest block, converted to bytes. #### The <code>lower value</code> is defined as the vote of the 1512th lowest block, converted to bytes.
#### If the resultant <code>lower value</code> is less than (<code>current hardLimit</code> / 1.05) rounded down to the nearest byte, it is set to that value. #### If the resultant <code>lower value</code> is less than (<code>current hardLimit</code> / 1.05) rounded down, it is set to that value.
#### If the resultant <code>lower value</code> is less than <code>current hardLimit</code>, the <code>lower value</code> becomes the <code>new hardLimit</code> and the recalculation is complete.<br /><br /> #### If the resultant <code>lower value</code> is less than <code>current hardLimit</code>, the <code>lower value</code> becomes the <code>new hardLimit</code> and the recalculation is complete.<br /><br />
### Otherwise, <code>new hardLimit</code> remains the same as <code>current hardLimit</code>. ### Otherwise, <code>new hardLimit</code> remains the same as <code>current hardLimit</code>.
===Signature Hashing Operations Limits=== ===Signature Hashing Operations Limits===
# The per-block signature hashing operations limit is scaled to (actual block size rounded up to nearest megabyte)/50. # The per-block signature hashing operations limit is scaled to (actual block size, fractional megabyte rounded to next higher megabyte) / 50.
# A maximum serialized transaction size of 1000000 bytes is imposed. # A maximum serialized transaction size of 1000000 bytes is imposed.
==Recommendations==
===Publication of <code>hardLimit</code>=== ===Publication of <code>hardLimit</code>===
# For the benefit of emergent consensus nodes, <code>hardLimit</code> is published. Example: a complete coinbase string might read <br /><br /><code>/BIP100/B8/EB2.123456/</code><br /><br /> which indicates a vote for 8M maximum block size, and an enforced <code>hardLimit</code> of 2.123456 megabytes for the block containing the coinbase string. # For the benefit of all observers, it is recommended that <code>hardLimit</code> be published. Example: a complete coinbase string might read <br /><br /><code>/BIP100/B8/EB2.123456/</code><br /><br /> which indicates a vote for 8M maximum block size, and an enforced <code>hardLimit</code> of 2.123456 megabytes for the block containing the coinbase string.
==Deployment== ==Deployment==
@ -64,8 +67,10 @@ This BIP is presumed deployed and activated as of block height 449568 by impleme
The first block larger than 1M will create a network partition, as nodes with a fixed 1M hard limit reject that block. The first block larger than 1M will create a network partition, as nodes with a fixed 1M hard limit reject that block.
==Reference Implementation== ==Implementations==
https://github.com/bitcoinxt/bitcoinxt/pull/188 https://github.com/bitcoinxt/bitcoinxt/pull/188</br>
https://github.com/bitcoinxt/bitcoin/pull/1</br>
https://github.com/BitcoinUnlimited/BitcoinUnlimited/pull/398</br>
==Copyright== ==Copyright==
This document is licensed under the BSD 2-clause license. This document is licensed under the BSD 2-clause license.