s7r [ARCHIVE] on Nostr: š
Original date posted:2015-04-16 š Original message:Hi Pieter, Thanks for your ...
š
Original date posted:2015-04-16
š Original message:Hi Pieter,
Thanks for your reply. I agree. Allen has a good point in the previous
email too, so the suggestion might not fix anything and complicate things.
The problem I am trying to solve is making all transactions
non-malleable by default. I guess there is a very good reason why BIP62
will not touch v1 anyway.
I am trying to build a bitcoin contract which will relay on 3 things:
- coinjoin / txes with inputs from multiple users which are signed by
all users after they are merged together (every user is sure his coins
will not be spent without the other users to spend anything, as per
agreed contract);
- pre-signed txes with nLockTime 'n' weeks. These txes will be signed
before the inputs being spent are broadcasted/confirmed, using the txid
provided by the user before broadcasting it. Malleability hurts here.
- P2SH
In simple terms, how malleable transactions really are in the network at
this moment? Who can alter a txid without invalidating the tx? Just the
parties who sign it? The miners? Anyone in the network? This is a little
bit unclear to me.
Another thing I would like to confirm, the 3 pieces of the bitcoin
protocol mentioned above will be supported in _any_ future transaction
version or block version, regardless what changes are made or features
added to bitcoin core? The contract needs to be built and left unchanged
for a very very long period of time...
On 4/16/2015 8:22 AM, Pieter Wuille wrote:
>
> On Apr 16, 2015 1:46 AM, "s7r" <s7r at sky-ip.org <mailto:s7r at sky-ip.org>>
> wrote:
>> but for transaction versions? In simple terms, if > 75% from all the
>> transactions in the latest 1000 blocks are version 'n', mark all
>> previous transaction versions as non-standard and if > 95% from all the
>> transactions in the latest 1000 blocks are version 'n' mark all previous
>> transaction versions as invalid.
>
> What problem are you trying to solve?
>
> The reason why BIP62 (as specified, it is just a draft) does not make v1
> transactions invalid is because it is opt-in. The creator of a
> transaction needs to agree to protect it from malleability, and this
> subjects him to extra rules in the creation.
>
> Forcing v3 transactions would require every piece of wallet software to
> be changed.
>
> --
> Pieter
>
Published at
2023-06-07 15:32:30Event JSON
{
"id": "84fb2212dbabcb66dc56a9c403101e51bfb8afc0cb2d2204677f914727342fa1",
"pubkey": "947955301a8805054c8d6a2c9ac2abf07a7a18f4a33b0a573a277868302953b1",
"created_at": 1686151950,
"kind": 1,
"tags": [
[
"e",
"8b8a2347eb8a1165154b18f1aa6b1f8a0b99712f1e1f9461e574d86e0b7c9986",
"",
"root"
],
[
"e",
"9d33d51e13c5b2be96b14d065609608ab7f59262997ffa2883b4df9776bfdc88",
"",
"reply"
],
[
"p",
"5cb21bf5d7f25a9d46879713cbd32433bbc10e40ef813a3c28fe7355f49854d6"
]
],
"content": "š
Original date posted:2015-04-16\nš Original message:Hi Pieter,\n\nThanks for your reply. I agree. Allen has a good point in the previous\nemail too, so the suggestion might not fix anything and complicate things.\n\nThe problem I am trying to solve is making all transactions\nnon-malleable by default. I guess there is a very good reason why BIP62\nwill not touch v1 anyway.\n\nI am trying to build a bitcoin contract which will relay on 3 things:\n- coinjoin / txes with inputs from multiple users which are signed by\nall users after they are merged together (every user is sure his coins\nwill not be spent without the other users to spend anything, as per\nagreed contract);\n- pre-signed txes with nLockTime 'n' weeks. These txes will be signed\nbefore the inputs being spent are broadcasted/confirmed, using the txid\nprovided by the user before broadcasting it. Malleability hurts here.\n- P2SH\n\nIn simple terms, how malleable transactions really are in the network at\nthis moment? Who can alter a txid without invalidating the tx? Just the\nparties who sign it? The miners? Anyone in the network? This is a little\nbit unclear to me.\n\nAnother thing I would like to confirm, the 3 pieces of the bitcoin\nprotocol mentioned above will be supported in _any_ future transaction\nversion or block version, regardless what changes are made or features\nadded to bitcoin core? The contract needs to be built and left unchanged\nfor a very very long period of time...\n\n\nOn 4/16/2015 8:22 AM, Pieter Wuille wrote:\n\u003e \n\u003e On Apr 16, 2015 1:46 AM, \"s7r\" \u003cs7r at sky-ip.org \u003cmailto:s7r at sky-ip.org\u003e\u003e\n\u003e wrote:\n\u003e\u003e but for transaction versions? In simple terms, if \u003e 75% from all the\n\u003e\u003e transactions in the latest 1000 blocks are version 'n', mark all\n\u003e\u003e previous transaction versions as non-standard and if \u003e 95% from all the\n\u003e\u003e transactions in the latest 1000 blocks are version 'n' mark all previous\n\u003e\u003e transaction versions as invalid.\n\u003e \n\u003e What problem are you trying to solve?\n\u003e \n\u003e The reason why BIP62 (as specified, it is just a draft) does not make v1\n\u003e transactions invalid is because it is opt-in. The creator of a\n\u003e transaction needs to agree to protect it from malleability, and this\n\u003e subjects him to extra rules in the creation.\n\u003e \n\u003e Forcing v3 transactions would require every piece of wallet software to\n\u003e be changed.\n\u003e \n\u003e -- \n\u003e Pieter\n\u003e",
"sig": "196cdfa4ed671a3c6667e97548b92b9e19586e17b1fc8f2d92deba04694e6444d9c45050830997d9a156eb2282a20008e9b82819fb688778733545efe2ca2666"
}