public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: jl2012@xbt.hk
To: bitcoin-dev@lists.linuxfoundation.org
Subject: [bitcoin-dev] Impacts of Segregated Witness softfork
Date: Wed, 09 Dec 2015 09:30:23 -0500	[thread overview]
Message-ID: <ed988315078ef8c06f4bd71463440e63@xbt.hk> (raw)

Although the plan is to implement SW with softfork, I think many 
important (but non-consensus critical) components of the network would 
be broken and many things have to be redefined.

1. Definition of "Transaction ID". Currently, "Transaction ID" is simply 
a hash of a tx. With SW, we may need to deal with 2 or 3 IDs for each 
tx. Firstly we have the "backward-compatible txid" (bctxid), which has 
exactly the same meaning of the original txid. We also have a "witness 
ID" (wid), which is the hash of the witness. And finally we may need a 
"global txid" (gtxid), which is a hash of bctxid|wid. A gtxid is needed 
mainly for the relay of txs between full nodes. bctxid and wid are 
consensus critical while gtxid is for relay network only.

2. IBLT / Bitcoin relay network: As the "backward-compatible txid" 
defines only part of a tx, any relay protocols between full nodes have 
to use the "global txid" to identify a tx. Malleability attack targeting 
relay network is still possible as the witness is malleable.

3. getblocktemplete has to be upgraded to deal with witness data and 
witness IDs. (Stratum seems to be not affected? I'm not sure)

4. Protocols relying on the coinbase tx (e.g. P2Pool, merged mining): 
depends on the location of witness commitment, these protocols may be 
broken.

Feel free to correct me and add more to the list.






                 reply	other threads:[~2015-12-09 14:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=ed988315078ef8c06f4bd71463440e63@xbt.hk \
    --to=jl2012@xbt.hk \
    --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