public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [bitcoin-dev] A Small Modification to Segwit
@ 2017-04-07 20:06 Jimmy Song
  2017-04-08  0:05 ` Jimmy Song
                   ` (2 more replies)
  0 siblings, 3 replies; 41+ messages in thread
From: Jimmy Song @ 2017-04-07 20:06 UTC (permalink / raw)
  To: bitcoin-dev

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

Hey everyone, This is an idea that I had about Segwit and Gregory's
proposal from yesterday that I wanted to run by everyone on this list. I'm
not at all sure what this would mean for non-upgraded nodes on the network
and would like feedback on that. This is not a formal BIP as it's a
modification to a previously submitted one, but I'm happy to formalize it
if it would help.
----------------------------------------
MotivationOne of the interesting aspects of Gregory Maxwell’s proposal is
that it only precludes the covert version of ASICBoost. He specifically
left the overt version alone.

Overt ASICBoost requires grinding on the version bits of the Block header
instead of the Merkle Root. This is likely more efficient than the Merkle
Root grinding (aka covert ASICBoost) and requires way less resources (much
less RAM, SHA256 calculations, no tx shuffling, etc).

If we combine Gregory Maxwell’s proposal with BIP-141 (Segwit) and add a
slight modification, this should, in theory, make ASICBoost a lot more
useful to miners and appeal to their financial interests.
The Modification

Currently, the version bits (currently 4 bytes, or 32 bits) in the header
are used for BIP9 signaling. We change the version bits to a nonce-space so
the miners can use it for overt ASICBoost. The 32-bits are now moved over
to the Coinbase transaction as part of the witness commitment. The witness
commitment goes from 38 bytes to 42 bytes, with the last 4 bytes being used
as the version bits in the block header previously. The witness commitment
becomes required as per Gregory Maxwell’s proposal.
Reasoning

First, this brings ASICBoost out into the open. Covert ASICBoost becomes
much more costly and overt ASICBoost is now encouraged.

Second, we can make this change relatively quickly. Most of the Segwit
testing stays valid and this change can be deployed relatively quickly.

Note on SPV clients

Currently Segwit stores the witness commitment in the Coinbase tx, so
lightweight clients will need to get the Coinbase tx + Merkle proof to
validate segwit transactions anyway. Putting block version information in
the Coinbase tx will not impose an extra burden on upgraded light clients.

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

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2017-04-11 23:42 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-07 20:06 [bitcoin-dev] A Small Modification to Segwit Jimmy Song
2017-04-08  0:05 ` Jimmy Song
2017-04-08 14:59   ` Luke Dashjr
2017-04-08 15:17     ` Jimmy Song
2017-04-08 16:05       ` Luke Dashjr
2017-04-08 16:16         ` Jimmy Song
2017-04-08 16:19   ` Timo Hanke
2017-04-08  1:48 ` praxeology_guy
2017-04-08  2:46   ` Jimmy Song
2017-04-08  8:33     ` Pavel Moravec
2017-04-08 14:35       ` Jimmy Song
2017-04-08 16:38         ` Pavel Moravec
2017-04-08 22:19           ` Jimmy Song
2017-04-08 18:15         ` praxeology_guy
2017-04-08 18:51           ` Eric Voskuil
2017-04-08 20:38             ` praxeology_guy
2017-04-09 11:46           ` Jorge Timón
2017-04-08 16:27     ` Jorge Timón
2017-04-08 17:22       ` Jorge Timón
2017-04-08 22:26         ` Jimmy Song
2017-04-09 11:48           ` Jorge Timón
2017-04-09 14:01             ` Jimmy Song
     [not found]               ` <CABm2gDqfsBREj2x5Uz9hxwt-Y6m=KHd2-hRw4gV0CbO+-8B0dg@mail.gmail.com>
2017-04-10  9:16                 ` Jorge Timón
2017-04-09 18:44   ` Erik Aronesty
2017-04-09 21:16     ` Jared Lee Richardson
2017-04-09 23:51       ` David Vorick
2017-04-10  0:20         ` Erik Aronesty
2017-04-10  1:45           ` Thomas Daede
2017-04-10 14:34     ` Bram Cohen
2017-04-10 14:46     ` Bram Cohen
2017-04-10 15:25     ` g
2017-04-10 18:17       ` Erik Aronesty
2017-04-11  2:39         ` g
2017-04-11 18:39           ` Staf Verhaegen
2017-04-11  9:31       ` Sancho Panza
2017-04-11 13:00         ` Jorge Timón
2017-04-11  7:59 ` Tom Zander
2017-04-11 13:25   ` Sancho Panza
2017-04-11 14:40     ` Jimmy Song
2017-04-11 21:25       ` Jorge Timón
2017-04-11 23:42         ` Jimmy Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox