public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Tier Nolan <tier.nolan@gmail.com>
Cc: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Proposed alternatives to the 20MB step function
Date: Mon, 18 May 2015 11:12:11 +0930	[thread overview]
Message-ID: <878ucmslu4.fsf@rustcorp.com.au> (raw)
In-Reply-To: <CAE-z3OXue5E0TzRhx6y8eTOTy=EARsrGwJ1qv8Kv1nbCsjVE_g@mail.gmail.com>

Tier Nolan <tier.nolan@gmail.com> writes:
> On Sat, May 16, 2015 at 1:22 AM, Rusty Russell <rusty@rustcorp.com.au>
> wrote:
>> 3) ... or maybe not, if any consumed UTXO was generated before the soft
>>    fork (reducing Tier's perverse incentive).
>
> The incentive problem can be fixed by excluding UTXOs from blocks before a
> certain count.
>
> UTXOs in blocks before 375000 don't count.

OK.  Be nice if these were cleaned up, but I guess it's a sunk cost.

>> 4) How do we measure UTXO size?  There are some constant-ish things in
>>    there (eg. txid as key, height, outnum, amount).  Maybe just add 32
>>    to scriptlen?
>>
>
> They can be stored as a fixed digest.  That can be any size, depending on
> security requirements.
>
> Gmaxwell's cost proposal is 3-4 bytes per UTXO change.  It isn't
> 4*UXTO.size - 3*UTXO.size

He said "utxo_created_size" not "utxo_created" so I assumed scriptlen?

> It is only a small nudge.  With only 10% of the block space to play with it
> can't be massive.

But you made that number up?  The soft cap and hard byte limit are
different beasts, so there's no need for soft cost cap < hard byte
limit.

> This requires that transactions include scriptPubKey information when
> broadcasting them.

Brilliant!  I completely missed that possibility...

>> 5) Add a CHECKSIG cost.  Naively, since we allow 20,000 CHECKSIGs and
>>    1MB blocks, that implies a cost of 50 bytes per CHECKSIG (but counted
>>    correctly, unlike now).
>>
>> This last one implies that the initial cost limit would be 2M, but in
>> practice probably somewhere in the middle.
>>
>>   tx_cost = 50*num-CHECKSIG
>>                 + tx_bytes
>>                 + 4*utxo_created_size
>>                 - 3*utxo_consumed_size
>>
>> > A 250 byte transaction with 2 inputs and 2 outputs would have an adjusted
>> > size of 252 bytes.
>>
>> Now cost == 352.
>
> That is to large a cost for a 10% block change.  It could be included in
> the block size hard fork though.

I don't think so.  Again, you're mixing units.

> I think have one combined "cost" for
> transactions is good.  It means much fewer spread out transaction checks.
> The code for the cost formula would be in one place.

Agreed!  Unfortunately there'll always be 2, because we really do want a
hard byte limit: it's total tx bytes which brings most concerns about
centralization.  But ideally it'll be so rarely hit that it can be ~
ignored (and certainly not optimized for).

Cheers,
Rusty.



  reply	other threads:[~2015-05-18  6:22 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08  7:20 [Bitcoin-development] Proposed alternatives to the 20MB step function Matt Whitlock
2015-05-08 10:15 ` Mike Hearn
2015-05-08 10:30 ` Clément Elbaz
2015-05-08 12:32   ` Joel Joonatan Kaartinen
2015-05-08 12:48     ` Matt Whitlock
2015-05-08 13:24       ` Matt Whitlock
2015-05-08 12:48     ` Gavin Andresen
2015-05-08 16:51     ` Peter Todd
2015-05-08 22:36       ` Joel Joonatan Kaartinen
2015-05-09 18:30         ` Peter Todd
2015-05-08 15:57 ` Alex Mizrahi
2015-05-08 16:55 ` Bryan Bishop
2015-05-08 20:33 ` Mark Friedenbach
2015-05-08 22:43   ` Aaron Voisine
2015-05-08 22:45     ` Mark Friedenbach
2015-05-08 23:15       ` Aaron Voisine
2015-05-08 23:58         ` Mark Friedenbach
2015-05-09  3:36   ` Gregory Maxwell
2015-05-09 11:58     ` Gavin Andresen
2015-05-09 13:49       ` Tier Nolan
2015-05-10 17:36     ` Owen Gunden
2015-05-10 18:10       ` Mark Friedenbach
2015-05-10 21:21     ` Gavin Andresen
2015-05-10 21:33       ` Gregory Maxwell
2015-05-10 21:56       ` Rob Golding
2015-05-13 10:43     ` Tier Nolan
2015-05-16  0:22       ` Rusty Russell
2015-05-16 11:09         ` Tier Nolan
2015-05-18  1:42           ` Rusty Russell [this message]
2015-05-19  8:59             ` Tier Nolan
2015-05-10 21:48   ` Thomas Voegtlin
2015-05-10 22:31     ` Mark Friedenbach
2015-05-10 23:11       ` Thomas Voegtlin
2015-05-28 15:53 ` Gavin Andresen
2015-05-28 17:05   ` Mike Hearn
2015-05-28 17:19     ` Gavin Andresen
2015-05-28 17:34       ` Mike Hearn
2015-05-28 18:23         ` Gavin Andresen
2015-05-29 11:26           ` Mike Hearn
2015-05-29 11:42             ` Tier Nolan
2015-05-29 11:57               ` Mike Hearn
2015-05-29 12:39                 ` Gavin Andresen
2015-05-29 14:00                   ` insecurity
2015-05-29 14:15                     ` Braun Brelin
2015-05-29 14:09                   ` Tier Nolan
2015-05-29 14:20                     ` Gavin Andresen
2015-05-29 14:22                       ` Mike Hearn
2015-05-29 14:21                     ` Mike Hearn
2015-05-29 14:22                     ` Tier Nolan
2015-05-29 16:39                       ` [Bitcoin-development] Proposed alternatives to the 20MB stepfunction Raystonn .
2015-05-29 18:28                         ` Tier Nolan
2015-05-29 17:53                   ` [Bitcoin-development] Proposed alternatives to the 20MB step function Admin Istrator
2015-05-30  9:03                     ` Aaron Voisine
2015-06-01 11:30                       ` Ricardo Filipe
2015-06-01 11:46                         ` Marcel Jamin
2015-05-29 18:47                   ` Bryan Cheng
2015-05-30  1:36                     ` Cameron Garnham
2015-05-28 17:39       ` [Bitcoin-development] Proposed alternatives to the 20MB stepfunction Raystonn .
2015-05-28 17:59         ` Pieter Wuille
2015-05-28 18:21           ` Gavin Andresen
2015-05-28 17:50       ` [Bitcoin-development] Proposed alternatives to the 20MB step function Peter Todd
2015-05-28 17:14   ` Thomas Voegtlin
2015-05-28 17:34   ` Pieter Wuille
2015-05-29 17:45   ` Aaron Voisine
2015-05-08 14:57 Steven Pine
2015-05-09  0:13 Raystonn
     [not found] <CAAjy6kDdB8uODpPcmS8h4eap8fke7Y2y773NHJZja8tB5mPk4Q@mail.gmail.com>
2015-05-28 16:30 ` Steven Pine
     [not found]   ` <CABsx9T03aNRC5DRbR06nNtsiBdJAcQsGAHvbCOe3pnuRpdvq5w@mail.gmail.com>
2015-05-28 18:25     ` Steven Pine
2015-05-28 18:31       ` Gavin Andresen

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=878ucmslu4.fsf@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=bitcoin-development@lists.sourceforge.net \
    --cc=tier.nolan@gmail.com \
    /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