<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:2020-10-06&#xA;📝 Original message:&#xA;Hello Bastien,&#xA;&#xA;As a first note , I was thinking dynamic policy adjustment would be covered&#xA;by the dynamic commitment mechanism proposed by Laolu as it presents the&#xA;same trade-offs, you need to stop channel HTLC processing before upgrading,&#xA;otherwise it might falsify your whole in-flight HTLC accounting.&#xA;&#xA;&gt; Recent discussions around channel jamming [1] have highlighted again the&#xA;&gt; need to think twice when&#xA;&gt; configuring your channels parameters.&#xA;&#xA;I&#39;m still dubious that straighter channel parameters are the best solution&#xA;to solve channel jamming. As a routing node evaluating a HTLC, I think the&#xA;question you&#39;re trying to answer is : &#34;Is this a _honest_ HTLC to relay ?&#34;,&#xA;where honest is defined both as paying more fees that the liquidity lock&#xA;and with high odds of a positive settlement, otherwise you won&#39;t get paid.&#xA;&#xA;The first predicate is easy to evaluate, just verify that the HTLC is&#xA;paying more as an incoming packet that you have to send forward.&#xA;&#xA;On the other hand, the second predicate is hard to evaluate. A first lead&#xA;of a solution is to evaluate the packet forwarder instead of the packet&#xA;itself. You may have a web-of-trust/reputation system with a one-level rank&#xA;of trust which would be enforced at the channel opening layer, i.e don&#39;t&#xA;open/accept channels with random nodes. A less constraining version is&#xA;still a reputation system but where you statically attribute a HTLC&#xA;forwarding policy based on counterparty reputation (~today).&#xA;&#xA;The more evolved reputation system version you implicitly seem to argue for&#xA;is adapting the forwarding policy based on counterparty past behavior, e.g&#xA;like relaxing channel parameters for a counterparty upstreaming a lot of&#xA;successful HTLCs. IMO, this is still presenting hurdles.&#xA;&#xA;If you have 1 BTC of outgoing bandwidth but your counterparty is enforcing&#xA;a `max_htlc_value_in_flight_msat` of 0.5 BTC, it means you have a&#xA;&#34;sleeping&#34; outgoing liquidity. Rationally, you should only open a channel&#xA;with a capacity somehow equivalent to what is authorized by your&#xA;counterparty relay policy.&#xA;&#xA;A lesson would be to negotiate first a policy then an opening, as of today&#xA;they&#39;re still bundled in one message flow. I don&#39;t think you can reduce the&#xA;capacity once you learn acceptor policy ? Don&#39;t overstake liquidity more&#xA;than you can actually gain from.&#xA;&#xA;That said, if you have a dynamic policy model, at policy relaxation, you&#xA;need to increase channel capacity to profit from relaxation, let&#39;s say&#xA;through some kind of splice-in. But now you have on-chain fees at each&#xA;policy/liquidity adjustment.&#xA;&#xA;Under a dynamic policy model based on accumulated reputation, it sounds&#xA;like there is some kind of trade-off between useless off-chain liquidity&#xA;and on-chain fees.&#xA;&#xA;Instead of relying on reputation, the other alternative is just to have an&#xA;upfront payment system, where a relay node doesn&#39;t have to account for a&#xA;HTLC issuer reputation to decide acceptance and can just forward a HTLC as&#xA;long it paid enough. More, I think it&#39;s better to mitigate jamming with a&#xA;fees-based system than a web-of-trust one, less burden on network newcomers.&#xA;&#xA;This doesn&#39;t prevent hybrid models where you might reward your good&#xA;behaving peers with a discount on your upfront payment policy.&#xA;&#xA;What&#39;s your opinion ?&#xA;&#xA;Antoine&#xA;&#xA;Le lun. 5 oct. 2020 à 07:54, Bastien TEINTURIER via Lightning-dev &lt;&#xA;lightning-dev at lists.linuxfoundation.org&gt; a écrit :&#xA;&#xA;&gt; Good evening list,&#xA;&gt;&#xA;&gt; Recent discussions around channel jamming [1] have highlighted again the&#xA;&gt; need to think twice when&#xA;&gt; configuring your channels parameters. There are currently parameters that&#xA;&gt; are set once at channel&#xA;&gt; creation that would benefit a lot from being configurable throughout the&#xA;&gt; lifetime of the channel&#xA;&gt; to avoid closing channels when we just want to reconfigure them:&#xA;&gt;&#xA;&gt; * max_htlc_value_in_flight_msat&#xA;&gt; * max_accepted_htlcs&#xA;&gt; * htlc_minimum_msat&#xA;&gt; * htlc_maximum_msat&#xA;&gt;&#xA;&gt; Nodes can currently unilaterally udpate these by applying forwarding&#xA;&gt; heuristics, but it would be&#xA;&gt; better to tell our peer about the limits we want to put in place&#xA;&gt; (otherwise we&#39;re wasting a whole&#xA;&gt; cycle of add/commit/revoke/fail messages for no good reason).&#xA;&gt;&#xA;&gt; I suggest adding tlv records in `commitment_signed` to tell our channel&#xA;&gt; peer that we&#39;re changing&#xA;&gt; the values of these fields.&#xA;&gt;&#xA;&gt; Is someone opposed to that?&#xA;&gt; Are there other fields you think would need to become dynamic as well?&#xA;&gt; Do you think that needs a new message instead of using extensions of&#xA;&gt; `commitment_signed`?&#xA;&gt;&#xA;&gt; Cheers,&#xA;&gt; Bastien&#xA;&gt;&#xA;&gt; [1] https://twitter.com/joostjgr/status/1308414364911841281&#xA;&gt; _______________________________________________&#xA;&gt; Lightning-dev mailing list&#xA;&gt; Lightning-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20201006/8dc749f6/attachment.html&gt;</html></oembed>