Rusty Russell [ARCHIVE] on Nostr: 📅 Original date posted:2015-09-27 📝 Original message: Anthony Towns <aj at ...
📅 Original date posted:2015-09-27
📝 Original message:
Anthony Towns <aj at erisian.com.au> writes:
> On Fri, Sep 25, 2015 at 11:23:42AM +0930, Rusty Russell wrote:
>> Beacons are going to get slammed, but it's not clear how bad it is.
>> Getting slammed from all directions doesn't use up channels; it's only
>> computational and bandwidth limits.
>
> It does actually use up channels -- if you've got 5 channels with 100 BTC
> in them collectively in total, and you own 20 BTC of that, and collect
> a 0.1% fee on each transaction, you'll gain 80 BTC after 80,000 BTC are
> forwarded through you, and nobody will be able to send you funds any more.
That's a great insight! Fees *do* erode channels. I had totally missed
that.
> As a beacon, you'll probably be tempted to raise your fees (you're only
> competing against the 11 other current beacons which you can monitor
> fairly closely), so 1% or even 2% might be realistic figures, reducing
> the number of transactions by a factor of 10 or 20.
>
> Other nodes can fix that by opening up new channels to you, though.
>
> As far as b/w goes, the number of beacons and they're bandwidth puts a
> limit on the transactions per second of the lightning network: if each
> of 12 beacons have 100Mb/s bandwidth available, and use 2048B to forward
> an HTLC, then the number of HTLCs a beacon can forward per second is:
>
> 100e6/8 / 2048 = ~6100
>
> multiplying by 12 beacons to give a maximum of around ~73k lightning
> transactions per second; which is about the same as the VisaNet stress
> tests (56k tps), which seems too low to me if you want micropayments.
It is. You definitely want to increase the number of beacons with
network size.
>> Their neighbors will want to buff up, too (they'll take some load off
>> the beacon if both parties route through them).
>
> (In the event that someone suggests a route beacon_X -> X -> Y -> Z to
> get to them, and you have a path A -> C -> X -> beacon_X, you can cut out
> the middleman and not route through a beacon at all. I don't think this
> gives much of an improvement though. A beacon could potentially avoid
> this from being possible by partitioning its neighbours into two sets
> and setting incoming fees for one set prohibitively high, and outgoing
> fees to the other set as prohibitively high; managing that dynamically
> would be difficult but I think possible)
But you'd risk not being used as a beacon if your fees are too high. It
seems to me that a beacon wants many connections, to avoid the
"short-circuit" case. At 100 connections, it's only 1%, though
that's the best case which assumes they're all equally likely.
>> A semi-realistic simulation would be interesting. If payments cluster
>> by geography and some random channels are established by proximity
>> (ie. low latency) that may take some of load off the beacons too.
>
> I think routing by proximity cuts out some of the benefits of onion
> routing; you just end up with locals conncting to their local banks,
> and paying locals directly via their bank, and the bank being able to
> directly correlate payments (or two banks being able to collaborate to
> correlate sender and recipient).
Good points. If we reject all routes less than (say) 3 hops by default
it might mean that local payments are *less* efficient. Oops.
I'll think harder on this...
Cheers,
Rusty.
Published at
2023-06-09 12:44:33Event JSON
{
"id": "6e074aa9ffcb430112c709a16b6ba9cd3718cf2f2ce1cfb75f565672ab7aff38",
"pubkey": "13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425",
"created_at": 1686314673,
"kind": 1,
"tags": [
[
"e",
"d508e26ae44d949f7c534399c4b1e4f82df043bc5ea4ea4a1d4d81571bfaec45",
"",
"root"
],
[
"e",
"7a93abb92a09a314e8f56c3ec61ed8c0a0e2923cccaa18be40cfbf5eca8ac344",
"",
"reply"
],
[
"p",
"f0feda6ad58ea9f486e469f87b3b9996494363a26982b864667c5d8acb0542ab"
]
],
"content": "📅 Original date posted:2015-09-27\n📝 Original message:\nAnthony Towns \u003caj at erisian.com.au\u003e writes:\n\u003e On Fri, Sep 25, 2015 at 11:23:42AM +0930, Rusty Russell wrote:\n\u003e\u003e Beacons are going to get slammed, but it's not clear how bad it is.\n\u003e\u003e Getting slammed from all directions doesn't use up channels; it's only\n\u003e\u003e computational and bandwidth limits.\n\u003e\n\u003e It does actually use up channels -- if you've got 5 channels with 100 BTC\n\u003e in them collectively in total, and you own 20 BTC of that, and collect\n\u003e a 0.1% fee on each transaction, you'll gain 80 BTC after 80,000 BTC are\n\u003e forwarded through you, and nobody will be able to send you funds any more.\n\nThat's a great insight! Fees *do* erode channels. I had totally missed\nthat.\n\n\u003e As a beacon, you'll probably be tempted to raise your fees (you're only\n\u003e competing against the 11 other current beacons which you can monitor\n\u003e fairly closely), so 1% or even 2% might be realistic figures, reducing\n\u003e the number of transactions by a factor of 10 or 20.\n\u003e\n\u003e Other nodes can fix that by opening up new channels to you, though.\n\u003e\n\u003e As far as b/w goes, the number of beacons and they're bandwidth puts a\n\u003e limit on the transactions per second of the lightning network: if each\n\u003e of 12 beacons have 100Mb/s bandwidth available, and use 2048B to forward\n\u003e an HTLC, then the number of HTLCs a beacon can forward per second is:\n\u003e\n\u003e 100e6/8 / 2048 = ~6100\n\u003e\n\u003e multiplying by 12 beacons to give a maximum of around ~73k lightning\n\u003e transactions per second; which is about the same as the VisaNet stress\n\u003e tests (56k tps), which seems too low to me if you want micropayments.\n\nIt is. You definitely want to increase the number of beacons with\nnetwork size.\n\n\u003e\u003e Their neighbors will want to buff up, too (they'll take some load off\n\u003e\u003e the beacon if both parties route through them).\n\u003e\n\u003e (In the event that someone suggests a route beacon_X -\u003e X -\u003e Y -\u003e Z to\n\u003e get to them, and you have a path A -\u003e C -\u003e X -\u003e beacon_X, you can cut out\n\u003e the middleman and not route through a beacon at all. I don't think this\n\u003e gives much of an improvement though. A beacon could potentially avoid\n\u003e this from being possible by partitioning its neighbours into two sets\n\u003e and setting incoming fees for one set prohibitively high, and outgoing\n\u003e fees to the other set as prohibitively high; managing that dynamically\n\u003e would be difficult but I think possible)\n\nBut you'd risk not being used as a beacon if your fees are too high. It\nseems to me that a beacon wants many connections, to avoid the\n\"short-circuit\" case. At 100 connections, it's only 1%, though\nthat's the best case which assumes they're all equally likely.\n\n\u003e\u003e A semi-realistic simulation would be interesting. If payments cluster\n\u003e\u003e by geography and some random channels are established by proximity\n\u003e\u003e (ie. low latency) that may take some of load off the beacons too.\n\u003e\n\u003e I think routing by proximity cuts out some of the benefits of onion\n\u003e routing; you just end up with locals conncting to their local banks,\n\u003e and paying locals directly via their bank, and the bank being able to\n\u003e directly correlate payments (or two banks being able to collaborate to\n\u003e correlate sender and recipient).\n\nGood points. If we reject all routes less than (say) 3 hops by default\nit might mean that local payments are *less* efficient. Oops.\n\nI'll think harder on this...\n\nCheers,\nRusty.",
"sig": "981b056ba1c389fa1e9bdf7a99f9e1e58e6383d258c10933f55032871b6fc1707acf9c4acf364c7fd622d4788630fdb17ab7e10efe99bc4d6477c3446808ac9b"
}