jl2012 at xbt.hk [ARCHIVE] on Nostr: 📅 Original date posted:2015-08-24 📝 Original message:Your proposal also ...
📅 Original date posted:2015-08-24
📝 Original message:Your proposal also permanently burns a sequence bit. It depends on how
we value a nSequence bit and a nVersion bit. I think there is a
trade-off here:
1. nSequence is signed by each TxIn individually, while all TxIns must
share the same nVersion
2. If nVersion is used to indicate the meaning of nSequence (as I
suggested):
Pros:
It saves a nSequence bit and allows more space for redefining the
nSequence
Cons:
It burns a nVersion bit.
All TxIns in a tx must share the same meaning for their nSequence
3. If nSequence is used to indicate the meaning of itself (as you
suggested):
Pros:
It saves a nVersion bit
Different TxIn may have different meaning with their nSequence
Cons:
It burns a nSequence bit, thus less space for extension
I don't think there is a perfect choice. However, I still prefer my
proposal because:
1. nSequence is signed by each TxIn individually and could be more
interesting than nVersion.
2. If nVersion is expected to be a monotonic number, 2 bytes = 65536
versions is enough for 65 millenniums if it ticks once per year. 4 bytes
is an overkill. Why don't we spend a bit if there is a good reason? Most
softforks (e.g. OP_CLTV, OP_CSV, BIP66) are not optional. These kind of
optional new functions would not be common and should never use up the
version bits. (or, could you suggest a better use of the tx version
bits?)
Mark Friedenbach 於 2015-08-23 22:54 寫到:
> Sorry this was meant for the list:
>
> There are only 32 bits in the version field. If you're going to spend
> a bit for perpetuity to indicate whether or not a feature is active,
> you'd better have a good reason to make that feature optional.
>
> I haven't seen a compelling use case for having BIP 68 be optional in
> that way. As you note, BIP 68 semantics is already optional by
> toggling the most significant bit, and that doesn't permanently burn a
> version bit.
Published at
2023-06-07 15:46:54Event JSON
{
"id": "6ad71ae0777505eb6dc3b5bfbe94906f6582ec38ad5eaf21b42fc481e1a66ac0",
"pubkey": "b61e2e7ccbf4abd7f49715c62f4ac7a93cbdd5ead0316279c5f5fe9b18dd0aaa",
"created_at": 1686152814,
"kind": 1,
"tags": [
[
"e",
"6086ec24c7436956a4324b488abdb6aa06edbf1e682d11a0a5b70b6f8e62e6f3",
"",
"root"
],
[
"e",
"e4672b66175533a06f0046b47280375b305b34ce2b4d54e5827a958375a20367",
"",
"reply"
],
[
"p",
"1c61d995949cbfaf14f767784e166bde865c7b8783d7aa3bf0a1d014b70c0069"
]
],
"content": "📅 Original date posted:2015-08-24\n📝 Original message:Your proposal also permanently burns a sequence bit. It depends on how \nwe value a nSequence bit and a nVersion bit. I think there is a \ntrade-off here:\n\n1. nSequence is signed by each TxIn individually, while all TxIns must \nshare the same nVersion\n\n2. If nVersion is used to indicate the meaning of nSequence (as I \nsuggested):\nPros:\nIt saves a nSequence bit and allows more space for redefining the \nnSequence\nCons:\nIt burns a nVersion bit.\nAll TxIns in a tx must share the same meaning for their nSequence\n\n3. If nSequence is used to indicate the meaning of itself (as you \nsuggested):\nPros:\nIt saves a nVersion bit\nDifferent TxIn may have different meaning with their nSequence\nCons:\nIt burns a nSequence bit, thus less space for extension\n\nI don't think there is a perfect choice. However, I still prefer my \nproposal because:\n\n1. nSequence is signed by each TxIn individually and could be more \ninteresting than nVersion.\n2. If nVersion is expected to be a monotonic number, 2 bytes = 65536 \nversions is enough for 65 millenniums if it ticks once per year. 4 bytes \nis an overkill. Why don't we spend a bit if there is a good reason? Most \nsoftforks (e.g. OP_CLTV, OP_CSV, BIP66) are not optional. These kind of \noptional new functions would not be common and should never use up the \nversion bits. (or, could you suggest a better use of the tx version \nbits?)\n\n\nMark Friedenbach 於 2015-08-23 22:54 寫到:\n\u003e Sorry this was meant for the list:\n\u003e \n\u003e There are only 32 bits in the version field. If you're going to spend\n\u003e a bit for perpetuity to indicate whether or not a feature is active,\n\u003e you'd better have a good reason to make that feature optional.\n\u003e \n\u003e I haven't seen a compelling use case for having BIP 68 be optional in\n\u003e that way. As you note, BIP 68 semantics is already optional by\n\u003e toggling the most significant bit, and that doesn't permanently burn a\n\u003e version bit.",
"sig": "721d07c94456b0050536f352e3930e157a3867188234c339edf6dbef8a26661c1304c1e40e0fe2ad5de4854780f966b7b02f8ed53fa8356f57410902159cfb58"
}