LearnBitcoin

Bitcoin Dev Archive 2015

BIP 100 repo

7 messages, 2 to 3 Sep 2015. Started by Jeff Garzik.

Jeff Garzik (4), Luke Dashjr, Benjamin Cordes, Odinn Cyberguerrilla

Permalink Original thread on gnusha.org

Jeff Garzik permalink original

Opened a repo containing the full text of BIP 100 discussion document, in markdown format.

The BIP 100 formal spec will be checked in here as well, before submitting to upstream bips.git repo.

Jeff Garzik in reply to Jeff Garzik permalink original

Oops, link paste fail.

The repo: https://github.com/jgarzik/bip100

On Wed, Sep 2, 2015 at 7:51 PM, Jeff Garzik <jgarzik@gmail•com> wrote:

Quoted text (8 lines)
> Opened a repo containing the full text of BIP 100 discussion document, in
> markdown format.
>
> The BIP 100 formal spec will be checked in here as well, before submitting
> to upstream bips.git repo.
>
>
>
Luke Dashjr in reply to Jeff Garzik permalink original

On Wednesday, September 02, 2015 11:58:54 PM Jeff Garzik via bitcoin-dev wrote:

Quoted text (1 line)
> The repo: https://github.com/jgarzik/bip100

What is the purpose of the newly added 1 MB floor? It seems clear from the current information available that 1 MB is presently too high for the limit, and it is entirely one-sided to only allow increases when decreases are much more likely to be needed in the short term.

Must the new size limit votes use 11 bytes of coinbase? Why not just use a numeric value pushed after height? Since this is a hardfork, I suggest increasing the coinbase length to allow for 100 bytes *in addition* to the pushed height and size-vote.

I suggest combining 2 & 4 into a single rule lifting the 1 MB limit to 32 MB (or whatever value is deemed appropriate) to make it clear that the limit remains a part of the consensus protocol and p2p protocol limits are not to have an effect on consensus rules.

Furthermore, I suggest modifying the voting to require 50% to set the limit floor. This has the effect of merely coordinating what miners can already effectively do today by rejecting blocks larger than some collusion- determined limit.

Thoughts?

Luke

Jeff Garzik in reply to Luke Dashjr permalink original

Luke,

- Definitely agree with most of your suggestions on the practical side; several clarification could be made. - The power to decrease the hard limit appears riskier long term in my analysis. This is mitigated somewhat by the ease at which miners may locally or collectively lower the block size at any time, without a vote.

On Wed, Sep 2, 2015 at 8:17 PM, Luke Dashjr <luke@dashjr•org> wrote:

Quoted text (31 lines)
> On Wednesday, September 02, 2015 11:58:54 PM Jeff Garzik via bitcoin-dev
> wrote:
> > The repo: https://github.com/jgarzik/bip100
>
> What is the purpose of the newly added 1 MB floor? It seems clear from the
> current information available that 1 MB is presently too high for the
> limit,
> and it is entirely one-sided to only allow increases when decreases are
> much
> more likely to be needed in the short term.
>
> Must the new size limit votes use 11 bytes of coinbase? Why not just use a
> numeric value pushed after height? Since this is a hardfork, I suggest
> increasing the coinbase length to allow for 100 bytes *in addition* to the
> pushed height and size-vote.
>
> I suggest combining 2 & 4 into a single rule lifting the 1 MB limit to 32
> MB
> (or whatever value is deemed appropriate) to make it clear that the limit
> remains a part of the consensus protocol and p2p protocol limits are not to
> have an effect on consensus rules.
>
> Furthermore, I suggest modifying the voting to require 50% to set the limit
> floor. This has the effect of merely coordinating what miners can already
> effectively do today by rejecting blocks larger than some collusion-
> determined limit.
>
> Thoughts?
>
> Luke
>
Jeff Garzik in reply to Luke Dashjr permalink original

Oh, and answering your question about the 1M: It is a safety rail. It can perform no worse on the low end than the current system. Eliminates unlikely scenarios that squeeze users.

On Wed, Sep 2, 2015 at 8:17 PM, Luke Dashjr <luke@dashjr•org> wrote:

Quoted text (31 lines)
> On Wednesday, September 02, 2015 11:58:54 PM Jeff Garzik via bitcoin-dev
> wrote:
> > The repo: https://github.com/jgarzik/bip100
>
> What is the purpose of the newly added 1 MB floor? It seems clear from the
> current information available that 1 MB is presently too high for the
> limit,
> and it is entirely one-sided to only allow increases when decreases are
> much
> more likely to be needed in the short term.
>
> Must the new size limit votes use 11 bytes of coinbase? Why not just use a
> numeric value pushed after height? Since this is a hardfork, I suggest
> increasing the coinbase length to allow for 100 bytes *in addition* to the
> pushed height and size-vote.
>
> I suggest combining 2 & 4 into a single rule lifting the 1 MB limit to 32
> MB
> (or whatever value is deemed appropriate) to make it clear that the limit
> remains a part of the consensus protocol and p2p protocol limits are not to
> have an effect on consensus rules.
>
> Furthermore, I suggest modifying the voting to require 50% to set the limit
> floor. This has the effect of merely coordinating what miners can already
> effectively do today by rejecting blocks larger than some collusion-
> determined limit.
>
> Thoughts?
>
> Luke
>
Benjamin Cordes in reply to Jeff Garzik permalink original

I would be helpful to describe what is meant by "votes". As far as I understand this would be a semi-automatic process - nodes encode values which in turn are hardcoded in software, or is this completely automated without any intervention at all? Is there the possibility that nodes decide by encode votes, but somehow this decision is not adhered to? Is 4. a 51% rule?

Under 2. it might make sense to specify values in the range (1MB steps e.g.). The number of options could have an effect. For example if the vote has 4 possible values or 32 possible values can make a difference in outcomes.

With regards to 1. Bitcoin does not have a fee market, although I agree that might be a good goal. There is no price-determination of fees and no definition of quality of service. A fee market would entail some matching of demand and supply to establish a price. Users would adjust fee to win a transaction slow in a deterministic way. However currently the user has no way of knowing what effect a fee might have. So this would necessarily include some kind pricing-mechanism with actual commitments. Bitcoin as a system is quite far away from such a capability. It would mean Bitcoin is capable of adapting to how it is used. For example that would allow to shift transactions from high demand period to low demand period. I'm not aware of any proposal to make an actual functioning fee market in Bitcoin (or even the conceptual primitives).

On Thu, Sep 3, 2015 at 5:09 AM, Jeff Garzik via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (48 lines)
> Oh, and answering your question about the 1M:  It is a safety rail.  It
> can perform no worse on the low end than the current system.  Eliminates
> unlikely scenarios that squeeze users.
>
>
> On Wed, Sep 2, 2015 at 8:17 PM, Luke Dashjr <luke@dashjr•org> wrote:
>
>> On Wednesday, September 02, 2015 11:58:54 PM Jeff Garzik via bitcoin-dev
>> wrote:
>> > The repo: https://github.com/jgarzik/bip100
>>
>> What is the purpose of the newly added 1 MB floor? It seems clear from the
>> current information available that 1 MB is presently too high for the
>> limit,
>> and it is entirely one-sided to only allow increases when decreases are
>> much
>> more likely to be needed in the short term.
>>
>> Must the new size limit votes use 11 bytes of coinbase? Why not just use a
>> numeric value pushed after height? Since this is a hardfork, I suggest
>> increasing the coinbase length to allow for 100 bytes *in addition* to the
>> pushed height and size-vote.
>>
>> I suggest combining 2 & 4 into a single rule lifting the 1 MB limit to 32
>> MB
>> (or whatever value is deemed appropriate) to make it clear that the limit
>> remains a part of the consensus protocol and p2p protocol limits are not
>> to
>> have an effect on consensus rules.
>>
>> Furthermore, I suggest modifying the voting to require 50% to set the
>> limit
>> floor. This has the effect of merely coordinating what miners can already
>> effectively do today by rejecting blocks larger than some collusion-
>> determined limit.
>>
>> Thoughts?
>>
>> Luke
>>
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>
Odinn Cyberguerrilla in reply to Jeff Garzik permalink original

Excellent - thank you.

Jeff Garzik via bitcoin-dev:

Quoted text (23 lines)
> Oops, link paste fail.
>
> The repo: https://github.com/jgarzik/bip100
>
>
> On Wed, Sep 2, 2015 at 7:51 PM, Jeff Garzik <jgarzik@gmail•com>
> wrote:
>
>> Opened a repo containing the full text of BIP 100 discussion
>> document, in markdown format.
>>
>> The BIP 100 formal spec will be checked in here as well, before
>> submitting to upstream bips.git repo.
>>
>>
>>
>
>
>
> _______________________________________________ bitcoin-dev mailing
> list bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

- -- http://abis.io ~ "a protocol concept to enable decentralization and expansion of a giving economy, and a new social good" https://keybase.io/odinn