[bitcoin-dev] On Hardforks in the Context of SegWit

Peter Todd pete at petertodd.org
Mon Feb 8 22:54:36 UTC 2016

On Mon, Feb 08, 2016 at 02:36:47PM -0800, Simon Liu via bitcoin-dev wrote:
> > 1) The segregated witness discount is changed from 75% to 50%. The block
> > size limit (ie transactions + witness/2) is set to 1.5MB. This gives a
> > maximum block size of 3MB and a "network-upgraded" block size of roughly
> > 2.1MB. This still significantly discounts script data which is kept out
> > of the UTXO set, while keeping the maximum-sized block limited.
> What is the rationale for offering a discount?

UTXO set space is significantly more expensive for the network as all
full nodes must keep the entire UTXO set.

Additionally, transaction input/output data in general is argued by some
to be less expensive than signatures, as you have more options with
regard to skipping validation of signatures (e.g. how Bitcoin Core skips
validation of signatures prior to checkpoints).

> Is there an economic basis for setting the original discount at 75%
> instead of some other number?
> If it's okay to arbitrarily reduce the discount by 1/3, what are the
> actual boundary limits:  50% - 75% ?  40% - 80% ?

So, something to keep in mind in general in all these discussions is
that at best engineering always has "magic numbers" involved, the
question is where?

For example, I've proposed that we use a 99% miner vote threshold for
hard-forks (remember that the threshold can always be soft-forked down
later). The rational there is, among other things, you want to ensure
that the non-adopting miners' chain is useless for transacting due to
extremely long block times, as well as we want it to receive
confirmations slowly to prevent fraud. (of course, there's also the
non-technical argument that we want to adopt hard-forks with extremely
wide adoption) At 99% the 1% remaining chain will have a block interval
of about 16 hours.

Now, I've been asked "why 99%? isn't that a magic number?"

I could have instead said my goal was to increase the block interval to
24 hours, in which case I'd have used a 99.3% threshold. But again,
isn't 24 hours a magic number? Why not 25hrs?

The answer is 24 hours *is* a magic number - but trying to eliminate
that with yet another meta level of engineering analysis becomes a game
of diminishing returns.

https://petertodd.org 'peter'[:-1]@petertodd.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 650 bytes
Desc: Digital signature
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160208/ea039ad9/attachment-0001.sig>

More information about the bitcoin-dev mailing list