From: jl2012@xbt•hk
To: Mark Friedenbach <mark@friedenbach•org>
Cc: Bitcoin Dev <bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] The use of tx version field in BIP62 and 68
Date: Sat, 08 Aug 2015 15:18:54 -0400 [thread overview]
Message-ID: <44dcb2c03d0bc344ca7a32ee0ddf1f8d@xbt.hk> (raw)
In-Reply-To: <CAOG=w-twsTpVKzycPt_ZEFKzjnnTX1n83vdXcyxWsx11gSH5Tw@mail.gmail.com>
I think I have explained my motivation but let me try to make it
clearer.
For example, BIP62 says "scriptPubKey evaluation will be required to
result in a single non-zero value". If we had BIP62 before BIP16, P2SH
could not be done in the current form because BIP16 leaves more than one
element on the stake for non-upgrading nodes. BIP17 also violates BIP62.
BIP68 is "only enforced if the most significant bit of the sequence
number field is set.", so it is optional, anyway. All I do is to move
the flag from sequence number to version number.
The blocksize debate shows how a permanent softfork may cause trouble
later. We need to be very careful when doing further softforks, making
sure we will have enough flexibility for further development.
Mark Friedenbach 於 2015-08-08 14:56 寫到:
> It is not a bug that you are unable to selectively choose these
> features with higher version numbers. The version selection is in
> there at all because there is a possibility that there exists already
> signed transactions which would violate these new rules. We wouldn't
> want these transactions to become unspendable. However moving forward
> there is no reason to selectively pick and choose which of these new
> consensus rules you want to apply your transaction.
> On Aug 8, 2015 11:51 AM, "jl2012 via bitcoin-dev"
> <bitcoin-dev@lists•linuxfoundation.org> wrote:
>
>> BIP68 rules and some of the BIP62 rules are applied only if the tx
>> version is >=2 and >=3 respectively. Therefore, it is not possible
>> to create a tx which follows BIP62 but not BIP68. If we introduce v4
>> tx later, BIP62 and BIP68 will all become mandatory.
>>
>> Some rules, e.g. "scriptPubKey evaluation will be required to
>> result in a single non-zero value" in BIP62, will cause trouble when
>> we try to introduce a new script system with softfork.
>>
>> I suggest to divide the tx version field into 2 parts: the higher 4
>> bits and lower 28 bits.
>>
>> BIP62 is active for a tx if its highest bits are 0000, and the
>> second lowest bit is 1.
>>
>> BIP68 is active for a tx if its highest bits are 0000, and the
>> third lowest bit is 1.
>>
>> So it will be easier for us to re-purpose the nSequence, or to take
>> advantage of malleability in the future. If this is adopted, the
>> nSequence high bit requirement in BIP68 becomes unnecessary as we
>> could easily switch it off.
>>
>> The low bits will allow 28 independent BIPs and should be ample for
>> many years. When they are exhausted, we can switch the high bits to
>> a different number (1-15) and redefine the meaning of low bits. By
>> that time, some of the 28 BIPs might have become obsoleted or could
>> be merged.
>>
>> (I'm not sure if there are other draft BIPs with similar
>> interpretation of tx version but the comments above should also
>> apply to them)
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists•linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev [1]
>
>
> Links:
> ------
> [1] https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
prev parent reply other threads:[~2015-08-08 19:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-08 18:51 jl2012
2015-08-08 18:56 ` Mark Friedenbach
2015-08-08 19:18 ` jl2012 [this message]
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=44dcb2c03d0bc344ca7a32ee0ddf1f8d@xbt.hk \
--to=jl2012@xbt$(echo .)hk \
--cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
--cc=mark@friedenbach$(echo .)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