<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 LN Devs,&#xA;&#xA;tl;dr A formalization of a reputation-based scheme to solve channel jamming&#xA;is proposed. The system relies on &#34;credentials&#34; issued by routing hops and&#xA;requested to be attached to each HTLC forward request. The &#34;credentials&#34;&#xA;can be used by a reputation algorithm to reward/punish payment senders and&#xA;allocate channel liquidity resources efficiently. The &#34;credentials&#34;&#xA;initial distribution can be bootstrapped leveraging one-time upfront fees&#xA;paid toward the routing hops. Afterwards, the &#34;credentials&#34; subsequent&#xA;distribution can rely on previous HTLC traffic.&#xA;&#xA;A protocol description can be found here, with few extensions already to&#xA;the BOLTs:&#xA;&#xA;https://github.com/lightning/bolts/pull/1043&#xA;&#xA;There is also a work-in-progress proof-of-concept in LDK (on top of our&#xA;coming soon^TM  HTLC intercepting API):&#xA;&#xA;https://github.com/lightningdevkit/rust-lightning/pull/1848&#xA;&#xA;This work builds on previous reputation-scheme research [0] [1]. It also&#xA;integrates the more recent proposals of upfront fees as a straightforward&#xA;mechanism to bootstrap the reputation system. Bootstrapping the system with&#xA;more economically cost-effective privacy-preserving UTXO ownership proofs&#xA;not only add another layer of engineering complexity, there is still a&#xA;proof size vs proof generation/validation trade-off to arbiter between ZKP&#xA;cryptosystems.&#xA;&#xA;Rather to seek for a game-theory equilibrium defined as a breakeven point&#xA;as in the latest unconditional fee research [2], this proposal aims to use&#xA;reputation credentials to allow HTLC traffic-shaping. This not only should&#xA;protect against jamming situations (either malicious&#xA;or spontaneous) but also allow active HTLC traffic-shaping, where a routing&#xA;hop can allow extended channel liquidity lockups based on accumulated&#xA;reputation (e.g for hold-invoices). This is also a reduced overhead cost,&#xA;as upfront fees are only paid at bootstrap, or when the HTLC forward&#xA;behavior can be qualified as &#34;whitewashing&#34; from the routing hop viewpoint.&#xA;&#xA;It should be noted, this current reputation-credential architectural&#xA;framework assumes credentials distribution at the endpoint of the network.&#xA;However, the framework should be flexible enough for the credentials to be&#xA;harvested by the LSPs, and then distributed in a secondary fashion to their&#xA;spokes, when they need it, or even attached transparently thanks to&#xA;trampoline. So one design intuition, there is no strong attachment of the&#xA;reputation to the endpoint HTLC sender, even if the protocol is described&#xA;in a &#34;flat&#34; view for now.&#xA;&#xA;Let&#39;s evaluate quickly this mitigation proposal against a few criterias&#xA;emerged from recent research.&#xA;&#xA;The mitigation is effective, in the sense a routing hop can apply a&#xA;proportional relationship between the acquisition of the reputation and the&#xA;amount of liquidity resources credited in function of said reputation. In a&#xA;period of steady state, the reputation acquisition cost can be downgraded&#xA;to 0. In periods of channel congestion, the reputation credentials to&#xA;liquidity units translation can be severed, in the limit of routing hop&#xA;acceptable competitiveness.&#xA;&#xA;The mitigation is incentive-compatible, if the credentials are not honored&#xA;by their issuers, the HTLC senders can evict them from the routing network&#xA;view for a while. The successful usage of credentials can lead to more&#xA;credentials allocated for longer and more capacity-intensive channel&#xA;lockups. In case of HTLC failure, the failure source could be forgiven by&#xA;routing hops to maintain the worthiness of the sender credentials.&#xA;&#xA;The mitigation can be made transparent from the user, as the credentials&#xA;harvesting can be done automatically from a pre-allocated budget, similar&#xA;to the fee-bumping reserves requirement introduced by anchor output. At the&#xA;end of today, if we take modern browsers as an example, the average user&#xA;doesn&#39;t check manually the TLS certificates (for what they&#39;re worth...).&#xA;&#xA;The mitigation can conserve high-level privacy, as the usage of blinded&#xA;signature (or another equivalent cryptosystem breaking signature/message&#xA;linking) should allow the credentials issued during a preliminary phase to&#xA;be undistinguishable during the redeem/usage phase. New CPU/memory DoS&#xA;vectors due to the credentials processing should be watched out.&#xA;&#xA;About the ease of implementation, there are few protocol messages to&#xA;modify, a HTLC intercepting API is assumed as supported by the&#xA;implementation, onion messages support is also implied, landing EC blinded&#xA;signature in libsecp256k1-zkp shouldn&#39;t be a big deal, routing algorithms&#xA;adaptations might be more serious but still reasonable. The&#xA;&#34;credentials-to-liquidity&#34; allocation algorithms are likely the new real&#xA;beast, though I don&#39;t think any reputation scheme can spare them.&#xA;&#xA;There could be a concern about the centralization inertia introduced by a&#xA;reputation system.  Intuitively, the argument can be made that any&#xA;historical tracking (such as routing buckets) favor established LN&#xA;incumbents at the gain of efficiency. A counter-argument can be made, a new&#xA;routing hop can lower the acquisition cost of its issued credentials to&#xA;attract more HTLC traffic (accepting higher jamming risk).&#xA;&#xA;On the ecosystem impacts, it should be studied that this proposal would&#xA;impact things like inbound channel routing fees [3], ratecard [4] or&#xA;flow-control valve [5] and the whole liquidity toolchain. Hopefully, we&#xA;don&#39;t significantly restrain the design space for future LN protocol&#xA;upgrades.&#xA;&#xA;On the proposal modularity and flexibility, each routing node has oversight&#xA;on its routing policy, acquisition methods, credentials to liquidity rate.&#xA;New acquisition methods can be experimented or deployed when ready, e.g&#xA;stakes certificates with only e2e upgrade. The credentials themselves could&#xA;have &#34;innate&#34; expiration time if we use things like short-lived ZKP [6].&#xA;The credentials framework can be extended beyond solving jamming, as a&#xA;generalized risk-management framework for Bitcoin decentralized financial&#xA;network, e.g transaction signature exchange ordering in multi-party&#xA;transactions [7] or finding reliable Coinjoin counterparties.&#xA;&#xA;Feedback welcome.&#xA;&#xA;Cheers,&#xA;Antoine&#xA;&#xA;[0]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-November/002884.html&#xA;[1]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-August/003673.html&#xA;[2]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003740.html&#xA;[3]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-July/003643.html&#xA;[4]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003685.html&#xA;[5]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003686.html&#xA;[6] https://eprint.iacr.org/2022/190.pdf&#xA;[7] https://github.com/lightning/bolts/pull/851#issuecomment-1290727242&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20221120/2a736ba2/attachment.html&gt;</html></oembed>