{"type":"rich","version":"1.0","title":"Joost Jager [ARCHIVE] wrote","author_name":"Joost Jager [ARCHIVE] (npub1as…wfqmx)","author_url":"https://yabu.me/npub1aslmpzentw224n3s6yccru4dq2qdlx7rfudfnqevfck637cjt6esswfqmx","provider_name":"njump","provider_url":"https://yabu.me","html":"📅 Original date posted:2019-11-06\n📝 Original message:\nIn my opinion, the prepayment should be a last resort. It does take away\nsome of the attractiveness of the Lightning Network. Especially if you need\nto make many payment attempts over long routes, the tiny prepays do add up.\nFor a $10 payment, it's probably nothing to worry about. But for\nmicro-payments this can become prohibitively expensive. And it is exactly\nthe micro-payment use case where Lightning outshines other payment systems.\nA not yet imagined micro-payment based service could even be the launchpad\nto world domination. So I think we should be very careful with interfering\nwith that potential.\n\nIsn't spam something that can also be addressed by using rate limits for\nfailures? If all relevant nodes on the network employ rate limits, they can\nisolate the spammer and diminish their disruptive abilities. If a node sees\nthat its outgoing htlc packets stack up, it can reduce the incoming flow on\nthe channels where the htlcs originate from. Large routing nodes could\nagree with their peers on service levels that define these rate limits.\n\nJoost\n\nOn Tue, Nov 5, 2019 at 3:25 AM Rusty Russell \u003crusty at rustcorp.com.au\u003e wrote:\n\n\u003e Hi all,\n\u003e\n\u003e         It's been widely known that we're going to have to have up-front\n\u003e payments for msgs eventually, to avoid Type 2 spam (I think of Type 1\n\u003e link-local, Type 2 though multiple nodes, and Type 3 liquidity-using\n\u003e spam).\n\u003e\n\u003e         Since both Offers and Joost's WhatSat are looking at sending\n\u003e messages, it's time to float actual proposals.  I've been trying to come\n\u003e up with something for several years now, so thought I'd present the best\n\u003e I've got in the hope that others can improve on it.\n\u003e\n\u003e 1. New feature bit, extended messages, etc.\n\u003e 2. Adding an HTLC causes a *push* of a number of msat on\n\u003e    commitment_signed (new field), and a hash.\n\u003e 3. Failing/succeeding an HTLC returns some of those msat, and a count\n\u003e    and preimage (new fields).\n\u003e\n\u003e How many msat can you take for forwarding?  That depends on you\n\u003e presenting a series of preimages (which chain into a final hash given in\n\u003e the HTLC add), which you get by decoding the onion.  You get to keep 50\n\u003e msat[1] per preimage you present[2].\n\u003e\n\u003e So, how many preimages does the user have to give to have you forward\n\u003e the payment?  That depends.  The base rate is 16 preimages, but subtract\n\u003e one for each leading 4 zero bits of the SHA256(blockhash | hmac) of the\n\u003e onion.  The blockhash is the hash of the block specified in the onion:\n\u003e reject if it's not in the last 3 blocks[3].\n\u003e\n\u003e This simply adds some payment noise, while allowing a hashcash style\n\u003e tradeoff of sats for work.\n\u003e\n\u003e The final node gets some variable number of preimages, which adds noise.\n\u003e It should take all and subtract from the minimum required invoice amount\n\u003e on success, or take some random number on failure.\n\u003e\n\u003e This leaks some forward information, and makes an explicit tradeoff for\n\u003e the sender between amount spent and privacy, but it's the best I've been\n\u003e able to come up with.\n\u003e\n\u003e Thoughts?\n\u003e Rusty.\n\u003e\n\u003e [1] If we assume $1 per GB, $10k per BTC and 64k messages, we get about\n\u003e     655msat per message.  Flat pricing for simplicity; we're trying to\n\u003e     prevent spam, not create a spam market.\n\u003e [2] Actually, a number and a single preimage; you can check this is\n\u003e     indeed the n'th preimage.\n\u003e [3] This reduces incentive to grind the damn things in advance, though\n\u003e     maybe that's dumb?  We can also use a shorter hash (siphash?), or\n\u003e     even truncated SHA256 (128 bits).\n\u003e _______________________________________________\n\u003e Lightning-dev mailing list\n\u003e Lightning-dev at lists.linuxfoundation.org\n\u003e https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev\n\u003e\n-------------- next part --------------\nAn HTML attachment was scrubbed...\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20191106/5bbc081f/attachment.html\u003e"}
