Matt Corallo [ARCHIVE] on Nostr: 📅 Original date posted:2023-02-14 🗒️ Summary of this message: The Lightning ...
📅 Original date posted:2023-02-14
🗒️ Summary of this message: The Lightning Network faces a challenge in creating a reputation system due to the rarity of repeat interactions, but a solution could be for wallet vendors to provide live network views.
📝 Original message:
On 2/13/23 7:05 PM, ZmnSCPxj wrote:
> Good morning all,
>
>>> First of all let's see what types of reputation system exist (and yes,
>>> this is my very informal categorization):
>>>
>>> - First hand experience
>>> - Inferred experience
>>> - Hearsay
>>>
>>> The first two are likely the setup we all are comfortable with: we ourselves
>>> experienced something, and make some decisions based on that
>>> experience. This is probably what we're all doing at the moment: we
>>> attempt a payment, it fails, we back off for a bit from that channel
>>> being used again. This requires either being able to witness the issue
>>> directly (local peer) or infer from unforgeable error messages (the
>>> failing node returns an error, and it can't point the finger at someone
>>> else). Notice that this also includes some transitive constructions,
>>> such as the backpressure mechanism we were discussing for ariard's
>>> credentials proposal.
>>>
>>> Ideally we'd only rely on the first two to make decisions, but here's
>>> exactly the issue we ran into with Bittorrent: repeat interactions are
>>> too rare. In addition, our local knowledge gets out of date the longer
>>> we wait, and a previously failing channel may now be good again, and
>>> vice-versa. For us to have sufficient knowledge to make good decisions
>>> we need to repeatedly interact with the same nodes in the network, and
>>> since end-users will be very unlikely to do that, we might end up in a
>>> situation were we instinctively fall back to the hearsay method, either
>>> by sharing our local reputation with peers and then somehow combine that
>>> with our own view. To the best of my knowledge such a system has never
>>> been built successfully, and all attempts have ended in a system that
>>> was either way too simple or is gameable by rational players.
>>
>>
>> In lightning we have a trivial solution to this - your wallet vendor/LSP is already extracting a fee
>> from you for every HTLC routed through it, it has you captive and can set the fee (largely)
>> arbitrarily (up to you paying on-chain fees to switch LSPs). They can happily tell you their view of
>> the network ~live and you should generally accept it. Its by no means perfect, and there's plenty of
>> games they could play on, eg, your privacy, but its pretty damned good.
>>
>> If we care a ton about the risks here, we could have a few altruistic nodes that release similar
>> info and users can median-filter the data in one way or another to reduce risk.
>>
>> I just do not buy that this is a difficult problem for the "end user" part of the network. For
>> larger nodes its (obviously, and trivially) not a problem either, which leaves the "middle nodes"
>> stranded without good data but without an LSP they want to use for data. I believe that isn't a
>> large enough cohort to change the whole network around for, and them asking a few altruistic (let's
>> say, developer?) nodes for scoring data seems more than sufficient.
>
> But this is all ultimately hearsay.
>
> LSPs can be bought out, and developers can go rogue.
> Neither should be trusted if at all possible.
You're missing the point - if your LSP wants to "go rogue" here, at worst they can charge you more
fees. They could also do this by...charging you more fees. I'm not really sure what your concern is.
> Which is why I think forwardable peerswaps fixes this: it *creates* paths that allow payment routing, without requiring pervasive monitoring (which is horrible because eventually the network will be large enough that you will never encounter the same node twice if you're a plebeian, and if you're an aristocrat, you have every incentive to lie to the plebeians to solidify your power) of the network.
No, this is much, much worse for the network. In order to do this "live" (i.e. without failing a
payment) you have to establish trust relationships across the network (i.e. make giving your peers
credit a requirement to be considered a "robust node" and, thus, receive fee revenue).
Doing splicing/peerswap as a better way to rebalance is, of course, awesome, but it doesn't solve
the issue of "what do I do if I'm just too low on capacity *right now* to clear this HTLC".
Matt
Published at
2023-06-09 13:12:40Event JSON
{
"id": "1718577e88033482885bbe9c1992851c8b9c74a21497922022e83694998becc8",
"pubkey": "cd753aa8fbc112e14ffe9fe09d3630f0eff76ca68e376e004b8e77b687adddba",
"created_at": 1686316360,
"kind": 1,
"tags": [
[
"e",
"93b1d238fcaae143ea8ae5d6f9ddc582df195f32146237959ceb0a833db784e0",
"",
"root"
],
[
"e",
"8b6d648f8700f71773f0cd9b319a49c6675fd170fc15ceff1d706d4086ce453d",
"",
"reply"
],
[
"p",
"4505072744a9d3e490af9262bfe38e6ee5338a77177b565b6b37730b63a7b861"
]
],
"content": "📅 Original date posted:2023-02-14\n🗒️ Summary of this message: The Lightning Network faces a challenge in creating a reputation system due to the rarity of repeat interactions, but a solution could be for wallet vendors to provide live network views.\n📝 Original message:\nOn 2/13/23 7:05 PM, ZmnSCPxj wrote:\n\u003e Good morning all,\n\u003e \n\u003e\u003e\u003e First of all let's see what types of reputation system exist (and yes,\n\u003e\u003e\u003e this is my very informal categorization):\n\u003e\u003e\u003e\n\u003e\u003e\u003e - First hand experience\n\u003e\u003e\u003e - Inferred experience\n\u003e\u003e\u003e - Hearsay\n\u003e\u003e\u003e\n\u003e\u003e\u003e The first two are likely the setup we all are comfortable with: we ourselves\n\u003e\u003e\u003e experienced something, and make some decisions based on that\n\u003e\u003e\u003e experience. This is probably what we're all doing at the moment: we\n\u003e\u003e\u003e attempt a payment, it fails, we back off for a bit from that channel\n\u003e\u003e\u003e being used again. This requires either being able to witness the issue\n\u003e\u003e\u003e directly (local peer) or infer from unforgeable error messages (the\n\u003e\u003e\u003e failing node returns an error, and it can't point the finger at someone\n\u003e\u003e\u003e else). Notice that this also includes some transitive constructions,\n\u003e\u003e\u003e such as the backpressure mechanism we were discussing for ariard's\n\u003e\u003e\u003e credentials proposal.\n\u003e\u003e\u003e\n\u003e\u003e\u003e Ideally we'd only rely on the first two to make decisions, but here's\n\u003e\u003e\u003e exactly the issue we ran into with Bittorrent: repeat interactions are\n\u003e\u003e\u003e too rare. In addition, our local knowledge gets out of date the longer\n\u003e\u003e\u003e we wait, and a previously failing channel may now be good again, and\n\u003e\u003e\u003e vice-versa. For us to have sufficient knowledge to make good decisions\n\u003e\u003e\u003e we need to repeatedly interact with the same nodes in the network, and\n\u003e\u003e\u003e since end-users will be very unlikely to do that, we might end up in a\n\u003e\u003e\u003e situation were we instinctively fall back to the hearsay method, either\n\u003e\u003e\u003e by sharing our local reputation with peers and then somehow combine that\n\u003e\u003e\u003e with our own view. To the best of my knowledge such a system has never\n\u003e\u003e\u003e been built successfully, and all attempts have ended in a system that\n\u003e\u003e\u003e was either way too simple or is gameable by rational players.\n\u003e\u003e\n\u003e\u003e\n\u003e\u003e In lightning we have a trivial solution to this - your wallet vendor/LSP is already extracting a fee\n\u003e\u003e from you for every HTLC routed through it, it has you captive and can set the fee (largely)\n\u003e\u003e arbitrarily (up to you paying on-chain fees to switch LSPs). They can happily tell you their view of\n\u003e\u003e the network ~live and you should generally accept it. Its by no means perfect, and there's plenty of\n\u003e\u003e games they could play on, eg, your privacy, but its pretty damned good.\n\u003e\u003e\n\u003e\u003e If we care a ton about the risks here, we could have a few altruistic nodes that release similar\n\u003e\u003e info and users can median-filter the data in one way or another to reduce risk.\n\u003e\u003e\n\u003e\u003e I just do not buy that this is a difficult problem for the \"end user\" part of the network. For\n\u003e\u003e larger nodes its (obviously, and trivially) not a problem either, which leaves the \"middle nodes\"\n\u003e\u003e stranded without good data but without an LSP they want to use for data. I believe that isn't a\n\u003e\u003e large enough cohort to change the whole network around for, and them asking a few altruistic (let's\n\u003e\u003e say, developer?) nodes for scoring data seems more than sufficient.\n\u003e \n\u003e But this is all ultimately hearsay.\n\u003e \n\u003e LSPs can be bought out, and developers can go rogue.\n\u003e Neither should be trusted if at all possible.\n\nYou're missing the point - if your LSP wants to \"go rogue\" here, at worst they can charge you more \nfees. They could also do this by...charging you more fees. I'm not really sure what your concern is.\n\n\u003e Which is why I think forwardable peerswaps fixes this: it *creates* paths that allow payment routing, without requiring pervasive monitoring (which is horrible because eventually the network will be large enough that you will never encounter the same node twice if you're a plebeian, and if you're an aristocrat, you have every incentive to lie to the plebeians to solidify your power) of the network.\n\nNo, this is much, much worse for the network. In order to do this \"live\" (i.e. without failing a \npayment) you have to establish trust relationships across the network (i.e. make giving your peers \ncredit a requirement to be considered a \"robust node\" and, thus, receive fee revenue).\n\nDoing splicing/peerswap as a better way to rebalance is, of course, awesome, but it doesn't solve \nthe issue of \"what do I do if I'm just too low on capacity *right now* to clear this HTLC\".\n\nMatt",
"sig": "c62fb59c245317dd450b829ba2e5984849bd548435df52f72d6d6992de5a72f4a8c5d652389759fdebbcad219c7cf0a9a9c4a70bbec5974b00c590fae8fa3a27"
}