public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Vincent Truong <vincent.truong@procabiak•com>
To: bitcoin-dev@lists•linuxfoundation.org
Subject: [bitcoin-dev] BIP 9 style version bits for txns
Date: Tue, 8 Dec 2015 23:27:27 +1100	[thread overview]
Message-ID: <CACrzPenvAWdkgRG3Y7P31JiNEVRYvd+f1nMp=QRhAp5P_eGRow@mail.gmail.com> (raw)

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

So I have been told more than once that the version announcement in blocks
is not a vote, but a signal for readiness, used in isSupermajority().
Basically, if soft forks (and hard forks) won't activate unless a certain %
of blocks have been flagged with the version up (or bit flipped when
versionbits go live) to signal their readiness, that is a vote against
implementation if they never follow up. I don't like this politically
correct speech because in reality it is a vote... But I'm not here to argue
about that... I would like to see if there are any thoughts on
extending/copying isSupermajority() for a new secondary/non-critical
function to also look for a similar BIP 9 style version bit in txns.
Apologies if already proposed, haven't heard of it anywhere.

If we are looking for a signal of readiness, it is unfair to wallet
developers and exchanges that they are unable to signal if they too are
ready for a change. As more users are going into use SPV or SPV-like
wallets, when a change occurs that makes them incompatible/in need of
upgrade we need to make sure they aren't going to break or introduce
security flaws for users.

If a majority of transactions have been sent are flagged ready, we know
that they're also good to go.

Would you implement the same versionbits for txn's version field, using 3
bits for versioning and 29 bits for flags? This indexing of every txn might
sound insane and computationally expensive for bitcoin Core to run, but if
it isn't critical to upgrade with soft forks, then it can be watched
outside the network by enthusiasts. I believe this is the most politically
correct way to get wallet devs and exchanges involved. (If it were me I
would absolutely try figure out a way to stick it in isSupermajority...)

Miners can watch for readiness flagged by wallets before they themselves
flag ready. We will have to trust miners to not jump the gun, but that's
the trade off.

Thoughts?

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

             reply	other threads:[~2015-12-08 12:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-08 12:27 Vincent Truong [this message]
2015-12-08 19:40 ` Chris Priest
2015-12-08 21:02   ` Vincent Truong
2015-12-08 22:27     ` Chris Priest

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='CACrzPenvAWdkgRG3Y7P31JiNEVRYvd+f1nMp=QRhAp5P_eGRow@mail.gmail.com' \
    --to=vincent.truong@procabiak$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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