CJP [ARCHIVE] on Nostr: 📅 Original date posted:2015-07-14 📝 Original message: > Fees are a real issue. ...
📅 Original date posted:2015-07-14
📝 Original message:
> Fees are a real issue. Without source routing the client is guessing
> how much fees will be, and there'll be a lot of gaming to decide how
> much of the pie to take (take too much, you get none as payment fails to
> route). I think you'll end up asking your provider how you should to
> pay, and that's a pretty horrible model for privacy.
>
> With source routing and onion it's a little better; you can explicitly
> state what each hop gets. Of course, if your route/payment information
> is out of date you lose, too.
I like to think of fees in the same way as we pay for Internet access.
Every physical hop in the Internet has related costs, e.g. in placing
the cables and upgrading the cables when new technology becomes
available and when demand grows. Yet it doesn't matter for your Internet
bill how many hops your packets make, or which route they follow. Your
ISP will just average out all the costs it has to make on its
interfaces, and present a fraction of that to each customer. At some
points in the middle between providers, there are places where both
sides have an equal interest in maintaining their link, and no fees are
charged.
One major difference with the Internet is that we already have a
micro-transaction infrastructure in place, which is something the
Internet has never had (until now). This means it is possible to do
instant per-transaction payment of transaction fees. The fact that we
CAN do it doesn't mean we SHOULD, but I think there are advantages:
non-immediate payment models always require some form of trust from at
least one of the sides. Immediate payment of a transaction fee is as
simple as updating the micro-transaction channel with a slightly larger
amount than the to-be-forwarded transaction amount.
An interesting question is whether nodes will be prepared to forward
payments at a net loss (the to-be-paid fee is higher than the
to-be-received fee); maybe they will, if they can compensate the losses
with higher profits on other transactions. Fee differences could play a
role in routing decisions.
That brings me to another point: fees could be used as a way to
incentivize people to bring channels back to equilibrium. When a
channel's funds are almost fully assigned to one of its sides, further
payments towards that side become nearly impossible. Increasing fees in
that direction and decreasing fees in the opposite direction should
incentivize people to perform more transactions that bring the channel
back to equilibrium, and to perform less transactions that bring it
further out of equilibrium, or find alternative routes for those
transactions.
You could even offer negative fees for transactions that bring a channel
back to equilibrium. There could be a market for people making money
from bringing other peoples' channels back to equilibrium. This would
require either to step away from "net neutrality" (so, not the same fee
for every route / destination), or it would require some form of source
routing and explicitly setting the fees of intermediate nodes.
My "neutral meeting point" routing design, which is effectively a
two-hop source routing, is already good enough: a node in the middle of
the network is advertising that it can benefit from a negative fee, and
it invites people to perform transactions and to share the profit. It
creates two routable addresses (one for the negative-fee interface (A)
and one for all other interfaces (B)). Other people can then perform a
payment-to-self, with payee side routing to A and payer-side routing to
B. Payee-side can then have a larger payment amount than payer-side, as
agreed with the meeting point, to transfer a part of the profit to the
person performing the transaction.
CJP
Published at
2023-06-09 12:43:33Event JSON
{
"id": "7ae00265e7b7721504a45cc5f0416d7e1ffee58e972dbfd020b2f6671bc2ba91",
"pubkey": "880fa8c3080c3bd98e574cfcd6d6f53fd13e0516c40ea3f46295438b0c07bdf5",
"created_at": 1686314613,
"kind": 1,
"tags": [
[
"e",
"b051b897d36d9747c0a2ead17e2be0eb4114a547258d74b54d7d8da5c672c214",
"",
"root"
],
[
"e",
"92300012ec3fa89e7b3b4f6134e52a5a5c3f72f42c8bceb057cd6b726d2bb3bd",
"",
"reply"
],
[
"p",
"13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425"
]
],
"content": "📅 Original date posted:2015-07-14\n📝 Original message:\n\u003e Fees are a real issue. Without source routing the client is guessing\n\u003e how much fees will be, and there'll be a lot of gaming to decide how\n\u003e much of the pie to take (take too much, you get none as payment fails to\n\u003e route). I think you'll end up asking your provider how you should to\n\u003e pay, and that's a pretty horrible model for privacy.\n\u003e \n\u003e With source routing and onion it's a little better; you can explicitly\n\u003e state what each hop gets. Of course, if your route/payment information\n\u003e is out of date you lose, too.\n\nI like to think of fees in the same way as we pay for Internet access.\nEvery physical hop in the Internet has related costs, e.g. in placing\nthe cables and upgrading the cables when new technology becomes\navailable and when demand grows. Yet it doesn't matter for your Internet\nbill how many hops your packets make, or which route they follow. Your\nISP will just average out all the costs it has to make on its\ninterfaces, and present a fraction of that to each customer. At some\npoints in the middle between providers, there are places where both\nsides have an equal interest in maintaining their link, and no fees are\ncharged.\n\nOne major difference with the Internet is that we already have a\nmicro-transaction infrastructure in place, which is something the\nInternet has never had (until now). This means it is possible to do\ninstant per-transaction payment of transaction fees. The fact that we\nCAN do it doesn't mean we SHOULD, but I think there are advantages:\nnon-immediate payment models always require some form of trust from at\nleast one of the sides. Immediate payment of a transaction fee is as\nsimple as updating the micro-transaction channel with a slightly larger\namount than the to-be-forwarded transaction amount.\n\nAn interesting question is whether nodes will be prepared to forward\npayments at a net loss (the to-be-paid fee is higher than the\nto-be-received fee); maybe they will, if they can compensate the losses\nwith higher profits on other transactions. Fee differences could play a\nrole in routing decisions.\n\nThat brings me to another point: fees could be used as a way to\nincentivize people to bring channels back to equilibrium. When a\nchannel's funds are almost fully assigned to one of its sides, further\npayments towards that side become nearly impossible. Increasing fees in\nthat direction and decreasing fees in the opposite direction should\nincentivize people to perform more transactions that bring the channel\nback to equilibrium, and to perform less transactions that bring it\nfurther out of equilibrium, or find alternative routes for those\ntransactions.\n\nYou could even offer negative fees for transactions that bring a channel\nback to equilibrium. There could be a market for people making money\nfrom bringing other peoples' channels back to equilibrium. This would\nrequire either to step away from \"net neutrality\" (so, not the same fee\nfor every route / destination), or it would require some form of source\nrouting and explicitly setting the fees of intermediate nodes.\n\nMy \"neutral meeting point\" routing design, which is effectively a\ntwo-hop source routing, is already good enough: a node in the middle of\nthe network is advertising that it can benefit from a negative fee, and\nit invites people to perform transactions and to share the profit. It\ncreates two routable addresses (one for the negative-fee interface (A)\nand one for all other interfaces (B)). Other people can then perform a\npayment-to-self, with payee side routing to A and payer-side routing to\nB. Payee-side can then have a larger payment amount than payer-side, as\nagreed with the meeting point, to transfer a part of the profit to the\nperson performing the transaction.\n\nCJP",
"sig": "38b134d99e99ed4100b0d635caf623961dc0e020c4d83eee1c9f94b735d38e8fca2a2566aaac67a51fafaf238962e68ba0d1af87bb95ea51f567fb052165947d"
}