public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: "John T. Winslow" <jtwinslow@juno.com>
To: bitcoin-dev@lists.linuxfoundation.org
Subject: Re: [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary
Date: Sat, 1 Aug 2015 13:22:20 -0700	[thread overview]
Message-ID: <55BD2A7C.9060504@juno.com> (raw)
In-Reply-To: <CABr1YTc46x3RoKKF=cckcmVRWCaAQc0KOTrGRX+A-h5V=xYB9A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5672 bytes --]

Regarding the block size increase, at least conceptually it seems to me 
there should be an easy solution. If we look at what works well with 
bitcoin, for example the block reward halving and difficulty regimes 
which due to their step function nature both contribute to the stability 
and predictability of the bitcoin universe while still allowing for the 
necessary dynamic adjustments. It seems to me there should be a 
corresponding and equally simple solution for the maximum block size.

I've never quite understood the supposed rationale behind the proposals 
for a new static maximum of 20 MB or 8 MB or 2 MB other than it would be 
trivial to implement. Why not come up with an equally simple, 
predictable dynamic function consistent with what is already proven to 
work in the bitcoin universe that would both preserve the scarcity of 
transaction capacity to encourage a fee market but also allow for more 
transactions when needed.

For example how about something like once every month at month-end, take 
the 6-month average non-zero transaction fee block size and multiply by 1.5?

With the # of transactions increasing then plateauing you arrive at a 
constant excess capacity of around 33%:

MO    ABS    MBS    EX CAP
1    750    1000    25.0%
2    775    1000    22.5%
3    800    1000    20.0%
4    825    1000    17.5%
5    850    1000    15.0%
6    875    1219    28.2%
7    900    1256    28.4%
8    925    1294    28.5%
9    950    1331    28.6%
10    975    1369    28.8%
11    1000    1406    28.9%
12    1000    1438    30.4%
13    1000    1463    31.6%
14    1000    1481    32.5%
15    1000    1494    33.1%
16    1000    1500    33.3%
17    1000    1500    33.3%
18    1000    1500    33.3%

Similarly, in a declining then plateauing # of transactions market you 
also arrive at a constant excess capacity of about 33%

MO    ABS    MBS    EX CAP
1    750    1000    25.0%
2    725    1000    27.5%
3    700    1000    30.0%
4    675    1000    32.5%
5    650    1000    35.0%
6    625    1031    39.4%
7    600    994    39.6%
8    575    956    39.9%
9    550    919    40.1%
10    525    881    40.4%
11    500    844    40.7%
12    500    813    38.5%
13    500    788    36.5%
14    500    769    35.0%
15    500    756    33.9%
16    500    750    33.3%
17    500    750    33.3%
18    500    750    33.3%

With some simple statistical analysis, one could easily arrive at a 
statistically-inferred excess capacity linked the to probability of 
transaction volume exceeding the new cap in any forward monthly 
interval. In the tables above, I have used my own intuition that people 
seem to be generally comfortable with excess capacity of >= 33% and 
become less so at < 33%.

A scheme like this would have multiple benefits:

1) Adapts predictably and automatically to both rising and declining 
market demand for transactions

2) Preserves the fee market with a constant target excess capacity

3) Monthly adjustment interval and six month lookback allow for 
sufficient time to plan for changes in system capacity

In the case where transaction volume spikes such that it exceeds the 
monthly limit, the fee market would then take over to ensure high 
priority transactions get through fastest. In the case of malicious 
activity, such an attack would have to be maintained for well over a 
month to significantly adversely affect the maximum block size. As long 
as there is a non-zero cost to such attacks, the likelihood of 
maintaining one for a period of months decreases significantly.

Thx,

JTW

On 7/31/2015 1:45 PM, Eric Lombrozo via bitcoin-dev wrote:
>
> I would love to be able to increase block size. But I have serious 
> doubts about being able to do this safely at this time given what we 
> presently know about the Bitcoin network. And I'm pretty sure I'm not 
> alone in this sentiment.
>
> Had we been working on fixing the known issues that most complicate 
> bigger blocks in the last six years, or even in the last three years 
> after many issues had already been well-identified, perhaps we'd be 
> ready to increase the limit. But other things have seemed more 
> important, like specifying the use of X.509 overlay protocols or 
> adding complex filtering mechanisms to the p2p protocol to make it 
> practical to use tx merkle trees...and as a result we're not ready for 
> safely allowing larger blocks.
>
> - Eric
>
> On Jul 30, 2015 11:43 PM, "Thomas Zander via bitcoin-dev" 
> <bitcoin-dev@lists.linuxfoundation.org 
> <mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote:
>
>     On Thursday 30. July 2015 16.33.16 <tel:2015%2016.33.16> Eric
>     Lombrozo via bitcoin-dev wrote:
>     >  I don’t think it’s really a matter of whether we agree on
>     whether it’s good
>     > to raise the block size limit, Gavin. I think it’s a matter of a
>     difference
>     > in priorities.
>
>     Having different priorities is fine, using your time to block
>     peoples attempts
>     to increase block size is not showing different priorities, it
>     shows conflicting
>     priorities.
>     Different priorities means you can trust someone else to do things
>     they care
>     about while you do things you care about.
>     --
>     Thomas Zander
>     _______________________________________________
>     bitcoin-dev mailing list
>     bitcoin-dev@lists.linuxfoundation.org
>     <mailto:bitcoin-dev@lists.linuxfoundation.org>
>     https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[-- Attachment #2: Type: text/html, Size: 7966 bytes --]

  parent reply	other threads:[~2015-08-01 20:29 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-28 22:25 [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary Eric Lombrozo
2015-07-29  0:43 ` Jean-Paul Kogelman
2015-07-29  0:44   ` Eric Lombrozo
2015-07-29  0:46   ` Mark Friedenbach
2015-07-29  0:55     ` Eric Lombrozo
2015-07-29  2:40       ` Eric Lombrozo
2015-07-29  3:37         ` Eric Lombrozo
2015-07-29  3:46           ` Milly Bitcoin
2015-07-29  5:17             ` Eric Lombrozo
2015-07-29 11:18         ` Thomas Zander
2015-07-29  9:59 ` Mike Hearn
2015-07-29 10:43   ` Eric Lombrozo
2015-07-29 11:15     ` Mike Hearn
2015-07-29 12:03       ` Eric Lombrozo
2015-07-29 12:13         ` Thomas Zander
2015-07-29 17:17       ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn'ttemporary Raystonn .
2015-07-29 19:56       ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary Owen
2015-07-29 20:09         ` Gregory Maxwell
2015-07-29 21:28           ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn'ttemporary Raystonn .
2015-07-29 22:11             ` Venzen Khaosan
2015-07-29 23:10               ` Raystonn .
2015-07-30  3:49                 ` Adam Back
2015-07-30  4:51                   ` Andrew LeCody
2015-07-30  8:21                     ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary Eric Lombrozo
2015-07-30  9:15                       ` Eric Lombrozo
2015-07-30 12:29                       ` Gavin
2015-07-30 12:50                         ` Pieter Wuille
2015-07-30 14:03                           ` Thomas Zander
2015-07-30 14:05                           ` Gavin Andresen
2015-07-30 14:28                             ` Pieter Wuille
2015-07-30 15:36                             ` Jorge Timón
2015-07-30 23:33                         ` Eric Lombrozo
2015-07-31  0:15                           ` Milly Bitcoin
2015-07-31 21:30                             ` Jorge Timón
2015-07-31 21:43                               ` Eric Lombrozo
2015-07-31  6:42                           ` Thomas Zander
2015-07-31 20:45                             ` Eric Lombrozo
2015-07-31 20:57                               ` Eric Lombrozo
2015-08-01 20:22                               ` John T. Winslow [this message]
2015-08-01 21:05                                 ` Pieter Wuille
2015-07-30  9:16                   ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn'ttemporary Venzen Khaosan
2015-07-30  9:38                     ` Jorge Timón
2015-07-30 13:33                       ` Venzen Khaosan
2015-07-30 14:10                         ` Jorge Timón
2015-07-30 14:52                       ` Thomas Zander
2015-07-30 15:24                         ` Bryan Bishop
2015-07-30 15:55                           ` Gavin Andresen
2015-07-30 17:24                             ` Thomas Zander
2015-07-31 15:27                             ` Bryan Bishop
2015-07-30 16:07                           ` Thomas Zander
2015-07-30 17:42                             ` Thomas Zander
2015-07-30 18:02                               ` Mark Friedenbach
2015-07-31  0:22                                 ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary Eric Lombrozo
2015-07-31  8:06                                 ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn'ttemporary Thomas Zander
2015-07-30 15:41                         ` Jorge Timón
2015-07-30  9:44             ` odinn
2015-07-29 20:23         ` [bitcoin-dev] Why Satoshi's temporary anti-spam measureisn't temporary Raystonn .
2015-07-29 11:29     ` [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary Thomas Zander
2015-07-29 18:00     ` Jorge Timón
2015-07-30  7:08       ` Thomas Zander
2015-07-29 16:53   ` Gregory Maxwell
2015-07-29 17:30     ` Sriram Karra
2015-07-29 18:03     ` Mike Hearn
2015-07-29 19:53       ` Gregory Maxwell
2015-07-30 14:15         ` Thomas Zander
2015-07-30  9:05       ` odinn
2015-07-31  1:25 Raystonn
2015-07-31  3:18 ` Milly Bitcoin
     [not found] <f9e27b28-f967-45f7-bd1b-c427534ade9c@me.com>
2015-07-31 23:05 ` Jean-Paul Kogelman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55BD2A7C.9060504@juno.com \
    --to=jtwinslow@juno.com \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox