jl2012 at xbt.hk [ARCHIVE] on Nostr: 📅 Original date posted:2015-12-09 📝 Original message:Although the plan is to ...
📅 Original date posted:2015-12-09
📝 Original message: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.
Published at
2023-06-07 17:46:02Event JSON
{
"id": "ebd3784bc5cfe8b8f1688ada9d7b0a10eb25436951cbe240396e19a5fa79fd61",
"pubkey": "b61e2e7ccbf4abd7f49715c62f4ac7a93cbdd5ead0316279c5f5fe9b18dd0aaa",
"created_at": 1686159962,
"kind": 1,
"tags": [
[
"e",
"ab35b5ba5c3005ad4391f38d6f625205d9c73b93d2975398f5226c103abd0dd5",
"",
"reply"
],
[
"p",
"a23dbf6c6cc83e14cc3df4e56cc71845f611908084cfe620e83e40c06ccdd3d0"
]
],
"content": "📅 Original date posted:2015-12-09\n📝 Original message:Although the plan is to implement SW with softfork, I think many \nimportant (but non-consensus critical) components of the network would \nbe broken and many things have to be redefined.\n\n1. Definition of \"Transaction ID\". Currently, \"Transaction ID\" is simply \na hash of a tx. With SW, we may need to deal with 2 or 3 IDs for each \ntx. Firstly we have the \"backward-compatible txid\" (bctxid), which has \nexactly the same meaning of the original txid. We also have a \"witness \nID\" (wid), which is the hash of the witness. And finally we may need a \n\"global txid\" (gtxid), which is a hash of bctxid|wid. A gtxid is needed \nmainly for the relay of txs between full nodes. bctxid and wid are \nconsensus critical while gtxid is for relay network only.\n\n2. IBLT / Bitcoin relay network: As the \"backward-compatible txid\" \ndefines only part of a tx, any relay protocols between full nodes have \nto use the \"global txid\" to identify a tx. Malleability attack targeting \nrelay network is still possible as the witness is malleable.\n\n3. getblocktemplete has to be upgraded to deal with witness data and \nwitness IDs. (Stratum seems to be not affected? I'm not sure)\n\n4. Protocols relying on the coinbase tx (e.g. P2Pool, merged mining): \ndepends on the location of witness commitment, these protocols may be \nbroken.\n\nFeel free to correct me and add more to the list.",
"sig": "f25f9e8c3e868243adba1902950721b19d3dd13449dcb41d67494a1bab8777fb7ef9039e5c604d41e28b105c8b1bad8d4f68fa09f927590e7870a69ad12f5726"
}