Rusty Russell [ARCHIVE] on Nostr: 📅 Original date posted:2016-08-21 📝 Original message: Joseph Poon <joseph at ...
📅 Original date posted:2016-08-21
📝 Original message:
Joseph Poon <joseph at lightning.network> writes:
> On Fri, Aug 19, 2016 at 10:26:31AM +0930, Rusty Russell wrote:
>> >> > While not dangerous it is rather unfortunate as it results in
>> >> > guesswork. It is not dangerous because if A transferred litecoin to B
>> >> > then B will (hopefully) never forward a higher value to C using
>> >> > bitcoin, and if it were bitcoin then the final recipient would not
>> >> > sign off an inferior amount than what he expected.
>> >>
>> >> Worse case: C is a charity, accepting donations. A's software screwed
>> >> up and didn't realize C was litecoin, not bitcoin. B collects a huge
>> >> fee, C gets tiny donation.
>
> Yeah, for sure, I agree with y'all. By default, there should be a
> requirement that the amount is pre-negotiated by the sender and the
> recipient (pay-to-contract, etc.)
Yes, as your point below makes clear; not agreeing on an amount is
susceptible to theft by prior hops:
> This may not fully solve the problem, since if one presumes that the
> second-to-last hop is malicious, they can re-create a new onion blob
> (presuming consistent hashes for each hop, of course).
Great catch. Oops...
>> Hmm, maybe we should implement the code to steal such re-sends? Or more
>> generously, fail it. That would prevent this from becoming a habit, at
>> least.
>
> Either way seems practical for some nodes -- I presume if a small
> percentage of nodes redeem without forwarding, then basically nobody
> would re-use. Not sure if "steal" is the right word, though.
I also tend to use that term for the collect-all-because-you-cheated
transaction. Because "rightfully taking what is mine" is too much of a
mouthful :)
Cheers,
Rusty.
Published at
2023-06-09 12:46:28Event JSON
{
"id": "fe950ef3d7bdd62c8a147ab3036c0ca0d4796520be58793cf252b166f2f95ec7",
"pubkey": "13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425",
"created_at": 1686314788,
"kind": 1,
"tags": [
[
"e",
"f166a20039cde752a8ba4e6cccc22d4b2719f9a29840f0c295641243ae59d83f",
"",
"root"
],
[
"e",
"fef110d27372a3db8e4d7a97e599ad7afc01de66da4896cc46af92b1dcff89aa",
"",
"reply"
],
[
"p",
"2df3fc2660459521b852c995d4fc1a93938389a5e085677d0ebb33ef92cc5476"
]
],
"content": "📅 Original date posted:2016-08-21\n📝 Original message:\nJoseph Poon \u003cjoseph at lightning.network\u003e writes:\n\u003e On Fri, Aug 19, 2016 at 10:26:31AM +0930, Rusty Russell wrote:\n\u003e\u003e \u003e\u003e \u003e While not dangerous it is rather unfortunate as it results in\n\u003e\u003e \u003e\u003e \u003e guesswork. It is not dangerous because if A transferred litecoin to B\n\u003e\u003e \u003e\u003e \u003e then B will (hopefully) never forward a higher value to C using\n\u003e\u003e \u003e\u003e \u003e bitcoin, and if it were bitcoin then the final recipient would not\n\u003e\u003e \u003e\u003e \u003e sign off an inferior amount than what he expected.\n\u003e\u003e \u003e\u003e \n\u003e\u003e \u003e\u003e Worse case: C is a charity, accepting donations. A's software screwed\n\u003e\u003e \u003e\u003e up and didn't realize C was litecoin, not bitcoin. B collects a huge\n\u003e\u003e \u003e\u003e fee, C gets tiny donation.\n\u003e\n\u003e Yeah, for sure, I agree with y'all. By default, there should be a\n\u003e requirement that the amount is pre-negotiated by the sender and the\n\u003e recipient (pay-to-contract, etc.)\n\nYes, as your point below makes clear; not agreeing on an amount is\nsusceptible to theft by prior hops:\n\n\u003e This may not fully solve the problem, since if one presumes that the\n\u003e second-to-last hop is malicious, they can re-create a new onion blob\n\u003e (presuming consistent hashes for each hop, of course).\n\nGreat catch. Oops...\n\n\u003e\u003e Hmm, maybe we should implement the code to steal such re-sends? Or more\n\u003e\u003e generously, fail it. That would prevent this from becoming a habit, at\n\u003e\u003e least.\n\u003e\n\u003e Either way seems practical for some nodes -- I presume if a small\n\u003e percentage of nodes redeem without forwarding, then basically nobody\n\u003e would re-use. Not sure if \"steal\" is the right word, though.\n\nI also tend to use that term for the collect-all-because-you-cheated\ntransaction. Because \"rightfully taking what is mine\" is too much of a\nmouthful :)\n\nCheers,\nRusty.",
"sig": "ffdd95def2ebcb5fa68dd104593227904c9aef89f438de0d8dd7afe0940fabf8674222e11cfc3318b9a6ae92490b483b7ca876785cc31e3d32e0d3fddd590d03"
}