<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2023-06-09T12:20:45Z</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by fiatjaf [ARCHIVE]</title>
  <author>
    <name>fiatjaf [ARCHIVE]</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1v2xa40strmvauf2gr5gjj5c3yqlytar7p3v64nfg0ke6e0vkvvkqxpmakl.rss" />
  <link href="https://nostr.ae/npub1v2xa40strmvauf2gr5gjj5c3yqlytar7p3v64nfg0ke6e0vkvvkqxpmakl" />
  <id>https://nostr.ae/npub1v2xa40strmvauf2gr5gjj5c3yqlytar7p3v64nfg0ke6e0vkvvkqxpmakl</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqswsx8vh2sd67mqqzy6l8gdarl6uzmdpgxlc7xugxl58nufx9c97cgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcy2ennx</id>
    
      <title type="html">📅 Original date posted:2021-09-21 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswsx8vh2sd67mqqzy6l8gdarl6uzmdpgxlc7xugxl58nufx9c97cgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcy2ennx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspdqmfj9hdujcmc9rm7xvm5p879p55s4hjm7zuztk3u4gzj8ry37g5kn4fv&#39;&gt;nevent1q…n4fv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-09-21&lt;br/&gt;📝 Original message:&lt;br/&gt;Indeed, sorry, I misunderstood it because I read AMP/keysend and assumed&lt;br/&gt;you were talking about payer-generated preimage.&lt;br/&gt;It doesn&amp;#39;t help that &amp;#34;payer&amp;#34; and &amp;#34;payee&amp;#34; are so similar words.&lt;br/&gt;&lt;br/&gt;So yes, I agree very much.&lt;br/&gt;&lt;br/&gt;I also think the part about including the order details inside the TLV&lt;br/&gt;would be very good to have.&lt;br/&gt;&lt;br/&gt;I would say, however, that these are two separate proposals:&lt;br/&gt;&lt;br/&gt;  1. implementations should expose a &amp;#34;stateless invoice&amp;#34; API for receiving&lt;br/&gt;using the payment_secret;&lt;br/&gt;  2. when sending, implementations should attach a TLV record with encoded&lt;br/&gt;order details.&lt;br/&gt;&lt;br/&gt;Of these, 1 is very simple to do and do not require anyone to cooperate, it&lt;br/&gt;just works.&lt;br/&gt;&lt;br/&gt;2 requires full network compatibility, so it&amp;#39;s harder. But 2 is also very&lt;br/&gt;much needed otherwise the payee has to keep track of all the invoice ids&lt;br/&gt;related to the orders they refer to, right? But I think just having 1&lt;br/&gt;already improves the situation a lot, and there are application-specific&lt;br/&gt;workarounds that can be applied for 2 (having a fixed, hardcoded set of&lt;br/&gt;possible orders, encoding the order very minimally in the payment secret or&lt;br/&gt;route hint, storing order details on redis for only 3 minutes and using&lt;br/&gt;lnurlpay to reduce the delay between invoice issuance and user confirmation&lt;br/&gt;to zero, and so on).&lt;br/&gt;&lt;br/&gt;On Tue, Sep 21, 2021 at 9:41 AM Joost Jager &amp;lt;joost.jager at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Tue, Sep 21, 2021 at 2:05 PM fiatjaf &amp;lt;fiatjaf at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; What if instead of the payer generating the preimage the payee could&lt;br/&gt;&amp;gt;&amp;gt; generate stateless invoices? Basically just use some secret to compute the&lt;br/&gt;&amp;gt;&amp;gt; preimage upon receiving the HTLC, for example:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Maybe my explanation wasn&amp;#39;t clear enough, but this is exactly what I am&lt;br/&gt;&amp;gt; proposing. The payee generates a stateless invoice and gives it to the&lt;br/&gt;&amp;gt; payer.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 1. Payer requests an invoice.&lt;br/&gt;&amp;gt;&amp;gt; 2. Payee computes hash = sha256(hmac(local_secret,&lt;br/&gt;&amp;gt;&amp;gt; arbitrary_invoice_id)), then encodes arbitrary_invoice_id into the invoice&lt;br/&gt;&amp;gt;&amp;gt; somehow.&lt;br/&gt;&amp;gt;&amp;gt; 3. Payer sends payment with arbitrary_invoice_id as tlv_record_a.&lt;br/&gt;&amp;gt;&amp;gt; 4. Upon receiving the HTLC, payee computes preimage = hmac(local_secret,&lt;br/&gt;&amp;gt;&amp;gt; tlv_record_a) and resolves it.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One way to do this that I tried to describe in the initial post is via the&lt;br/&gt;&amp;gt; payment_secret. This is already an arbitrary invoice id that is already&lt;br/&gt;&amp;gt; sent as a tlv record.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve implemented such a scheme on @lntxbot, but it required low level&lt;br/&gt;&amp;gt;&amp;gt; code in a c-lightning plugin and a hack with route hints: since TLV&lt;br/&gt;&amp;gt;&amp;gt; payloads were not an option (as payers wouldn&amp;#39;t know how to send them) I&amp;#39;ve&lt;br/&gt;&amp;gt;&amp;gt; used a &amp;#34;shadow&amp;#34; route hint to a private channel that didn&amp;#39;t exist, so&lt;br/&gt;&amp;gt;&amp;gt; preimage was generated on the payee using preimage = hmac(local_secret,&lt;br/&gt;&amp;gt;&amp;gt; next_channel_scid).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Clever workaround.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Joost&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210921/5b0b8328/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210921/5b0b8328/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:03:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8ur575tk0wws4tkgnm9mxczwqs7hyly9mlsygvu049f8339f6lrszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcxmtz0j</id>
    
      <title type="html">📅 Original date posted:2021-09-21 📝 Original message: What ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8ur575tk0wws4tkgnm9mxczwqs7hyly9mlsygvu049f8339f6lrszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcxmtz0j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstkej5sgcp06dt4hyfa5wmjf0qjqucrmrjwrwl44q2zx34znd0twglddsk9&#39;&gt;nevent1q…dsk9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-09-21&lt;br/&gt;📝 Original message:&lt;br/&gt;What if instead of the payer generating the preimage the payee could&lt;br/&gt;generate stateless invoices? Basically just use some secret to compute the&lt;br/&gt;preimage upon receiving the HTLC, for example:&lt;br/&gt;&lt;br/&gt;1. Payer requests an invoice.&lt;br/&gt;2. Payee computes hash = sha256(hmac(local_secret, arbitrary_invoice_id)),&lt;br/&gt;then encodes arbitrary_invoice_id into the invoice somehow.&lt;br/&gt;3. Payer sends payment with arbitrary_invoice_id as tlv_record_a.&lt;br/&gt;4. Upon receiving the HTLC, payee computes preimage = hmac(local_secret,&lt;br/&gt;tlv_record_a) and resolves it.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve implemented such a scheme on @lntxbot, but it required low level code&lt;br/&gt;in a c-lightning plugin and a hack with route hints: since TLV payloads&lt;br/&gt;were not an option (as payers wouldn&amp;#39;t know how to send them) I&amp;#39;ve used a&lt;br/&gt;&amp;#34;shadow&amp;#34; route hint to a private channel that didn&amp;#39;t exist, so preimage was&lt;br/&gt;generated on the payee using preimage = hmac(local_secret,&lt;br/&gt;next_channel_scid).&lt;br/&gt;&lt;br/&gt;If however node implementations could provide such a thing it would reduce&lt;br/&gt;database requirements and improve the lives of application developers very&lt;br/&gt;much.&lt;br/&gt;&lt;br/&gt;On Tue, Sep 21, 2021 at 7:09 AM Joost Jager &amp;lt;joost.jager at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Problem&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One of the qualities of lightning is that it can provide light-weight,&lt;br/&gt;&amp;gt; no-login payments with minimal friction. Games, paywalls, podcasts, etc can&lt;br/&gt;&amp;gt; immediately present a QR code that is ready for scan and pay.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Optimistically presenting payment requests does lead to many of those&lt;br/&gt;&amp;gt; payment requests going unused. A user visits a news site and decides not to&lt;br/&gt;&amp;gt; buy the article. The conventional approach is to create a lightning invoice&lt;br/&gt;&amp;gt; on a node and store the invoice together with order details in a database.&lt;br/&gt;&amp;gt; If the order then goes unfulfilled, cleaning processes remove the data from&lt;br/&gt;&amp;gt; the node and database again.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The problem with this setup is that it needs protection against unbounded&lt;br/&gt;&amp;gt; generation of payment requests. There are solutions for that such as rate&lt;br/&gt;&amp;gt; limiting, but wouldn&amp;#39;t it be nice if invoices can be generated without the&lt;br/&gt;&amp;gt; need to keep any state at all?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Stateless invoices&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What would happen if a lightning invoice is only generated and stored&lt;br/&gt;&amp;gt; nowhere on the recipient side? To the user, it won&amp;#39;t make a difference.&lt;br/&gt;&amp;gt; They would still scan and pay the invoice. When the payment arrives at the&lt;br/&gt;&amp;gt; recipient though, two problems arise:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. Recipient doesn&amp;#39;t know whom or what the payment is for.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This can be solved by attaching additional custom tlv records to the htlc.&lt;br/&gt;&amp;gt; On the wire, this is all arranged for. The only missing piece is the&lt;br/&gt;&amp;gt; ability to specify additional data for that custom tlv record in a bolt11&lt;br/&gt;&amp;gt; invoice. One way would be to define a new tagged field for this in which&lt;br/&gt;&amp;gt; the recipient can encode the order details.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An alternative is to use the existing invoice description field and simply&lt;br/&gt;&amp;gt; always pass that along with the htlc as a custom tlv record.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A second alternative that already works today is to use part (for example&lt;br/&gt;&amp;gt; 16 out of 32 bytes) of the payment_secret (aka payment address) to encode&lt;br/&gt;&amp;gt; the order details in. This assumes that the secret is still secret enough&lt;br/&gt;&amp;gt; with reduced entropy. Also there may not be enough space for every&lt;br/&gt;&amp;gt; application.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2. Recipient doesn&amp;#39;t know the preimage that is needed to settle the&lt;br/&gt;&amp;gt; htlc(s).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One option is to use a keysend payment or AMP payment. In that case, the&lt;br/&gt;&amp;gt; sender includes the preimage with the htlc. Unfortunately this doesn&amp;#39;t&lt;br/&gt;&amp;gt; provide the sender with a proof of payment that they&amp;#39;d get with a regular&lt;br/&gt;&amp;gt; lightning payment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An alternative solution is to use a deterministic preimage based on a&lt;br/&gt;&amp;gt; (recipient node key-derived) secret, the payment secret and other relevant&lt;br/&gt;&amp;gt; properties. This allows the recipient to derive the same preimage twice:&lt;br/&gt;&amp;gt; Once when the lightning invoice is generated and again when a payment&lt;br/&gt;&amp;gt; arrives.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It could be something like this:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; payment_secret = random&lt;br/&gt;&amp;gt; preimage = H(node_secret | payment_secret | payment_amount |&lt;br/&gt;&amp;gt; encoded_order_details)&lt;br/&gt;&amp;gt; invoice_hash = H(preimage)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The sender sends an htlc locked to invoice_hash for payment_amount and&lt;br/&gt;&amp;gt; passes along payment_secret and encoded_order_details in a custom tlv&lt;br/&gt;&amp;gt; record.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; When the recipient receives the htlc, they reconstruct the preimage&lt;br/&gt;&amp;gt; according to the formula above. At this point, all data is available to do&lt;br/&gt;&amp;gt; so. When H(preimage) indeed matches the htlc hash, they can settle the&lt;br/&gt;&amp;gt; payment knowing that this is an order that they committed to earlier.&lt;br/&gt;&amp;gt; Settling could be implemented as a just-in-time inserted invoice to keep&lt;br/&gt;&amp;gt; the diff small.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The preimage is returned to the sender and serves as a proof of payment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Resilience&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To me it seems that stateless invoices can be a relatively simple way to&lt;br/&gt;&amp;gt; improve the resiliency of systems that deal with lightning invoices.&lt;br/&gt;&amp;gt; Unlimited amounts of invoices can be generated without worrying about&lt;br/&gt;&amp;gt; storage or memory, no matter if the requests are due to popularity of a&lt;br/&gt;&amp;gt; service or a deliberate dos attack.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Interested to hear your thoughts.&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;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210921/997189bc/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210921/997189bc/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:03:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9al38ndfu4mezgrft26ddwjs7mzw6uysxwp90d2v5k8a8xmrza6gzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcys6wp7</id>
    
      <title type="html">📅 Original date posted:2019-08-05 📝 Original message: Thank ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9al38ndfu4mezgrft26ddwjs7mzw6uysxwp90d2v5k8a8xmrza6gzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcys6wp7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9nld4yqdmj3g20cunfy9e04nh50q37cu0wd7mrw4jl4mtsy3da8gzda66k&#39;&gt;nevent1q…a66k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-08-05&lt;br/&gt;📝 Original message:&lt;br/&gt;Thank you very much. These were very clarifying answers and ramblings.&lt;br/&gt;&lt;br/&gt;On Monday, August 5, 2019, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt; Good morning fiatjaf,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; No. My question was more like why does Alice decide to build a route&lt;br/&gt;that for through T1 and RT2 and not only through one trampoline router she&lt;br/&gt;knows.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If Alice only always used one trampoline node, then the trampoline node&lt;br/&gt;can assume the next hop is always the payee, and thus record who the payee&lt;br/&gt;is (eroding privacy).&lt;br/&gt;&amp;gt; If Alice uses two, then a trampoline node would have a 50/50 chance of&lt;br/&gt;knowing who the final payee is, reducing the privacy erosion.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Similarly, onion routing over Tor typically passes through 3 &amp;#34;trampoline&amp;#34;&lt;br/&gt;nodes before going to the actual site being accessed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; That makes sense you me in the context of ZmnSCPxj&amp;#39;s virtual space idea,&lt;br/&gt;but not necessarily in the current network conditions. You also said we&amp;#39;re&lt;br/&gt;going to need some hierarchy, but what it&amp;#39;s that? Is it required?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I believe in the future we will see a public network that is too large to&lt;br/&gt;fit on most devices available to most people.&lt;br/&gt;&amp;gt; We may or may not want to have such an enormous network, but the cost of&lt;br/&gt;advertising a public channel is the same as the cost of creating a&lt;br/&gt;non-public channel, thus there is no incentive for random end-user nodes to&lt;br/&gt;*not* publish their channels, and incentive to publish (there is a tiny but&lt;br/&gt;non-zero chance of being routed through, especially as local-area&lt;br/&gt;specializations like JIT-Routing get implemented).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thus, I believe it is eventually required that we hierarchicalize how we&lt;br/&gt;store information, with a &amp;#34;myopic&amp;#34; detailed channel map and a &amp;#34;rough&amp;#34;&lt;br/&gt;global map with just trampoline-payee association mappings.&lt;br/&gt;&amp;gt; I think it is best for each payer to define its own hierarchy or split,&lt;br/&gt;preferentially with some random component.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One might consider, however, that my ramblings are too indefinite and it&lt;br/&gt;would be better to see the network as it evolves.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20190805/85da457a/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20190805/85da457a/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T12:55:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswld3uxl96j0l79nyhaauutwrkp9reraq03k4e4ujzlkkv3jca8fgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcjvcjhf</id>
    
      <title type="html">📅 Original date posted:2021-08-08 📝 Original message: For ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswld3uxl96j0l79nyhaauutwrkp9reraq03k4e4ujzlkkv3jca8fgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcjvcjhf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9w329vv4kyz8e93d9p6dvpa0gcal95ratq9ykuqlqneptnfaxhpslngcwh&#39;&gt;nevent1q…gcwh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-08-08&lt;br/&gt;📝 Original message:&lt;br/&gt;For the Lightning point, even if the dust limit was removed Lightning&lt;br/&gt;would still be trimming any HTLCs below the amount they cost to redeem&lt;br/&gt;in fees, so that wouldn&amp;#39;t make any difference.&lt;br/&gt;&lt;br/&gt;Nonetheless I think reason 1 should be enough.&lt;br/&gt;&lt;br/&gt;2021-08-08 11:52 (GMT-07:00), Jeremy &amp;lt;jlrubin at mit.edu&amp;gt; said:&lt;br/&gt;&amp;gt; We should remove the dust limit from Bitcoin. Five reasons:&lt;br/&gt;&amp;gt; 1) it&amp;#39;s not our business what outputs people want to create&lt;br/&gt;&amp;gt; 2) dust outputs can be used in various authentication/delegation smart&lt;br/&gt;&amp;gt; contracts&lt;br/&gt;&amp;gt; 3) dust sized htlcs in lightning (&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://bitcoin.stackexchange.com/questions/46730/can-you-send-amounts-that-would-typically-be-considered-dust-through-the-light&#34;&gt;https://bitcoin.stackexchange.com/questions/46730/can-you-send-amounts-that-would-typically-be-considered-dust-through-the-light&lt;/a&gt;&lt;br/&gt;&amp;gt; ) force channels to operate in a semi-trusted mode which has implications&lt;br/&gt;&amp;gt; (AFAIU) for the regulatory classification of channels in various jurisdictions;&lt;br/&gt;&amp;gt; agnostic treatment of fund transfers would simplify this (like getting a 0.01&lt;br/&gt;&amp;gt; cent dividend check in the mail)&lt;br/&gt;&amp;gt; 4) thinly divisible colored coin protocols might make use of sats as value&lt;br/&gt;&amp;gt; markers for transactions.&lt;br/&gt;&amp;gt; 5) should we ever do confidential transactions we can&amp;#39;t prevent it without&lt;br/&gt;&amp;gt; compromising privacy / allowed transfers&lt;br/&gt;&amp;gt; The main reasons I&amp;#39;m aware of not allow dust creation is that:&lt;br/&gt;&amp;gt; 1) dust is spam&lt;br/&gt;&amp;gt; 2) dust fingerprinting attacks&lt;br/&gt;&amp;gt; 1 is (IMO) not valid given the 5 reasons above, and 2 is preventable by well&lt;br/&gt;&amp;gt; behaved wallets to not redeem outputs that cost more in fees than they are&lt;br/&gt;&amp;gt; worth.&lt;br/&gt;&amp;gt; cheers,&lt;br/&gt;&amp;gt; jeremy&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; @JeremyRubin_______________________________________________&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;&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-09T12:40:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0ycfhy8ex8mm9c2emev944477p8vumdp3cnphcnruesgasx28kmgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jctd3y6y</id>
    
      <title type="html">📅 Original date posted:2021-06-30 📝 Original message: hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0ycfhy8ex8mm9c2emev944477p8vumdp3cnphcnruesgasx28kmgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jctd3y6y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsww7pav4wyt3q2gwujgjxuwz08ev2lnx60ff9xztgxdtlryzkqpmqr2k3wk&#39;&gt;nevent1q…k3wk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-06-30&lt;br/&gt;📝 Original message:&lt;br/&gt;hello René,&lt;br/&gt;&lt;br/&gt;I think the idea of having separate standards is good because we can&lt;br/&gt;keep the core spec mandatory and other things optional.&lt;br/&gt;&lt;br/&gt;Since the core spec, defined by the BOLTs, is mandatory, it&amp;#39;s better&lt;br/&gt;if it&amp;#39;s as small as possible, basically barely enough to allow peers&lt;br/&gt;to talk to each other and open a channel, then define what an HTLC is&lt;br/&gt;and the basic payment flow.&lt;br/&gt;&lt;br/&gt;All the rest is optional. The BOLTs themselves encourage&lt;br/&gt;experimentation by having TLVs, rules for optional and experimental&lt;br/&gt;message type numbers and so on.&lt;br/&gt;&lt;br/&gt;And then it doesn&amp;#39;t make sense to put optional things in the BOLTs&lt;br/&gt;otherwise no one will be spec-compliant anymore and it will cause&lt;br/&gt;confusion.&lt;br/&gt;&lt;br/&gt;Some things, like splicing and dual-funded channels could be created&lt;br/&gt;as blips and after everybody had implemented them moved to the BOLTs,&lt;br/&gt;other things, like the podcast tipping protocol, cannot.&lt;br/&gt;&lt;br/&gt;Still, it is better to have a spec for the podcast tipping protocol&lt;br/&gt;than to not have, or to have it hidden somewhere. It makes it more&lt;br/&gt;open and easier for everyone.&lt;br/&gt;&lt;br/&gt;Ultimately I think dual-funded channels, trampoline routing and other&lt;br/&gt;lower level things should still be kept out of the BOLTs as long as&lt;br/&gt;they are optional. While things like splicing and blinded paths seem&lt;br/&gt;to be more like things that should enforced. This is my opinion, but I&lt;br/&gt;think it&amp;#39;s good to have this clear distinction.&lt;br/&gt;&lt;br/&gt;Finally, a list of other things that deserve a spec so they are made&lt;br/&gt;standard and interoperable across wallets and services:&lt;br/&gt;&lt;br/&gt;1. keysend&lt;br/&gt;2. AMP&lt;br/&gt;3. hosted channels&lt;br/&gt;4. trampoline routing v1&lt;br/&gt;5. trampoline routing v2&lt;br/&gt;6. turbo channels&lt;br/&gt;7. podcast tipping protocol&lt;br/&gt;8. dual-funding&lt;br/&gt;9. on-demand channels&lt;br/&gt;10. sphinx chat messaging thing&lt;br/&gt;11. private routing as done by immortan&lt;br/&gt;12. alternative graph for unannounced channels as done by immortan&lt;br/&gt;13. lnurl-withdraw&lt;br/&gt;14. lnurl-pay&lt;br/&gt;15. lnurl-channel&lt;br/&gt;16. bitcoin-liquid lightning bridge&lt;br/&gt;17. I thought I had more but apparently I forgot&lt;br/&gt;&lt;br/&gt;So we have to hunt these people down and make them submit specs.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;fiatjaf&lt;br/&gt;&lt;br/&gt;2021-06-30 16:35 (GMT&#43;02:00), &amp;#34;René Pickhardt via Lightning-dev&amp;#34;&lt;br/&gt;&amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; said:&lt;br/&gt;&amp;gt; Hey everyone,&lt;br/&gt;&amp;gt; just for reference when I was new here (and did not understand the processes&lt;br/&gt;&amp;gt; well enough) I proposed a similar idea (called LIP) in 2018 c.f.:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-July/001367.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-July/001367.html&lt;/a&gt;&lt;br/&gt;&amp;gt; I wonder what exactly has changed in the reasoning by roasbeef which I will&lt;br/&gt;&amp;gt; repeat here:&lt;br/&gt;&amp;gt; We already have the equiv of improvement proposals: BOLTs. Historically  new&lt;br/&gt;&amp;gt; standardization documents are proposed initially as issues or PR&amp;#39;s when&lt;br/&gt;&amp;gt; ultimately accepted. Why do we need another repo?&lt;br/&gt;&amp;gt; As far as I can tell there was always some form of (invisible?) barrier to&lt;br/&gt;&amp;gt; participate in the BOLTs but there are also new BOLTs being offered:&lt;br/&gt;&amp;gt; * BOLT 12: &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/pull/798&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/pull/798&lt;/a&gt;&lt;br/&gt;&amp;gt; * BOLT 14: &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/pull/780&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/pull/780&lt;/a&gt;&lt;br/&gt;&amp;gt; and topics to be included like:&lt;br/&gt;&amp;gt; * dual funding&lt;br/&gt;&amp;gt; * splicing&lt;br/&gt;&amp;gt; * the examples given by Ryan&lt;br/&gt;&amp;gt; I don&amp;#39;t see how a new repo would reduce that barrier - Actually I think it&lt;br/&gt;&amp;gt; would even create more confusion as I for example would not know where&lt;br/&gt;&amp;gt; something belongs. That being said I think all the points that are addressed in&lt;br/&gt;&amp;gt; Ryan&amp;#39;s mail could very well be formalized into BOLTs but maybe we just need to&lt;br/&gt;&amp;gt; rethink the current process of the BOLTs to make it more accessible for new&lt;br/&gt;&amp;gt; ideas to find their way into the BOLTs? One thing that I can say from answering&lt;br/&gt;&amp;gt; lightning-network questions on stackexchange is that it would certainly help if&lt;br/&gt;&amp;gt; the BOLTs where referenced on lightning.network web page and in the whitepaper&lt;br/&gt;&amp;gt; as the place to be if one wants to learn about the Lightning Network&lt;br/&gt;&amp;gt; with kind regards Rene&lt;br/&gt;&amp;gt; On Wed, Jun 30, 2021 at 4:10 PM Ryan Gentry via Lightning-dev  wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Hi all,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The recent thread around zero-conf channels [1] provides an opportunity to&lt;br/&gt;&amp;gt; discuss how the BOLT process handles features and best practices that&lt;br/&gt;&amp;gt; arise in the wild vs. originating within the process itself. Zero-conf&lt;br/&gt;&amp;gt; channels are one of many LN innovations on the app layer that have&lt;br/&gt;&amp;gt; struggled to make their way into the spec. John Carvalho and Bitrefill&lt;br/&gt;&amp;gt; launched Turbo channels in April 2019 [2], Breez posted their solution to&lt;br/&gt;&amp;gt; the mailing list for feedback in August 2020 [3], and we know at least&lt;br/&gt;&amp;gt; ACINQ and Muun (amongst others) have their own implementations. In an&lt;br/&gt;&amp;gt; ideal world there would be a descriptive design document that the app&lt;br/&gt;&amp;gt; layer implementers had collaborated on over the years that the spec group&lt;br/&gt;&amp;gt; could then pick up and merge into the BOLTs now that the feature is deemed&lt;br/&gt;&amp;gt; spec-worthy.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Over the last couple of months, we have discussed the idea of adding a&lt;br/&gt;&amp;gt; BIP-style process (bLIPs? SPARKs? [4]) on top of the BOLTs with various&lt;br/&gt;&amp;gt; members of the community, and have received positive feedback from both&lt;br/&gt;&amp;gt; app layer and protocol devs. This would not affect the existing BOLT&lt;br/&gt;&amp;gt; process at all, but simply add a place for app layer best practices to be&lt;br/&gt;&amp;gt; succinctly described and organized, especially those that require&lt;br/&gt;&amp;gt; coordination. These features are being built outside of the BOLT process&lt;br/&gt;&amp;gt; today anyways, so ideally a bLIP process would bring them into the fold&lt;br/&gt;&amp;gt; instead of leaving them buried in old ML posts or not documented at all.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Some potential bLIP ideas that people have mentioned include: each lnurl&lt;br/&gt;&amp;gt; variant, on-the-fly channel opens, AMP, dynamic commitments, podcast&lt;br/&gt;&amp;gt; payment metadata, p2p messaging formats, new pathfinding heuristics,&lt;br/&gt;&amp;gt; remote node connection standards, etc.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If the community is interested in moving forward, we&amp;#39;ve started a branch&lt;br/&gt;&amp;gt; [5] describing such a process. It&amp;#39;s based on BIP-0002, so not trying to&lt;br/&gt;&amp;gt; reinvent any wheels. It would be great to have developers from various&lt;br/&gt;&amp;gt; implementations and from the broader app layer ecosystem volunteer to be&lt;br/&gt;&amp;gt; listed as editors (basically the same role as in the BIPs).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Looking forward to hearing your thoughts!&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Ryan&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-June/003074.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-June/003074.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [2]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.coindesk.com/bitrefills-thor-turbo-lets-you-get-started-with-bitcoins-lightning-faster&#34;&gt;https://www.coindesk.com/bitrefills-thor-turbo-lets-you-get-started-with-bitcoins-lightning-faster&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [3]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-August/002780.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-August/002780.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [4] bLIP = Bitcoin Lightning Improvement Proposal and SPARK =&lt;br/&gt;&amp;gt; Standardization of Protocols at the Request of the Kommunity (h/t fiatjaf)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [5]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/ryanthegentry/lightning-rfc/blob/blip-0001/blips/blip-0001.mediawiki&#34;&gt;https://github.com/ryanthegentry/lightning-rfc/blob/blip-0001/blips/blip-0001.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;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;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.rene-pickhardt.de_______________________________________________&#34;&gt;https://www.rene-pickhardt.de_______________________________________________&lt;/a&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;&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-09T12:40:23Z</updated>
  </entry>

</feed>