<oembed><type>rich</type><version>1.0</version><author_name>npub1vjzmc45k8dgujppapp2ue20h3l9apnsntgv4c0ukncvv549q64gsz4x8dd</author_name><author_url>https://nostr.ae/npub1vjzmc45k8dgujppapp2ue20h3l9apnsntgv4c0ukncvv549q64gsz4x8dd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2022-11-21&#xA;📝 Original message:&#xA;Hi Clara,&#xA;&#xA;Thanks for reading!&#xA;&#xA;&gt; I think that another call to discuss jamming would be great. I would&#xA;&gt; suggest making it a repeating call every 2 weeks, starting from Monday the&#xA;&gt; 28th at 7 pm UTC.&#xA;&#xA;Cool to take the initiative, the schedule works for me, however this slot&#xA;might conflict with the Core Lightning engineering call ? I remember we&#xA;moved the LDK meeting time from 7pm to 5pm, as we had folks willing to&#xA;attend both.&#xA;&#xA;&gt; 1. Are the tokens transferable between users? For example, if Ned is a&#xA;&gt; routing node, and Alice has some of their tokens, can she give these&#xA;tokens&#xA;&gt; to Bob?&#xA;&gt; If yes - could this lead to the creation of a secondary market?&#xA;&gt; If no - will that slow down the transaction flow that a new node can send?&#xA;&#xA;Current version of the proposal, there is nothing preventing the tokens to&#xA;be transferred between the users, Alice can give these tokens to Bob. We&#xA;could make them binding to the prover, by requesting a new round where&#xA;Alice registers a pubkey towards Ned, and all tokens should be&#xA;counter-authenticated by Ned at forward. Ned would flag out the&#xA;double-usage of tokens, ideally in a ZKP-way. Still I think this would&#xA;never prevent Alice from sharing her key material with Bob. So I&#39;m not sure&#xA;we can prevent a secondary-market, and it might be even more valuable if we&#xA;would like LSPs to collect tokens for their spokes nodes to simplify UX.&#xA;&#xA;That said, beyond unlinkability between the blinded message and the&#xA;cleartext tokens/signatures, I think all the properties should be open to&#xA;more research.&#xA;&#xA;&gt; 2. Do you have a recommended policy for the creation of tokens and their&#xA;&gt; use? Ideally, there will be a policy that would mitigate both slow and&#xA;&gt; quick jamming, without harming usability too much.&#xA;&#xA;If by recommend policy, you mean the set of algorithms that should guide&#xA;the token quantity, rate issuance, token acquisition cost, and the&#xA;adaptations in function of the local channel congestion, or even the&#xA;gossips of the other routing nodes, not at all. Just intuition, I think a&#xA;simple model should start from enforcing a proportionality between token&#xA;acquisition costs and the available channels liquidity, then you can add&#xA;more factors in function of your risk model.&#xA;&#xA;About the slow/quick jamming distinction, I still believe a good&#xA;anti-jamming solution should aim to solve things in a continuous fashion,&#xA;rather than a discrete one. That way binds better to the reality of&#xA;differing hold time Lightning HTLC: simple payment, offline receive,&#xA;hold-invoice,  swaps, etc...&#xA;&#xA;&gt; 3. You write &#34;the reputation credentials to liquidity units translation&#xA;can&#xA;&gt; be severed&#34; - does this mean that the value of the token changes? Is that&#xA;&gt; in the spirit of changing the fees in a channel?&#xA;&gt; If this is the case, can&#39;t a routing node &#34;trick&#34; a user into buying many&#xA;&gt; tokens and then bring the price up?&#xA;&#xA;Yes, the &#34;liquidity value&#34; of the tokens is currently left as a floating&#xA;parameter. This is a good question if it should be fixed and only the&#xA;routing fees should fluctuate in function of channel congestion, or&#xA;floating e.g when the global quantity of tokens are required to re-dilute&#xA;their current values to maintain some proportion between acquisition cost&#xA;and available liquidity.&#xA;&#xA;For sure, a routing node could &#34;trick&#34; a user into buying many tokens and&#xA;then break the promise of not only bringing the price up but also plainly&#xA;reject HTLC forward requests satisfying the announced routing policy.&#xA;Though note the user&#39;s routing algorithms could penalize in retorsion the&#xA;node, if the routing policy gossiped isn&#39;t respected.&#xA;&#xA;&gt; 4. How would these tokens work with blinded paths and other&#xA;&gt; privacy-preserving suggestions?&#xA;&#xA;Primarily, the tokens could use the new onion messages and blinded paths&#xA;for the dissemination and renewal rounds. Current design assumes they&#39;re&#xA;attached to the HTLC during forward along the payment path, though I think&#xA;one design alternative could be completely detached, and the HTLC onion&#xA;just contains a ref to the tokens.&#xA;&#xA;&#xA;Zooming out, after submitting this proposal to the mailing list yesterday,&#xA;I thought how much a token/credentials system bootstrapped on pre-paid fees&#xA;should be classified into monetary strategy or a reputation-based strategy,&#xA;and it turns out as there is an acquisition cost associated to the tokens,&#xA;in fact it might belong more to the monetary strategy classification. So I&#xA;wonder now if the usage of the reputation in the proposal title isn&#39;t&#xA;misleading and if a &#34;breakeven point&#34; isn&#39;t still implied (&#34;the&#xA;proportionality&#34; seeked). From a history of ideas standpoint, a&#xA;reputation-based strategy was more the Stakes Certificate solution&#xA;originally proposed in 2020. Though this proposal reuses the liquidity&#xA;units/credit score introduced there.&#xA;&#xA;I think more and more we should have a &#34;two-tier&#34; mitigation strategy,&#xA;where the base tier is strictly defined in &#34;pure fees&#34; terms, and then&#xA;layered on top of a reputation system. A routing node could deviate from&#xA;the zero risk &#34;pure fees&#34; ones to increase its routing fees returns, by&#xA;relying more on assumptions like &#34;Past HTLC senders behave well if there is&#xA;a proportionality between reputation cost and amount of liquidity resources&#xA;allocated in function of said-reputation&#34;.&#xA;&#xA;Looking forward to pursuing discussions during calls!&#xA;&#xA;Best,&#xA;Antoine&#xA;&#xA;Le lun. 21 nov. 2022 à 13:16, Clara Shikhelman &lt;clara.shikhelman at gmail.com&gt;&#xA;a écrit :&#xA;&#xA;&gt; Dear Antoine and list,&#xA;&gt;&#xA;&gt; I think that another call to discuss jamming would be great. I would&#xA;&gt; suggest making it a repeating call every 2 weeks, starting from Monday the&#xA;&gt; 28th at 7 pm UTC.&#xA;&gt;&#xA;&gt; Antoine - Thank you for your work!&#xA;&gt; I have a few questions to better understand the details.&#xA;&gt;&#xA;&gt; 1. Are the tokens transferable between users? For example, if Ned is a&#xA;&gt; routing node, and Alice has some of their tokens, can she give these tokens&#xA;&gt; to Bob?&#xA;&gt; If yes - could this lead to the creation of a secondary market?&#xA;&gt; If no - will that slow down the transaction flow that a new node can send?&#xA;&gt;&#xA;&gt; 2. Do you have a recommended policy for the creation of tokens and their&#xA;&gt; use? Ideally, there will be a policy that would mitigate both slow and&#xA;&gt; quick jamming, without harming usability too much.&#xA;&gt;&#xA;&gt; 3. You write &#34;the reputation credentials to liquidity units translation&#xA;&gt; can be severed&#34; - does this mean that the value of the token changes? Is&#xA;&gt; that in the spirit of changing the fees in a channel?&#xA;&gt; If this is the case, can&#39;t a routing node &#34;trick&#34; a user into buying many&#xA;&gt; tokens and then bring the price up?&#xA;&gt;&#xA;&gt; 4. How would these tokens work with blinded paths and other&#xA;&gt; privacy-preserving suggestions?&#xA;&gt;&#xA;&gt; Thanks again,&#xA;&gt; Clara&#xA;&gt;&#xA;&gt; On Sun, Nov 20, 2022 at 11:01 PM Antoine Riard &lt;antoine.riard at gmail.com&gt;&#xA;&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; Hi LN Devs,&#xA;&gt;&gt;&#xA;&gt;&gt; tl;dr A formalization of a reputation-based scheme to solve channel&#xA;&gt;&gt; jamming is proposed. The system relies on &#34;credentials&#34; issued by routing&#xA;&gt;&gt; hops and requested to be attached to each HTLC forward request. The&#xA;&gt;&gt; &#34;credentials&#34; can be used by a reputation algorithm to reward/punish&#xA;&gt;&gt; payment senders and allocate channel liquidity resources efficiently. The&#xA;&gt;&gt; &#34;credentials&#34;  initial distribution can be bootstrapped leveraging one-time&#xA;&gt;&gt; upfront fees paid toward the routing hops. Afterwards, the &#34;credentials&#34;&#xA;&gt;&gt; subsequent distribution can rely on previous HTLC traffic.&#xA;&gt;&gt;&#xA;&gt;&gt; A protocol description can be found here, with few extensions already to&#xA;&gt;&gt; the BOLTs:&#xA;&gt;&gt;&#xA;&gt;&gt; https://github.com/lightning/bolts/pull/1043&#xA;&gt;&gt;&#xA;&gt;&gt; There is also a work-in-progress proof-of-concept in LDK (on top of our&#xA;&gt;&gt; coming soon^TM  HTLC intercepting API):&#xA;&gt;&gt;&#xA;&gt;&gt; https://github.com/lightningdevkit/rust-lightning/pull/1848&#xA;&gt;&gt;&#xA;&gt;&gt; This work builds on previous reputation-scheme research [0] [1]. It also&#xA;&gt;&gt; integrates the more recent proposals of upfront fees as a straightforward&#xA;&gt;&gt; mechanism to bootstrap the reputation system. Bootstrapping the system with&#xA;&gt;&gt; more economically cost-effective privacy-preserving UTXO ownership proofs&#xA;&gt;&gt; not only add another layer of engineering complexity, there is still a&#xA;&gt;&gt; proof size vs proof generation/validation trade-off to arbiter between ZKP&#xA;&gt;&gt; cryptosystems.&#xA;&gt;&gt;&#xA;&gt;&gt; Rather to seek for a game-theory equilibrium defined as a breakeven point&#xA;&gt;&gt; as in the latest unconditional fee research [2], this proposal aims to use&#xA;&gt;&gt; reputation credentials to allow HTLC traffic-shaping. This not only should&#xA;&gt;&gt; protect against jamming situations (either malicious&#xA;&gt;&gt; or spontaneous) but also allow active HTLC traffic-shaping, where a&#xA;&gt;&gt; routing hop can allow extended channel liquidity lockups based on&#xA;&gt;&gt; accumulated reputation (e.g for hold-invoices). This is also a reduced&#xA;&gt;&gt; overhead cost, as upfront fees are only paid at bootstrap, or when the HTLC&#xA;&gt;&gt; forward behavior can be qualified as &#34;whitewashing&#34; from the routing hop&#xA;&gt;&gt; viewpoint.&#xA;&gt;&gt;&#xA;&gt;&gt; It should be noted, this current reputation-credential architectural&#xA;&gt;&gt; framework assumes credentials distribution at the endpoint of the network.&#xA;&gt;&gt; However, the framework should be flexible enough for the credentials to be&#xA;&gt;&gt; harvested by the LSPs, and then distributed in a secondary fashion to their&#xA;&gt;&gt; spokes, when they need it, or even attached transparently thanks to&#xA;&gt;&gt; trampoline. So one design intuition, there is no strong attachment of the&#xA;&gt;&gt; reputation to the endpoint HTLC sender, even if the protocol is described&#xA;&gt;&gt; in a &#34;flat&#34; view for now.&#xA;&gt;&gt;&#xA;&gt;&gt; Let&#39;s evaluate quickly this mitigation proposal against a few criterias&#xA;&gt;&gt; emerged from recent research.&#xA;&gt;&gt;&#xA;&gt;&gt; The mitigation is effective, in the sense a routing hop can apply a&#xA;&gt;&gt; proportional relationship between the acquisition of the reputation and the&#xA;&gt;&gt; amount of liquidity resources credited in function of said reputation. In a&#xA;&gt;&gt; period of steady state, the reputation acquisition cost can be downgraded&#xA;&gt;&gt; to 0. In periods of channel congestion, the reputation credentials to&#xA;&gt;&gt; liquidity units translation can be severed, in the limit of routing hop&#xA;&gt;&gt; acceptable competitiveness.&#xA;&gt;&gt;&#xA;&gt;&gt; The mitigation is incentive-compatible, if the credentials are not&#xA;&gt;&gt; honored by their issuers, the HTLC senders can evict them from the routing&#xA;&gt;&gt; network view for a while. The successful usage of credentials can lead to&#xA;&gt;&gt; more credentials allocated for longer and more capacity-intensive channel&#xA;&gt;&gt; lockups. In case of HTLC failure, the failure source could be forgiven by&#xA;&gt;&gt; routing hops to maintain the worthiness of the sender credentials.&#xA;&gt;&gt;&#xA;&gt;&gt; The mitigation can be made transparent from the user, as the credentials&#xA;&gt;&gt; harvesting can be done automatically from a pre-allocated budget, similar&#xA;&gt;&gt; to the fee-bumping reserves requirement introduced by anchor output. At the&#xA;&gt;&gt; end of today, if we take modern browsers as an example, the average user&#xA;&gt;&gt; doesn&#39;t check manually the TLS certificates (for what they&#39;re worth...).&#xA;&gt;&gt;&#xA;&gt;&gt; The mitigation can conserve high-level privacy, as the usage of blinded&#xA;&gt;&gt; signature (or another equivalent cryptosystem breaking signature/message&#xA;&gt;&gt; linking) should allow the credentials issued during a preliminary phase to&#xA;&gt;&gt; be undistinguishable during the redeem/usage phase. New CPU/memory DoS&#xA;&gt;&gt; vectors due to the credentials processing should be watched out.&#xA;&gt;&gt;&#xA;&gt;&gt; About the ease of implementation, there are few protocol messages to&#xA;&gt;&gt; modify, a HTLC intercepting API is assumed as supported by the&#xA;&gt;&gt; implementation, onion messages support is also implied, landing EC blinded&#xA;&gt;&gt; signature in libsecp256k1-zkp shouldn&#39;t be a big deal, routing algorithms&#xA;&gt;&gt; adaptations might be more serious but still reasonable. The&#xA;&gt;&gt; &#34;credentials-to-liquidity&#34; allocation algorithms are likely the new real&#xA;&gt;&gt; beast, though I don&#39;t think any reputation scheme can spare them.&#xA;&gt;&gt;&#xA;&gt;&gt; There could be a concern about the centralization inertia introduced by a&#xA;&gt;&gt; reputation system.  Intuitively, the argument can be made that any&#xA;&gt;&gt; historical tracking (such as routing buckets) favor established LN&#xA;&gt;&gt; incumbents at the gain of efficiency. A counter-argument can be made, a new&#xA;&gt;&gt; routing hop can lower the acquisition cost of its issued credentials to&#xA;&gt;&gt; attract more HTLC traffic (accepting higher jamming risk).&#xA;&gt;&gt;&#xA;&gt;&gt; On the ecosystem impacts, it should be studied that this proposal would&#xA;&gt;&gt; impact things like inbound channel routing fees [3], ratecard [4] or&#xA;&gt;&gt; flow-control valve [5] and the whole liquidity toolchain. Hopefully, we&#xA;&gt;&gt; don&#39;t significantly restrain the design space for future LN protocol&#xA;&gt;&gt; upgrades.&#xA;&gt;&gt;&#xA;&gt;&gt; On the proposal modularity and flexibility, each routing node has&#xA;&gt;&gt; oversight on its routing policy, acquisition methods, credentials to&#xA;&gt;&gt; liquidity rate. New acquisition methods can be experimented or deployed&#xA;&gt;&gt; when ready, e.g stakes certificates with only e2e upgrade. The credentials&#xA;&gt;&gt; themselves could have &#34;innate&#34; expiration time if we use things like&#xA;&gt;&gt; short-lived ZKP [6]. The credentials framework can be extended beyond&#xA;&gt;&gt; solving jamming, as a generalized risk-management framework for Bitcoin&#xA;&gt;&gt; decentralized financial network, e.g transaction signature exchange&#xA;&gt;&gt; ordering in multi-party transactions [7] or finding reliable Coinjoin&#xA;&gt;&gt; counterparties.&#xA;&gt;&gt;&#xA;&gt;&gt; Feedback welcome.&#xA;&gt;&gt;&#xA;&gt;&gt; Cheers,&#xA;&gt;&gt; Antoine&#xA;&gt;&gt;&#xA;&gt;&gt; [0]&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-November/002884.html&#xA;&gt;&gt; [1]&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-August/003673.html&#xA;&gt;&gt; [2]&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003740.html&#xA;&gt;&gt; [3]&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-July/003643.html&#xA;&gt;&gt; [4]&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003685.html&#xA;&gt;&gt; [5]&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003686.html&#xA;&gt;&gt; [6] https://eprint.iacr.org/2022/190.pdf&#xA;&gt;&gt; [7] https://github.com/lightning/bolts/pull/851#issuecomment-1290727242&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; Lightning-dev mailing list&#xA;&gt;&gt; Lightning-dev at lists.linuxfoundation.org&#xA;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#xA;&gt;&gt;&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20221121/d1e83ac2/attachment-0001.html&gt;</html></oembed>