<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2023-06-09T12:16:57Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Conner Fromknecht [ARCHIVE]</title>
  <author>
    <name>Conner Fromknecht [ARCHIVE]</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1za0a9afyj7um5feva0d5xmhfsah3zxm252hna2duq0numa952frqvuua2a.rss" />
  <link href="https://yabu.me/npub1za0a9afyj7um5feva0d5xmhfsah3zxm252hna2duq0numa952frqvuua2a" />
  <id>https://yabu.me/npub1za0a9afyj7um5feva0d5xmhfsah3zxm252hna2duq0numa952frqvuua2a</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://yabu.me/nevent1qqs804pqvvj52qg2veesksu0pvwn5cvfhd63w70n833m9q2h0wv528czyqt4l5h4yjtmnw389n4aksmwaxrk7ygmd232704fhsp70n05k3fyv73au2k</id>
    
      <title type="html">📅 Original date posted:2018-11-13 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs804pqvvj52qg2veesksu0pvwn5cvfhd63w70n833m9q2h0wv528czyqt4l5h4yjtmnw389n4aksmwaxrk7ygmd232704fhsp70n05k3fyv73au2k" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs00qymms56z9uf6xec8yxslx833f8n80qa7cftkwma4xuc3tfjztqkd48q4&#39;&gt;nevent1q…48q4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-11-13&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning all,&lt;br/&gt;&lt;br/&gt;&amp;gt; MUST NOT forward (if an intermediate node) or claim (if the final node) unless&lt;br/&gt;&amp;gt; it has received a total greater or equal to `intended_total_payment` in all&lt;br/&gt;&amp;gt; incoming HTLCs for the same `payment_hash`.&lt;br/&gt;&lt;br/&gt;I was under the impression that this would not require changes on behalf of the&lt;br/&gt;intermediaries, and only need to be implemented by the sender and receiver?&lt;br/&gt;If not, then nodes would need to advertise that they support this so that the&lt;br/&gt;sender can be sure to route through the subset of nodes that support it.&lt;br/&gt;&lt;br/&gt;Either way, it would seem that this constraint can only be accurately enforced&lt;br/&gt;by the receiver. If any partial payments fail, then the `intended_total_payment`&lt;br/&gt;through an intermediary may never arise and the payment would be held. This&lt;br/&gt;would also seem to exclude the possibility of iterative path finding, since the&lt;br/&gt;entire payment flow must be known up front during onion packet construction.&lt;br/&gt;&lt;br/&gt;Seems the proposal still works without the intermediaries needing to know this?&lt;br/&gt;&lt;br/&gt;We may want to add that the receiver:&lt;br/&gt;* SHOULD fail the payment if `intended_total_payment` is less than the invoice&lt;br/&gt;   amount&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;m wondering, since these payments are no longer atomic, should we name it&lt;br/&gt;&amp;gt; accordingly?&lt;br/&gt;&lt;br/&gt;Indeed this true. Perhaps NAMP or CPHR (Concurrent Payment Hash Re-use) are more&lt;br/&gt;accurate and may avoid confusion?&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Conner&lt;br/&gt;On Tue, Nov 13, 2018 at 8:33 AM Johan Torås Halseth &amp;lt;johanth at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Good evening Z and list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m wondering, since these payments are no longer atomic, should we name it accordingly?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Johan&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, Nov 13, 2018 at 1:28 PM ZmnSCPxj via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I propose the below to support Base AMP.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The below would allow arbitrary merges of paths, but not arbitrary splits.  I am uncertain about the safety of arbitrary splits.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ### The `multipath_merge_per_hop` type (`option_base_amp`)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; This indicates that payment has been split by the sender using Base AMP, and that the receiver should wait for the total intended payment before forwarding or claiming the payment.&lt;br/&gt;&amp;gt;&amp;gt; In case the receiving node is not the last node in the path, then succeeding hops MUST be the same across all splits.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 1. type: 1 (`termination_per_hop`)&lt;br/&gt;&amp;gt;&amp;gt; 2. data:&lt;br/&gt;&amp;gt;&amp;gt;   * [`8` : `short_channel_id`]&lt;br/&gt;&amp;gt;&amp;gt;   * [`8` : `amt_to_forward`]&lt;br/&gt;&amp;gt;&amp;gt;   * [`4` : `outgoing_cltv_value`]&lt;br/&gt;&amp;gt;&amp;gt;   * [`8` : `intended_total_payment`]&lt;br/&gt;&amp;gt;&amp;gt;   * [`4` : `zeros`]&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The contents of this hop will be the same across all paths of the Base AMP.&lt;br/&gt;&amp;gt;&amp;gt; The `payment_hash` of the incoming HTLCs will also be the same across all paths of the Base AMP.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; `intended_total_payment` is the total amount of money that this node should expect to receive in all incoming paths to the same `payment_hash`.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; This may be the last hop of a payment onion, in which case the `HMAC` for this hop will be `0` (the same rule as for `per_hop_type` 0).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The receiver:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; * MUST impose a reasonable timeout for waiting to receive all component paths, and fail all incoming HTLC offers for the `payment_hash`  if they have not totalled equal to `intended_total_payment`.&lt;br/&gt;&amp;gt;&amp;gt; * MUST NOT forward (if an intermediate node) or claim (if the final node) unless it has received a total greater or equal to `intended_total_payment` in all incoming HTLCs for the same `payment_hash`.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The sender:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; * MUST use the same `payment_hash` for all paths of a single multipath payment.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;
    </content>
    <updated>2023-06-09T12:52:41Z</updated>
  </entry>

</feed>