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

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




  <entry>
    <id>https://njump.me/nevent1qqsd6wgvf8l2s0s2fmshelqnzr6829zugj99cg5jamnlg4t6k83jwtczyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcvfnejt</id>
    
      <title type="html">📅 Original date posted:2023-07-13 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsd6wgvf8l2s0s2fmshelqnzr6829zugj99cg5jamnlg4t6k83jwtczyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcvfnejt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrtakm0d3e3tqvw3ak7arhgr2t0kwdl7qqv9nenksvqfxgq4ecvtqyezwzh&#39;&gt;nevent1q…zwzh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-07-13&lt;br/&gt;🗒️ Summary of this message: The author suggests asking developers of Lightning Network node implementations to support self-payment of invoices, which is currently not possible but would be a valuable feature for custodial Lightning service providers.&lt;br/&gt;📝 Original message:&lt;br/&gt;On Thu, Jul 13, 2023 at 3:47 AM David A. Harding &amp;lt;dave at dtrt.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; My question is whether you think it would be worthwhile to ask&lt;br/&gt;&amp;gt; developers of the underlying LN node implementations you use to support&lt;br/&gt;&amp;gt; self-payment of their own invoices (if they don&amp;#39;t already).&lt;br/&gt;&lt;br/&gt;As far as I know no Lightning node has this ability, which is very unfortunate.&lt;br/&gt;If possible this should definitely be implemented. It would be the&lt;br/&gt;biggest feature for custodial Lightning service providers of all kinds&lt;br/&gt;since always.
    </content>
    <updated>2023-07-15T18:58:04Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs287k3d5t7l9p26ryspe2hp7q7l6jlst968xcd984vmu8wwum0jqqzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jc7lldm7</id>
    
      <title type="html">📅 Original date posted:2021-12-20 📝 Original message: Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs287k3d5t7l9p26ryspe2hp7q7l6jlst968xcd984vmu8wwum0jqqzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jc7lldm7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqste9x2tajy5yll5njdplkc3hrae8yl6ek4j2hrcj696sxrpye2ufsf9kgw3&#39;&gt;nevent1q…kgw3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-12-20&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Joost,&lt;br/&gt;&lt;br/&gt;On Mon, Dec 20, 2021 at 5:02 AM Joost Jager &amp;lt;joost.jager at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi fiatjaf and peter,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Sat, Dec 18, 2021 at 2:08 PM fiatjaf &amp;lt;fiatjaf at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As a temporary solution, I suggest taking a look at&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://github.com/fiatjaf/lnurl-rfc/blob/luds/18.md&#34;&gt;https://github.com/fiatjaf/lnurl-rfc/blob/luds/18.md&lt;/a&gt;. The idea is that&lt;br/&gt;&amp;gt;&amp;gt; you can either provide&lt;br/&gt;&amp;gt;&amp;gt;  - a lone pubkey (to be used for manually identifying the payer later if&lt;br/&gt;&amp;gt;&amp;gt; necessary);&lt;br/&gt;&amp;gt;&amp;gt;  - a domain-specific pubkey along with a signature of a challenge&lt;br/&gt;&amp;gt;&amp;gt; provided by the receiver; or&lt;br/&gt;&amp;gt;&amp;gt;  - an unauthenticated name or email (for light things like donations for&lt;br/&gt;&amp;gt;&amp;gt; which one may not care very much about cryptographic authentication).&lt;br/&gt;&amp;gt;&amp;gt; And then you commit these things, whatever they are, inside the BOLT11&lt;br/&gt;&amp;gt;&amp;gt; payment request using the &amp;#39;h&amp;#39; tag.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Interesting read. I see it uses a signature, but is that a good idea? It&lt;br/&gt;&amp;gt; could allow the receiver to prove to a 3rd party that the payment was made.&lt;br/&gt;&amp;gt; I guess it depends on the application if that is desired or not. The more&lt;br/&gt;&amp;gt; privacy conscious users would probably try to avoid committing to data via&lt;br/&gt;&amp;gt; a signature.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Just to clarify:&lt;br/&gt;&lt;br/&gt;For the lone pubkey method there are no privacy implications I think, since&lt;br/&gt;it&amp;#39;s just a random pubkey and can be used later only if needed in some&lt;br/&gt;custom way.&lt;br/&gt;&lt;br/&gt;For the signature method the privacy implications are close to none (unless&lt;br/&gt;I&amp;#39;m missing something) because the key used to sign is (supposed to be)&lt;br/&gt;generated by a method that makes it specific to the DNS domain of the&lt;br/&gt;service being paid. Since this assumes an LNURL request that has a domain,&lt;br/&gt;the key will be generated with something like `HMAC(domain, seed_key)` (the&lt;br/&gt;specifics don&amp;#39;t matter) so it will not be possible for anyone to relate&lt;br/&gt;that signature to anyone. Only the receiver service will be able to relate&lt;br/&gt;it to other payments (or logins) to that same exact service -- which can&lt;br/&gt;prove quite handy in many cases.&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/20211220/d98a888e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20211220/d98a888e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:04:55Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsx9dkdrwcm9ret9hcsls0tn7yjrtwzmdmzkac5y5f234jnrx8kytczyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcgl8pas</id>
    
      <title type="html">📅 Original date posted:2021-12-18 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsx9dkdrwcm9ret9hcsls0tn7yjrtwzmdmzkac5y5f234jnrx8kytczyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcgl8pas" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9fkvwx8enuf8tgmhdkvhr8hg93ks38c8r0m47rqffflzcxlw9uys8jwm3n&#39;&gt;nevent1q…wm3n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-12-18&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning, Joost.&lt;br/&gt;&lt;br/&gt;As a temporary solution, I suggest taking a look at&lt;br/&gt;&lt;a href=&#34;https://github.com/fiatjaf/lnurl-rfc/blob/luds/18.md&#34;&gt;https://github.com/fiatjaf/lnurl-rfc/blob/luds/18.md&lt;/a&gt;. The idea is that you&lt;br/&gt;can either provide&lt;br/&gt; - a lone pubkey (to be used for manually identifying the payer later if&lt;br/&gt;necessary);&lt;br/&gt; - a domain-specific pubkey along with a signature of a challenge provided&lt;br/&gt;by the receiver; or&lt;br/&gt; - an unauthenticated name or email (for light things like donations for&lt;br/&gt;which one may not care very much about cryptographic authentication).&lt;br/&gt;And then you commit these things, whatever they are, inside the BOLT11&lt;br/&gt;payment request using the &amp;#39;h&amp;#39; tag.&lt;br/&gt;&lt;br/&gt;fiatjaf&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Fri, Dec 17, 2021 at 7:37 AM Joost Jager &amp;lt;joost.jager at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hello list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In Lightning we have a great scheme to protect the identity of the sender&lt;br/&gt;&amp;gt; of a payment. This is awesome, but there are also use cases where opt-in&lt;br/&gt;&amp;gt; sender authentication is desired.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An example of such a use case is chat over lightning. If you receive a&lt;br/&gt;&amp;gt; text message, you generally want to know whom it originates from. For&lt;br/&gt;&amp;gt; whatsat [1], I added a custom record containing an ECDSA signature over&lt;br/&gt;&amp;gt; `sender | recipient | timestamp | msg`. I believe other chat protocols on&lt;br/&gt;&amp;gt; lightning use a similar construction.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For regular payments however, sender authentication can be useful too. A&lt;br/&gt;&amp;gt; donation for example doesn&amp;#39;t always need to be anonymous. A donor may want&lt;br/&gt;&amp;gt; to reveal themselves. In other cases, sender authentication can add a layer&lt;br/&gt;&amp;gt; of protection against payments getting lost. It provides the receiver with&lt;br/&gt;&amp;gt; another field that they can use to retrieve lost payment information.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On the receiver side, sender authentication also creates new&lt;br/&gt;&amp;gt; possibilities. A receiver could for example create an invoice that is&lt;br/&gt;&amp;gt; locked to a specific source node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Also wanted to note that the sender identity doesn&amp;#39;t need to be the actual&lt;br/&gt;&amp;gt; node identity. It can also be an unrelated key that could for example be&lt;br/&gt;&amp;gt; specific to the service that is being paid to. For example, one registers&lt;br/&gt;&amp;gt; the public part of a dedicated key pair with an exchange and the exchange&lt;br/&gt;&amp;gt; then only accepts deposits authenticated with that key.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The reason for bringing this up on the list is that I wanted to see what&lt;br/&gt;&amp;gt; people think is the best way to do it technically. The whatsat approach&lt;br/&gt;&amp;gt; with an ECDSA signature doesn&amp;#39;t look ideal to me because of the&lt;br/&gt;&amp;gt; non-repudiation property. Also care needs to be taken that whatever data&lt;br/&gt;&amp;gt; the sender includes, cannot be reused.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Another option that I can think of is to derive a shared secret using ECDH&lt;br/&gt;&amp;gt; with the sender and receiver node keys and then attach a custom record to&lt;br/&gt;&amp;gt; the payment containing the sender node key and an HMAC of the payment hash&lt;br/&gt;&amp;gt; using the shared secret as a key.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I am sure there people better versed in cryptography than me who have an&lt;br/&gt;&amp;gt; opinion on this. Thoughts?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Joost&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/joostjager/whatsat&#34;&gt;https://github.com/joostjager/whatsat&lt;/a&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/20211218/014f1a00/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20211218/014f1a00/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:04:54Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswsx8vh2sd67mqqzy6l8gdarl6uzmdpgxlc7xugxl58nufx9c97cgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcy2ennx</id>
    
      <title type="html">📅 Original date posted:2021-09-21 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://njump.me/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://njump.me/nevent1qqs8ur575tk0wws4tkgnm9mxczwqs7hyly9mlsygvu049f8339f6lrszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcxmtz0j</id>
    
      <title type="html">📅 Original date posted:2021-09-21 📝 Original message: What ...</title>
    
    <link rel="alternate" href="https://njump.me/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://njump.me/nevent1qqsp309xxxepfvq6pa49vx6nqspxs3c4qpxy69aj4lexmrcvpu9k93szyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jccy5k50</id>
    
      <title type="html">📅 Original date posted:2021-09-12 📝 Original message: I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsp309xxxepfvq6pa49vx6nqspxs3c4qpxy69aj4lexmrcvpu9k93szyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jccy5k50" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswslz0cvwsm9cu45qng3f2juv4uwlycx629x93sm9jxnm20cnwj6q2veyes&#39;&gt;nevent1q…eyes&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-09-12&lt;br/&gt;📝 Original message:&lt;br/&gt;I think this is a good idea. A very simple change that can improve&lt;br/&gt;usability.&lt;br/&gt;&lt;br/&gt;Anyone can already do this today if they want, by just shoving data into&lt;br/&gt;DNS records and telling people to confirm from there, but it would be nice&lt;br/&gt;if it was standardized in a bLIP[0] just so everybody does it in the same&lt;br/&gt;way.&lt;br/&gt;&lt;br/&gt;Additionally there could be the reverse link in which nodes publish their&lt;br/&gt;domain names as their alias and that is confirmed with the DNS record. Then&lt;br/&gt;we&amp;#39;ll finally be able to identify and trust the payee pubkeys in invoices!&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/pull/884&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/pull/884&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;On Sun, Sep 12, 2021 at 8:02 PM Andy Schroder &amp;lt;info at andyschroder.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hello,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We have the &amp;lt;pubkey&amp;gt;@host format for defining a connection to a LN node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m wondering if it makes any sense to create DNS records that apply to LN&lt;br/&gt;&amp;gt; nodes to serve this same information? For example:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    - example.com. IN LN ln.example.com.&lt;br/&gt;&amp;gt;       - Allows assigning an alternate host name for the ln node for a&lt;br/&gt;&amp;gt;       domain, like an mail server has an MX record&lt;br/&gt;&amp;gt;       - example.com. IN TXT &amp;#34;LNpubkey=ybRK9h6OYmB3I4VroZBQogIadciFTw&amp;#34;&lt;br/&gt;&amp;gt;       - Allows storing the pubkey for the LN node in a DNS record&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If one didn&amp;#39;t know the LN node for example.com, they could query the LN&lt;br/&gt;&amp;gt; and TXT records and then find the information and make a connection using&lt;br/&gt;&amp;gt; the familiar ybRK9h6OYmB3I4VroZBQogIadciFTw at ln.example.com format. This&lt;br/&gt;&amp;gt; may be of interest because if someone wants to open a channel in advance to&lt;br/&gt;&amp;gt; a company&amp;#39;s LN node because they know they will be receiving an invoice&lt;br/&gt;&amp;gt; from them in the future, and they want open a channel directly in order to&lt;br/&gt;&amp;gt; ensure a good route (and they want the channel to be fully confirmed/opened&lt;br/&gt;&amp;gt; by the time they receive the invoice). This could be particularly useful&lt;br/&gt;&amp;gt; when dealing with machines in the physical world where you want an easy way&lt;br/&gt;&amp;gt; to make a connection and channel to with a human readable string that is&lt;br/&gt;&amp;gt; printed on the machine, but don&amp;#39;t even want to deal with QR codes or NFC&lt;br/&gt;&amp;gt; (for example, your desktop computer likely doesn&amp;#39;t have either of those&lt;br/&gt;&amp;gt; capabilities).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Right now, the host names associated with LN nodes that are found using&lt;br/&gt;&amp;gt; the peer to peer gossip are more on the honor system as I understand it. If&lt;br/&gt;&amp;gt; these records existed, one could also validate the information found using&lt;br/&gt;&amp;gt; the peer to peer gossip protocol.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I do realize that the DNS root servers are governed by a centralized&lt;br/&gt;&amp;gt; entity, so this approach has it&amp;#39;s flaws, but we could consider it sort of&lt;br/&gt;&amp;gt; complimentary to the peer to peer gossip protocol. DNS does have a nice&lt;br/&gt;&amp;gt; scaling property in that it is hierarchically distributed, so it may be&lt;br/&gt;&amp;gt; more efficient long term than every user having a full view of the LN via&lt;br/&gt;&amp;gt; the gossip protocol in order to find the information needed, especially&lt;br/&gt;&amp;gt; when we can replace the DNS root servers with something that is under&lt;br/&gt;&amp;gt; decentralized control.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; lnurl-rfc seems to be doing a good job at creating workflows for payers&lt;br/&gt;&amp;gt; and payees. However, I&amp;#39;m not sure if a definition like I&amp;#39;ve suggested above&lt;br/&gt;&amp;gt; fits better in lnurl-rfc or as part of a BOLT.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Let me know of your thoughts,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Andy Schroder&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/20210912/5baf424b/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210912/5baf424b/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:03:43Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsx82n579uqldluw0tc9jwahglgs7nakrkrpf22akfqrgx4lha3hugzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcy3wtz4</id>
    
      <title type="html">📅 Original date posted:2021-08-28 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsx82n579uqldluw0tc9jwahglgs7nakrkrpf22akfqrgx4lha3hugzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcy3wtz4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst3fnwkv2td8muqx7h5zrplmxltwzauf9rtc044cynnz035kmz0fgn8lg88&#39;&gt;nevent1q…lg88&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-08-28&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning,&lt;br/&gt;&lt;br/&gt;I think we must stop closing channels to redeem trimmed HTLCs. It makes no&lt;br/&gt;sense at all. It&amp;#39;s bad for everybody, there is not a single upside to&lt;br/&gt;closing a channel to redeem a trimmed HTLC.&lt;br/&gt;&lt;br/&gt;(Please let me know if you don&amp;#39;t agree with the above and what are the&lt;br/&gt;things I&amp;#39;m missing.)&lt;br/&gt;&lt;br/&gt;Now I understand this is not trivial, because if we just decide to stop&lt;br/&gt;closing, what do we do? It&amp;#39;s not obvious -- and actually it may not even be&lt;br/&gt;possible to come up with a decent course of action.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve written two or more blog posts trying to explain the issue (mostly to&lt;br/&gt;myself)(see &lt;a href=&#34;https://fiatjaf.com/401367e9.html&#34;&gt;https://fiatjaf.com/401367e9.html&lt;/a&gt; and links), but skipping the&lt;br/&gt;problem and going to the solutions directly, I see three possible&lt;br/&gt;approaches (and they can all be implemented, in sequence, gradually):&lt;br/&gt;&lt;br/&gt;0. Never have stalled HTLCs again (just kidding, this will never happen).&lt;br/&gt;1. Just don&amp;#39;t close. The channel keeps working. It&amp;#39;s bad but at least you&lt;br/&gt;don&amp;#39;t have to close and open again (this is probably not safe against evil&lt;br/&gt;people, but Lightning itself isn&amp;#39;t anyway, right?).&lt;br/&gt;2. Try to negotiate: if a peer knows it is at fault (for having been&lt;br/&gt;offline while the HTLC expired, for example) it can eat the costs of that&lt;br/&gt;HTLC just so the other side doesn&amp;#39;t close the channel, and vice-versa (this&lt;br/&gt;will probably not work in most situations, but may work in some, I don&amp;#39;t&lt;br/&gt;know enough to say).&lt;br/&gt;3. Use an arbiter (this is my favorite): the two peers can agree on an&lt;br/&gt;arbiter when creating the channel. The arbiter can act as a proxy for when&lt;br/&gt;peers can&amp;#39;t establish connection with each other; revoke/fulfill messages&lt;br/&gt;can be sent to the arbiter if the other peer is unresponsive; the arbiter&lt;br/&gt;has authority to say who sent each message at each time and therefore who&lt;br/&gt;must get the sats in that HTLC. If a peer doesn&amp;#39;t obey the arbiter&amp;#39;s&lt;br/&gt;decision the other must blacklist it forever. The arbiter can be anything:&lt;br/&gt;another Lightning node, a set of Lightning nodes, Twitter or any&lt;br/&gt;established internet service that allows arbitrary content to be published&lt;br/&gt;in public, this mailing list etc.&lt;br/&gt;&lt;br/&gt;(The arbiter idea may be sounding silly to you, but anything is better than&lt;br/&gt;what we have now. In all the suggestions above, the fallback, worst case&lt;br/&gt;scenario, is closing the channel. Today we live in the worst case scenario.)&lt;br/&gt;&lt;br/&gt;Thank you for reading.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;fiatjaf&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/20210828/96ce8ff9/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210828/96ce8ff9/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:03:37Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2lf42acna9luryapu2sac8q84k839gqsqy354px98u0dwsgjzw5gzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcec2pxz</id>
    
      <title type="html">📅 Original date posted:2021-08-08 📝 Original message: For ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2lf42acna9luryapu2sac8q84k839gqsqy354px98u0dwsgjzw5gzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcec2pxz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrurjtfcz2dm5q74rlkh6kejm0nenjjxet76njrtm0e4089rkdgxgq0d0r8&#39;&gt;nevent1q…d0r8&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-09T13:03:13Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsr8e4yg2rm8dyans2hauur4t7e6gp04pnzg6fr2z9ytywkujd8gkqzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcplanef</id>
    
      <title type="html">📅 Original date posted:2021-07-01 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsr8e4yg2rm8dyans2hauur4t7e6gp04pnzg6fr2z9ytywkujd8gkqzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcplanef" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxpl5p0rkayc7lcgqt77gqcjwnxv3lu9w97r6qh8s5juurmg7dnyg30q67c&#39;&gt;nevent1q…q67c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-07-01&lt;br/&gt;📝 Original message:&lt;br/&gt;Here&amp;#39;s another feature which just appeared and would benefit from a&lt;br/&gt;bLIP for compatibility:&lt;br/&gt;&lt;a href=&#34;https://twitter.com/SimpleBtcWallet/status/1410506889545359365&#34;&gt;https://twitter.com/SimpleBtcWallet/status/1410506889545359365&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Atomic splitting of bills. A very small thing, but also very cool. I&lt;br/&gt;can&amp;#39;t imagine it fitting in the BOLTs at all.&lt;br/&gt;&lt;br/&gt;2021-06-30 09:10 (GMT-05:00), Ryan Gentry via Lightning-dev&lt;br/&gt;&amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; said:&lt;br/&gt;&amp;gt; Hi all,&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 arise in&lt;br/&gt;&amp;gt; the wild vs. originating within the process itself. Zero-conf channels are one&lt;br/&gt;&amp;gt; of many LN innovations on the app layer that have struggled to make their way&lt;br/&gt;&amp;gt; into the spec. John Carvalho and Bitrefill launched Turbo channels in April&lt;br/&gt;&amp;gt; 2019 [2], Breez posted their solution to the mailing list for feedback in&lt;br/&gt;&amp;gt; August 2020 [3], and we know at least ACINQ and Muun (amongst others) have&lt;br/&gt;&amp;gt; their own implementations. In an ideal world there would be a descriptive&lt;br/&gt;&amp;gt; design document that the app layer implementers had collaborated on over the&lt;br/&gt;&amp;gt; years that the spec group could then pick up and merge into the BOLTs now that&lt;br/&gt;&amp;gt; the feature is deemed spec-worthy.&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 members&lt;br/&gt;&amp;gt; of the community, and have received positive feedback from both app layer and&lt;br/&gt;&amp;gt; protocol devs. This would not affect the existing BOLT process at all, but&lt;br/&gt;&amp;gt; simply add a place for app layer best practices to be succinctly described and&lt;br/&gt;&amp;gt; organized, especially those that require coordination. These features are being&lt;br/&gt;&amp;gt; built outside of the BOLT process today anyways, so ideally a bLIP process&lt;br/&gt;&amp;gt; would bring them into the fold instead of leaving them buried in old ML posts&lt;br/&gt;&amp;gt; or not documented at all.&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 payment&lt;br/&gt;&amp;gt; metadata, p2p messaging formats, new pathfinding heuristics, remote node&lt;br/&gt;&amp;gt; connection standards, etc.&lt;br/&gt;&amp;gt; If the community is interested in moving forward, we&amp;#39;ve started a branch [5]&lt;br/&gt;&amp;gt; describing such a process. It&amp;#39;s based on BIP-0002, so not trying to reinvent&lt;br/&gt;&amp;gt; any wheels. It would be great to have developers from various implementations&lt;br/&gt;&amp;gt; and from the broader app layer ecosystem volunteer to be listed as editors&lt;br/&gt;&amp;gt; (basically the same role as in the BIPs).&lt;br/&gt;&amp;gt; Looking forward to hearing your thoughts!&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Ryan&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; [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; [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; [4] bLIP = Bitcoin Lightning Improvement Proposal and SPARK = Standardization&lt;br/&gt;&amp;gt; of Protocols at the Request of the Kommunity (h/t fiatjaf)&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; 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-09T13:02:55Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0mh9natp762eug08hlx8y4a4m2huehcea0mct9ltjtq4guswkgpgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcxltnvy</id>
    
      <title type="html">📅 Original date posted:2021-06-30 📝 Original message: hello ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0mh9natp762eug08hlx8y4a4m2huehcea0mct9ltjtq4guswkgpgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcxltnvy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdrrcymkmyc75g6gmn7t0q4yn03whs3ay06vfhpf77ukyvnfklxwg8s5hfs&#39;&gt;nevent1q…5hfs&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-09T13:02:49Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsz83888ujh0k7f86srkuygcdj7gf2rdeeu4a85k7symd4afzqexaszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcgqg205</id>
    
      <title type="html">📅 Original date posted:2019-11-14 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsz83888ujh0k7f86srkuygcdj7gf2rdeeu4a85k7symd4afzqexaszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcgqg205" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszesgmcp264t546jpt707el3pvuvhmf0f64dgm78zx3u08kxhrk2qcz5n03&#39;&gt;nevent1q…5n03&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-11-14&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello,&lt;br/&gt;&lt;br/&gt;What happens between two peers is no business of others. They can do what&lt;br/&gt;you said if they&amp;#39;re cooperating, and many other dirty tricks. And that&amp;#39;s&lt;br/&gt;not a problem at all for other nodes.&lt;br/&gt;&lt;br/&gt;The only thing they can&amp;#39;t do for not is advertise a channel without telling&lt;br/&gt;others where it was funded on the chain, but that&amp;#39;s just for antispam&lt;br/&gt;reasons (as other nodes must keep track of all announced channels) as far&lt;br/&gt;as I know.&lt;br/&gt;&lt;br/&gt;On Thursday, November 14, 2019, Subhra Mazumdar &amp;lt;&lt;br/&gt;subhra.mazumdar1993 at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt; Hello everyone,&lt;br/&gt;&amp;gt;        My doubt might be silly and apologies for the same. Suppose in a&lt;br/&gt;payment channel network say 2 parties B and C are malicious, controlled by&lt;br/&gt;same adversary. They had initially opened a channel of 1 BTC. But suppose&lt;br/&gt;they get 3 transaction request will flow value of 0.4 BTC each. After 1st 2&lt;br/&gt;transaction, B and C has capacity of 0.2 BTC. But  what if BC reports an&lt;br/&gt;incorrect residual balance thereby accepting the 3rd transaction. Who will&lt;br/&gt;keep track of this capacity violation since no one is keeping track of this&lt;br/&gt;residual value ? If this case is true, then parties might resort to such a&lt;br/&gt;strategy opening a low value channel but still accepting multiple&lt;br/&gt;transactions where the total payment value of all transaction exceeds&lt;br/&gt;channel capacity. Please correct me if I am wrong.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Yours sincerely,&lt;br/&gt;&amp;gt; Subhra Mazumdar.&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/20191114/2ebb3c12/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20191114/2ebb3c12/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T12:57:27Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqszvnxmzlg0uxua0ktffxdr3k6jppxdnke9vhn7d75lld4dxns2pgszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcwhc4e9</id>
    
      <title type="html">📅 Original date posted:2019-08-05 📝 Original message: No. ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqszvnxmzlg0uxua0ktffxdr3k6jppxdnke9vhn7d75lld4dxns2pgszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcwhc4e9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszqy6s7v49hw66snm2kkkt97mn3snxplegj0d58h57ppl75wjamcgmmjq9f&#39;&gt;nevent1q…jq9f&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;No. My question was more like why does Alice decide to build a route that&lt;br/&gt;for through T1 and RT2 and not only through one trampoline router she knows.&lt;br/&gt;&lt;br/&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;&lt;br/&gt;Anyway, I&amp;#39;m probably missing something, but another way of putting my&lt;br/&gt;question would be: why does your example use 2 trampolines instead of 1?&lt;br/&gt;&lt;br/&gt;On Monday, August 5, 2019, Bastien TEINTURIER &amp;lt;bastien at acinq.fr&amp;gt; wrote:&lt;br/&gt;&amp;gt; Good morning fiatjaf,&lt;br/&gt;&amp;gt; This is a good question, I&amp;#39;m glad you asked.&lt;br/&gt;&amp;gt; As:m ZmnSCPxj points out, Alice doesn&amp;#39;t know. By not syncing the full&lt;br/&gt;network graph, Alice has to accept&lt;br/&gt;&amp;gt; &amp;#34;being in the dark&amp;#34; for some decisions. She is merely hoping that RT2 can&lt;br/&gt;find a route to Bob. Note that&lt;br/&gt;&amp;gt; it&amp;#39;s quite easy to help Alice make informed decision by proving routing&lt;br/&gt;hints in the invoice and in gossip&lt;br/&gt;&amp;gt; messages (which we already do for &amp;#34;normal&amp;#34; routing).&lt;br/&gt;&amp;gt; The graph today is strongly connected, so it&amp;#39;s quite a reasonable&lt;br/&gt;assumption (and Alice can easily retry&lt;br/&gt;&amp;gt; with another choice of trampoline node if the first one fails - just like&lt;br/&gt;we do today with normal payments).&lt;br/&gt;&amp;gt; I fully agree with ZmnSCPxj though that in the future this might not be&lt;br/&gt;true anymore. When/if the network&lt;br/&gt;&amp;gt; becomes too large we will likely lose its strongly connected nature. When&lt;br/&gt;that happens, the Lightning&lt;br/&gt;&amp;gt; Network will need some kind of hierarchical / packet switched routing&lt;br/&gt;architecture and we won&amp;#39;t require&lt;br/&gt;&amp;gt; trampoline nodes to know the whole network graph and be able to route to&lt;br/&gt;mostly anyone.&lt;br/&gt;&amp;gt; I argue that trampoline routing is a first step towards enabling that.&lt;br/&gt;It&amp;#39;s a good engineering trade-off between&lt;br/&gt;&amp;gt; ease of implementation and deployment, fixing a problem we have today and&lt;br/&gt;enabling future scaling for&lt;br/&gt;&amp;gt; problems we&amp;#39;ll have tomorrow. It&amp;#39;s somewhat easy once we have trampoline&lt;br/&gt;payments to evolve that to a&lt;br/&gt;&amp;gt; system closer to the internet&amp;#39;s packet switching infrastructure, so we&amp;#39;ll&lt;br/&gt;deal with that once the need for it&lt;br/&gt;&amp;gt; becomes obvious.&lt;br/&gt;&amp;gt; Does that answer your question?&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Bastien&lt;br/&gt;&amp;gt; Le sam. 3 août 2019 à 05:48, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; a écrit :&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning fiatjaf,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I proposed before that we could institute a rule where nodes are mapped&lt;br/&gt;to some virtual space, and nodes should preferably retain the part of the&lt;br/&gt;network graph that connects itself to those nodes near to it in this&lt;br/&gt;virtual space (and possibly prefer to channel to those nodes).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-April/001959.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-April/001959.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Thus Alice might **not** know that some route exists between T1 and T2.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; T1 itself might not know of a route from itself to T2.&lt;br/&gt;&amp;gt;&amp;gt; But if T1 knows a route to T1.5, and it knows that T1.5 is nearer to T2&lt;br/&gt;than to itself in the virtual space, it can **try** to route through T1.5&lt;br/&gt;in the hope T1.5 knows a route from itself to T2.&lt;br/&gt;&amp;gt;&amp;gt; This can be done if T1 can remove itself from the trampoline route and&lt;br/&gt;replace itself with T1.5, offerring in exchange some of the fee to T1.5.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Other ways of knowing some distillation of the public network without&lt;br/&gt;remembering the channel level details are also possible.&lt;br/&gt;&amp;gt;&amp;gt; My recent pointlessly long spam email for example has a section on&lt;br/&gt;Hierarchical Maps.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002095.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002095.html&lt;/a&gt;&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;&lt;br/&gt;&amp;gt;&amp;gt; Sent with ProtonMail Secure Email.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt;&amp;gt; On Saturday, August 3, 2019 12:29 AM, fiatjaf &amp;lt;fiatjaf at alhur.es&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Ok, since you seem to imply each question is valuable, here&amp;#39;s mine:&lt;br/&gt;how does Alice know RT2 has a route to Bob? If she knows that, can she also&lt;br/&gt;know T1 has a route to Bob? In any case, why can&amp;#39;t she just build her small&lt;br/&gt;onion with Alice -&amp;gt; T1 -&amp;gt; Bob? I would expect that to be the most common&lt;br/&gt;case, am I right?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; On Friday, August 2, 2019, Bastien TEINTURIER &amp;lt;bastien at acinq.fr&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; I realized that trampoline routing has only been briefly described&lt;br/&gt;to this list (credits to cdecker and pm47 for laying&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; out the foundations). I just published an updated PR [1] and want to&lt;br/&gt;take this opportunity to present the high level&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; view here and the parts that need a concept ACK and more feedback.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Trampoline routing is conceptually quite simple. Alice wants to send&lt;br/&gt;a payment to Bob, but she doesn&amp;#39;t know a&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; route to get there because Alice only keeps a small area of the&lt;br/&gt;routing table locally (Alice has a crappy phone,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; damn it Alice sell some satoshis and buy a real phone). However,&lt;br/&gt;Alice has a few trampoline nodes in her&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; friends-of-friends and knows some trampoline nodes outside of her&lt;br/&gt;local area (but she doesn&amp;#39;t know how to reach&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; them). Alice would like to send a payment to a trampoline node she&lt;br/&gt;can reach and defer calculation of the rest of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; the route to that node.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; The onion routing part is very simple now that we have&lt;br/&gt;variable-length onion payloads (thanks again cdecker!).&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Just like russian dolls, we simply put a small onion inside a big&lt;br/&gt;onion. And the HTLC management forwards very&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; naturally.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; It&amp;#39;s always simpler with an example. Let&amp;#39;s imagine that Alice can&lt;br/&gt;reach three trampoline nodes: T1, T2 and T3.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; She also knows the details of many remote trampoline nodes that she&lt;br/&gt;cannot reach: RT1, RT2, RT3 and RT4.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Alice selects T1 and RT2 to use as trampoline hops. She builds a&lt;br/&gt;small onion that describes the following route:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Alice -&amp;gt; T1 -&amp;gt; RT2 -&amp;gt; Bob&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; She finds a route to T1 and builds a normal onion to send a payment&lt;br/&gt;to T1:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Alice -&amp;gt; N1 -&amp;gt; N2 -&amp;gt; T1&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; In the payload for T1, Alice puts the small trampoline onion.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; When T1 receives the payment, he is able to peel one layer of the&lt;br/&gt;trampoline onion and discover that he must&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; forward the payment to RT2. T1 finds a route to RT2 and builds a&lt;br/&gt;normal onion to send a payment to RT2:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; T1 -&amp;gt; N3 -&amp;gt; RT2&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; In the payload for RT2, T1 puts the peeled small trampoline onion.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; When RT2 receives the payment, he is able to peel one layer of the&lt;br/&gt;trampoline onion and discover that he must&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; forward the payment to Bob. RT2 finds a route to Bob and builds a&lt;br/&gt;normal onion to send a payment:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; RT2 -&amp;gt; N4 -&amp;gt; N5 -&amp;gt; Bob&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; In the payload for Bob, RT2 puts the peeled small trampoline onion.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; When Bob receives the payment, he is able to peel the last layer of&lt;br/&gt;the trampoline onion and discover that he is&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; the final recipient, and fulfills the payment.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Alice has successfully sent a payment to Bob deferring route&lt;br/&gt;calculation to some chosen trampoline nodes.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; That part was simple and (hopefully) not controversial, but it left&lt;br/&gt;out some important details:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; 1.  How do trampoline nodes specify their fees and cltv requirements?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; 2.  How does Alice sync the fees and cltv requirements for her&lt;br/&gt;remote trampoline nodes?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; To answer 1., trampoline nodes needs to estimate a fee and cltv that&lt;br/&gt;allows them to route to (almost) any other&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; trampoline node. This is likely going to increase the fees paid by&lt;br/&gt;end-users, but they can&amp;#39;t eat their cake and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; have it too: by not syncing the whole network, users are trading&lt;br/&gt;fees for ease of use and payment reliability.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; To answer 2., we can re-use the existing gossip infrastructure to&lt;br/&gt;exchange a new node_update message that&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; contains the trampoline fees and cltv. However Alice doesn&amp;#39;t want to&lt;br/&gt;receive every network update because she&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; doesn&amp;#39;t have the bandwidth to support it (damn it again Alice,&lt;br/&gt;upgrade your mobile plan). My suggestion is to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; create a filter system (similiar to BIP37) where Alice sends gossip&lt;br/&gt;filters to her peers, and peers only forward to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Alice updates that match these filters. This doesn&amp;#39;t have the issues&lt;br/&gt;BIP37 has for Bitcoin because it has a cost&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; for Alice: she has to open a channel (and thus lock funds) to get a&lt;br/&gt;connection to a peer. Peers can refuse to serve&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; filters if they are too expensive to compute, but the filters I&lt;br/&gt;propose in the PR are very cheap (a simple xor or a&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; node distance comparison).&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; If you&amp;#39;re interested in the technical details, head over to [1].&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; I would really like to get feedback from this list on the concept&lt;br/&gt;itself, and especially on the gossip and fee estimation&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; parts. If you made it that far, I&amp;#39;m sure you have many questions and&lt;br/&gt;suggestions ;).&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Cheers,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Bastien&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; [1] &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/pull/654&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/pull/654&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;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/20190805/7c8c7c1b/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20190805/7c8c7c1b/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T12:55:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgjkg6l0p2hlevh3qmvlcn82v8tp249quud547sk6zwvv9qddefeqzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcdrxhwz</id>
    
      <title type="html">📅 Original date posted:2019-08-08 📝 Original message: Ok, ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgjkg6l0p2hlevh3qmvlcn82v8tp249quud547sk6zwvv9qddefeqzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcdrxhwz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdre3w4ylyn0z8hslyclja426qk9n8z83vh0n68nzd38u82t58dvqe5cq20&#39;&gt;nevent1q…cq20&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-08-08&lt;br/&gt;📝 Original message:&lt;br/&gt;Ok, here&amp;#39;s another question/probably-bad-idea: how feasible is it for these&lt;br/&gt;trampoline nodes to return the route they&amp;#39;ve calculated somehow to the&lt;br/&gt;original caller so it can cache the route and use it without trampolines&lt;br/&gt;the next time? I don&amp;#39;t know if caching routes is a good way improve routing&lt;br/&gt;overall in larger networks, but it seems to be working well for BLW[1]&lt;br/&gt;currently and overall it does make sense: in day-to-day payments we tend to&lt;br/&gt;pay the same people and stores over and over, rarely paying someone else&lt;br/&gt;(but of course these rare cases are still very common to be ignored).&lt;br/&gt;&lt;br/&gt;Anyway, I don&amp;#39;t enough even to ask the question, but I guess it&amp;#39;s&lt;br/&gt;theoretically possible for some information to be returned along with the&lt;br/&gt;preimage in the payment route, right?&lt;br/&gt;&lt;br/&gt;There remains a question of if and why the trampoline nodes would be or not&lt;br/&gt;interested in cheating Alice, sending back a bad route that favors them, or&lt;br/&gt;not returning any route at all as that would undermine their profits as&lt;br/&gt;trampolines.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://lightning-wallet.com/what-does-olympus-server-do&#34;&gt;https://lightning-wallet.com/what-does-olympus-server-do&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;On Friday, August 2, 2019, Bastien TEINTURIER &amp;lt;bastien at acinq.fr&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I realized that trampoline routing has only been briefly described to this&lt;br/&gt;&amp;gt; list (credits to cdecker and pm47 for laying&lt;br/&gt;&amp;gt; out the foundations). I just published an updated PR [1] and want to take&lt;br/&gt;&amp;gt; this opportunity to present the high level&lt;br/&gt;&amp;gt; view here and the parts that need a concept ACK and more feedback.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Trampoline routing is conceptually quite simple. Alice wants to send a&lt;br/&gt;&amp;gt; payment to Bob, but she doesn&amp;#39;t know a&lt;br/&gt;&amp;gt; route to get there because Alice only keeps a small area of the routing&lt;br/&gt;&amp;gt; table locally (Alice has a crappy phone,&lt;br/&gt;&amp;gt; damn it Alice sell some satoshis and buy a real phone). However, Alice has&lt;br/&gt;&amp;gt; a few trampoline nodes in her&lt;br/&gt;&amp;gt; friends-of-friends and knows some trampoline nodes outside of her local&lt;br/&gt;&amp;gt; area (but she doesn&amp;#39;t know how to reach&lt;br/&gt;&amp;gt; them). Alice would like to send a payment to a trampoline node she can&lt;br/&gt;&amp;gt; reach and defer calculation of the rest of&lt;br/&gt;&amp;gt; the route to that node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The onion routing part is very simple now that we have variable-length&lt;br/&gt;&amp;gt; onion payloads (thanks again cdecker!).&lt;br/&gt;&amp;gt; Just like russian dolls, we simply put a small onion inside a big onion.&lt;br/&gt;&amp;gt; And the HTLC management forwards very&lt;br/&gt;&amp;gt; naturally.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;s always simpler with an example. Let&amp;#39;s imagine that Alice can reach&lt;br/&gt;&amp;gt; three trampoline nodes: T1, T2 and T3.&lt;br/&gt;&amp;gt; She also knows the details of many remote trampoline nodes that she cannot&lt;br/&gt;&amp;gt; reach: RT1, RT2, RT3 and RT4.&lt;br/&gt;&amp;gt; Alice selects T1 and RT2 to use as trampoline hops. She builds a small&lt;br/&gt;&amp;gt; onion that describes the following route:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *Alice -&amp;gt; T1 -&amp;gt; RT2 -&amp;gt; Bob*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; She finds a route to T1 and builds a normal onion to send a payment to T1:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *Alice -&amp;gt; N1 -&amp;gt; N2 -&amp;gt; T1*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the payload for T1, Alice puts the small trampoline onion.&lt;br/&gt;&amp;gt; When T1 receives the payment, he is able to peel one layer of the&lt;br/&gt;&amp;gt; trampoline onion and discover that he must&lt;br/&gt;&amp;gt; forward the payment to RT2. T1 finds a route to RT2 and builds a normal&lt;br/&gt;&amp;gt; onion to send a payment to RT2:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *T1 -&amp;gt; N3 -&amp;gt; RT2*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the payload for RT2, T1 puts the peeled small trampoline onion.&lt;br/&gt;&amp;gt; When RT2 receives the payment, he is able to peel one layer of the&lt;br/&gt;&amp;gt; trampoline onion and discover that he must&lt;br/&gt;&amp;gt; forward the payment to Bob. RT2 finds a route to Bob and builds a normal&lt;br/&gt;&amp;gt; onion to send a payment:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *RT2 -&amp;gt; N4 -&amp;gt; N5 -&amp;gt; Bob*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the payload for Bob, RT2 puts the peeled small trampoline onion.&lt;br/&gt;&amp;gt; When Bob receives the payment, he is able to peel the last layer of the&lt;br/&gt;&amp;gt; trampoline onion and discover that he is&lt;br/&gt;&amp;gt; the final recipient, and fulfills the payment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Alice has successfully sent a payment to Bob deferring route calculation&lt;br/&gt;&amp;gt; to some chosen trampoline nodes.&lt;br/&gt;&amp;gt; That part was simple and (hopefully) not controversial, but it left out&lt;br/&gt;&amp;gt; some important details:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    1. How do trampoline nodes specify their fees and cltv requirements?&lt;br/&gt;&amp;gt;    2. How does Alice sync the fees and cltv requirements for her remote&lt;br/&gt;&amp;gt;    trampoline nodes?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To answer 1., trampoline nodes needs to estimate a fee and cltv that&lt;br/&gt;&amp;gt; allows them to route to (almost) any other&lt;br/&gt;&amp;gt; trampoline node. This is likely going to increase the fees paid by&lt;br/&gt;&amp;gt; end-users, but they can&amp;#39;t eat their cake and&lt;br/&gt;&amp;gt; have it too: by not syncing the whole network, users are trading fees for&lt;br/&gt;&amp;gt; ease of use and payment reliability.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To answer 2., we can re-use the existing gossip infrastructure to exchange&lt;br/&gt;&amp;gt; a new *node_update *message that&lt;br/&gt;&amp;gt; contains the trampoline fees and cltv. However Alice doesn&amp;#39;t want to&lt;br/&gt;&amp;gt; receive every network update because she&lt;br/&gt;&amp;gt; doesn&amp;#39;t have the bandwidth to support it (damn it again Alice, upgrade&lt;br/&gt;&amp;gt; your mobile plan). My suggestion is to&lt;br/&gt;&amp;gt; create a filter system (similiar to BIP37) where Alice sends gossip&lt;br/&gt;&amp;gt; filters to her peers, and peers only forward to&lt;br/&gt;&amp;gt; Alice updates that match these filters. This doesn&amp;#39;t have the issues BIP37&lt;br/&gt;&amp;gt; has for Bitcoin because it has a cost&lt;br/&gt;&amp;gt; for Alice: she has to open a channel (and thus lock funds) to get a&lt;br/&gt;&amp;gt; connection to a peer. Peers can refuse to serve&lt;br/&gt;&amp;gt; filters if they are too expensive to compute, but the filters I propose in&lt;br/&gt;&amp;gt; the PR are very cheap (a simple xor or a&lt;br/&gt;&amp;gt; node distance comparison).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you&amp;#39;re interested in the technical details, head over to [1].&lt;br/&gt;&amp;gt; I would really like to get feedback from this list on the concept itself,&lt;br/&gt;&amp;gt; and especially on the gossip and fee estimation&lt;br/&gt;&amp;gt; parts. If you made it that far, I&amp;#39;m sure you have many questions and&lt;br/&gt;&amp;gt; suggestions ;).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Bastien&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/pull/654&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/pull/654&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/20190808/7986db4c/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20190808/7986db4c/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T12:55:48Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvgmvj50j6er7hg7vrqa7krgecmf8ymz9pzarnvw78nwy4fhu0vaczyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jc9frpd9</id>
    
      <title type="html">📅 Original date posted:2019-08-02 📝 Original message: Ok, ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvgmvj50j6er7hg7vrqa7krgecmf8ymz9pzarnvw78nwy4fhu0vaczyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jc9frpd9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst4vt3nlgmcqzurw4rs9muw837rjrg69zaxuqd6r6z36mefpcw9mcgddp20&#39;&gt;nevent1q…dp20&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-08-02&lt;br/&gt;📝 Original message:&lt;br/&gt;Ok, since you seem to imply each question is valuable, here&amp;#39;s mine: how&lt;br/&gt;does Alice know RT2 has a route to Bob? If she knows that, can she also&lt;br/&gt;know T1 has a route to Bob? In any case, why can&amp;#39;t she just build her small&lt;br/&gt;onion with Alice -&amp;gt; T1 -&amp;gt; Bob? I would expect that to be the most common&lt;br/&gt;case, am I right?&lt;br/&gt;&lt;br/&gt;On Friday, August 2, 2019, Bastien TEINTURIER &amp;lt;bastien at acinq.fr&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I realized that trampoline routing has only been briefly described to this&lt;br/&gt;&amp;gt; list (credits to cdecker and pm47 for laying&lt;br/&gt;&amp;gt; out the foundations). I just published an updated PR [1] and want to take&lt;br/&gt;&amp;gt; this opportunity to present the high level&lt;br/&gt;&amp;gt; view here and the parts that need a concept ACK and more feedback.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Trampoline routing is conceptually quite simple. Alice wants to send a&lt;br/&gt;&amp;gt; payment to Bob, but she doesn&amp;#39;t know a&lt;br/&gt;&amp;gt; route to get there because Alice only keeps a small area of the routing&lt;br/&gt;&amp;gt; table locally (Alice has a crappy phone,&lt;br/&gt;&amp;gt; damn it Alice sell some satoshis and buy a real phone). However, Alice has&lt;br/&gt;&amp;gt; a few trampoline nodes in her&lt;br/&gt;&amp;gt; friends-of-friends and knows some trampoline nodes outside of her local&lt;br/&gt;&amp;gt; area (but she doesn&amp;#39;t know how to reach&lt;br/&gt;&amp;gt; them). Alice would like to send a payment to a trampoline node she can&lt;br/&gt;&amp;gt; reach and defer calculation of the rest of&lt;br/&gt;&amp;gt; the route to that node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The onion routing part is very simple now that we have variable-length&lt;br/&gt;&amp;gt; onion payloads (thanks again cdecker!).&lt;br/&gt;&amp;gt; Just like russian dolls, we simply put a small onion inside a big onion.&lt;br/&gt;&amp;gt; And the HTLC management forwards very&lt;br/&gt;&amp;gt; naturally.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;s always simpler with an example. Let&amp;#39;s imagine that Alice can reach&lt;br/&gt;&amp;gt; three trampoline nodes: T1, T2 and T3.&lt;br/&gt;&amp;gt; She also knows the details of many remote trampoline nodes that she cannot&lt;br/&gt;&amp;gt; reach: RT1, RT2, RT3 and RT4.&lt;br/&gt;&amp;gt; Alice selects T1 and RT2 to use as trampoline hops. She builds a small&lt;br/&gt;&amp;gt; onion that describes the following route:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *Alice -&amp;gt; T1 -&amp;gt; RT2 -&amp;gt; Bob*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; She finds a route to T1 and builds a normal onion to send a payment to T1:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *Alice -&amp;gt; N1 -&amp;gt; N2 -&amp;gt; T1*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the payload for T1, Alice puts the small trampoline onion.&lt;br/&gt;&amp;gt; When T1 receives the payment, he is able to peel one layer of the&lt;br/&gt;&amp;gt; trampoline onion and discover that he must&lt;br/&gt;&amp;gt; forward the payment to RT2. T1 finds a route to RT2 and builds a normal&lt;br/&gt;&amp;gt; onion to send a payment to RT2:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *T1 -&amp;gt; N3 -&amp;gt; RT2*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the payload for RT2, T1 puts the peeled small trampoline onion.&lt;br/&gt;&amp;gt; When RT2 receives the payment, he is able to peel one layer of the&lt;br/&gt;&amp;gt; trampoline onion and discover that he must&lt;br/&gt;&amp;gt; forward the payment to Bob. RT2 finds a route to Bob and builds a normal&lt;br/&gt;&amp;gt; onion to send a payment:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *RT2 -&amp;gt; N4 -&amp;gt; N5 -&amp;gt; Bob*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the payload for Bob, RT2 puts the peeled small trampoline onion.&lt;br/&gt;&amp;gt; When Bob receives the payment, he is able to peel the last layer of the&lt;br/&gt;&amp;gt; trampoline onion and discover that he is&lt;br/&gt;&amp;gt; the final recipient, and fulfills the payment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Alice has successfully sent a payment to Bob deferring route calculation&lt;br/&gt;&amp;gt; to some chosen trampoline nodes.&lt;br/&gt;&amp;gt; That part was simple and (hopefully) not controversial, but it left out&lt;br/&gt;&amp;gt; some important details:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    1. How do trampoline nodes specify their fees and cltv requirements?&lt;br/&gt;&amp;gt;    2. How does Alice sync the fees and cltv requirements for her remote&lt;br/&gt;&amp;gt;    trampoline nodes?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To answer 1., trampoline nodes needs to estimate a fee and cltv that&lt;br/&gt;&amp;gt; allows them to route to (almost) any other&lt;br/&gt;&amp;gt; trampoline node. This is likely going to increase the fees paid by&lt;br/&gt;&amp;gt; end-users, but they can&amp;#39;t eat their cake and&lt;br/&gt;&amp;gt; have it too: by not syncing the whole network, users are trading fees for&lt;br/&gt;&amp;gt; ease of use and payment reliability.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To answer 2., we can re-use the existing gossip infrastructure to exchange&lt;br/&gt;&amp;gt; a new *node_update *message that&lt;br/&gt;&amp;gt; contains the trampoline fees and cltv. However Alice doesn&amp;#39;t want to&lt;br/&gt;&amp;gt; receive every network update because she&lt;br/&gt;&amp;gt; doesn&amp;#39;t have the bandwidth to support it (damn it again Alice, upgrade&lt;br/&gt;&amp;gt; your mobile plan). My suggestion is to&lt;br/&gt;&amp;gt; create a filter system (similiar to BIP37) where Alice sends gossip&lt;br/&gt;&amp;gt; filters to her peers, and peers only forward to&lt;br/&gt;&amp;gt; Alice updates that match these filters. This doesn&amp;#39;t have the issues BIP37&lt;br/&gt;&amp;gt; has for Bitcoin because it has a cost&lt;br/&gt;&amp;gt; for Alice: she has to open a channel (and thus lock funds) to get a&lt;br/&gt;&amp;gt; connection to a peer. Peers can refuse to serve&lt;br/&gt;&amp;gt; filters if they are too expensive to compute, but the filters I propose in&lt;br/&gt;&amp;gt; the PR are very cheap (a simple xor or a&lt;br/&gt;&amp;gt; node distance comparison).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you&amp;#39;re interested in the technical details, head over to [1].&lt;br/&gt;&amp;gt; I would really like to get feedback from this list on the concept itself,&lt;br/&gt;&amp;gt; and especially on the gossip and fee estimation&lt;br/&gt;&amp;gt; parts. If you made it that far, I&amp;#39;m sure you have many questions and&lt;br/&gt;&amp;gt; suggestions ;).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Bastien&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/pull/654&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/pull/654&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/20190802/305c6328/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20190802/305c6328/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T12:55:47Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswld3uxl96j0l79nyhaauutwrkp9reraq03k4e4ujzlkkv3jca8fgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcjvcjhf</id>
    
      <title type="html">📅 Original date posted:2021-08-08 📝 Original message: For ...</title>
    
    <link rel="alternate" href="https://njump.me/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://njump.me/nevent1qqsdtt366j0tyqe2ssv5xmww6pk68tc7y2f2a522uuga2y8mudjz5mszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jclju2x5</id>
    
      <title type="html">📅 Original date posted:2021-07-02 📝 Original message: If ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdtt366j0tyqe2ssv5xmww6pk68tc7y2f2a522uuga2y8mudjz5mszyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jclju2x5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd7xe5x83xp0zs86gvrppgrr4skjrm4l0e32q0mcysysqy8luduecppfujt&#39;&gt;nevent1q…fujt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-07-02&lt;br/&gt;📝 Original message:&lt;br/&gt;If the BIPs can allow very small standards related to a small niche of&lt;br/&gt;Lightning usage, then I think they are the place for everything indeed. I&amp;#39;m&lt;br/&gt;convinced.&lt;br/&gt;&lt;br/&gt;Thinking about proposing the LNURL specs as BIPs now, but then I don&amp;#39;t know&lt;br/&gt;if it will be weird for them to exist alone there, without the basis of the&lt;br/&gt;lightning technology to support them. I hope the BOLT authors investigate&lt;br/&gt;moving them there too so the other Lightning BIPs can add the BOLT BIPs as&lt;br/&gt;&amp;#34;Required&amp;#34;.&lt;br/&gt;&lt;br/&gt;The only question to me is this: should each BOLT be a BIP? Or all BOLTs be&lt;br/&gt;mashed together as a single BIP? Then what happens when Taproot-based&lt;br/&gt;channels, PTLCs or Eltoo-based channels get implemented? They are added as&lt;br/&gt;new BIPs that inherit and modify the previous?&lt;br/&gt;&lt;br/&gt;I also went through&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bips/wiki/BIP-Process-wishlist&#34;&gt;https://github.com/bitcoin/bips/wiki/BIP-Process-wishlist&lt;/a&gt; and to me they&lt;br/&gt;seem to be all good proposals (specially the list of projects/services&lt;br/&gt;implementing the BIP). Except BIP versioning. I like that BIPs have&lt;br/&gt;meaningless numbers, just add another BIP and refer to it by a number. For&lt;br/&gt;that reason I also don&amp;#39;t like prepending an &amp;#34;L&amp;#34; to Lightning-related BIPs&lt;br/&gt;(more so because some of these may be reused later in non-Lightning&lt;br/&gt;contexts, who knows?). Anyway I&amp;#39;m fine with anything.&lt;br/&gt;&lt;br/&gt;On Fri, Jul 2, 2021 at 4:32 PM Luke Dashjr &amp;lt;luke at dashjr.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Yes, many systems doesn&amp;#39;t really make sense. We can add editors and revise&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; BIP process as needed (BOLTs might prefer to use markdown?). Even aside&lt;br/&gt;&amp;gt; from&lt;br/&gt;&amp;gt; Lightning BIPs, there are several improvements that can be made, so it&lt;br/&gt;&amp;gt; makes&lt;br/&gt;&amp;gt; sense to address everything at once.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/wiki/BIP-Process-wishlist&#34;&gt;https://github.com/bitcoin/bips/wiki/BIP-Process-wishlist&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The BIP 2xx range has been set aside for Lightning years ago, and we can&lt;br/&gt;&amp;gt; do&lt;br/&gt;&amp;gt; similar things to help keep things organized within BIPs. Kalle suggested&lt;br/&gt;&amp;gt; maybe it&amp;#39;d be better to do BIP &amp;#34;L###&amp;#34; instead, and perhaps that would work&lt;br/&gt;&amp;gt; better if there&amp;#39;s likely to be several sub-namespaces.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Luke&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Friday 02 July 2021 12:02:28 Dan Gershony wrote:&lt;br/&gt;&amp;gt; &amp;gt; Hi,&lt;br/&gt;&amp;gt; &amp;gt; There will be many layer 2 (and probably layer 3)  protocols (BOLT, RGB,&lt;br/&gt;&amp;gt; &amp;gt; Volts etc...) does it really make sense to merge them all into the BIPs&lt;br/&gt;&amp;gt; &amp;gt; system?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On Fri, Jul 2, 2021 at 10:03 AM nathanael via Lightning-dev &amp;lt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Michael Folkson &amp;lt;michaelfolkson at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Adding a third BIP editor more involved with Lightning sounds like&lt;br/&gt;&amp;gt; a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; good idea.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Or alternatively if BOLTs were subsumed into BIPs I think Bastien&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; would be a great additional BIP editor to cover Lightning related&lt;br/&gt;&amp;gt; BIPs&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; :) I think BOLTs being subsumed into BIPs would be nice but I&amp;#39;m&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; pessimistic it will happen. Like legislation and regulation in the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; legacy financial system alphabet soups only expand they never get&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; simplified. Let&amp;#39;s at least resist alphabet soup expansion here.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; arent lightning improvements in the end bitcoin improvements too?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; i am thinking of bips like the rfcs of the internet&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; nathanael&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;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;&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/20210702/abb5b479/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210702/abb5b479/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T12:40:32Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf56fwtuypaxrgnajddrfhfatv9w99ar23npkfrf7npttk3vjpfggzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcmn9dfl</id>
    
      <title type="html">📅 Original date posted:2021-07-01 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf56fwtuypaxrgnajddrfhfatv9w99ar23npkfrf7npttk3vjpfggzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcmn9dfl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxjx7h2t6sv2m8vj5h3eey2q9a6npyg92xnjgvzx7zn3qext45y3cfms807&#39;&gt;nevent1q…s807&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-07-01&lt;br/&gt;📝 Original message:&lt;br/&gt;Here&amp;#39;s another feature which just appeared and would benefit from a&lt;br/&gt;bLIP for compatibility:&lt;br/&gt;&lt;a href=&#34;https://twitter.com/SimpleBtcWallet/status/1410506889545359365&#34;&gt;https://twitter.com/SimpleBtcWallet/status/1410506889545359365&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Atomic splitting of bills. A very small thing, but also very cool. I&lt;br/&gt;can&amp;#39;t imagine it fitting in the BOLTs at all.&lt;br/&gt;&lt;br/&gt;2021-06-30 09:10 (GMT-05:00), Ryan Gentry via Lightning-dev&lt;br/&gt;&amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; said:&lt;br/&gt;&amp;gt; Hi all,&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 arise in&lt;br/&gt;&amp;gt; the wild vs. originating within the process itself. Zero-conf channels are one&lt;br/&gt;&amp;gt; of many LN innovations on the app layer that have struggled to make their way&lt;br/&gt;&amp;gt; into the spec. John Carvalho and Bitrefill launched Turbo channels in April&lt;br/&gt;&amp;gt; 2019 [2], Breez posted their solution to the mailing list for feedback in&lt;br/&gt;&amp;gt; August 2020 [3], and we know at least ACINQ and Muun (amongst others) have&lt;br/&gt;&amp;gt; their own implementations. In an ideal world there would be a descriptive&lt;br/&gt;&amp;gt; design document that the app layer implementers had collaborated on over the&lt;br/&gt;&amp;gt; years that the spec group could then pick up and merge into the BOLTs now that&lt;br/&gt;&amp;gt; the feature is deemed spec-worthy.&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 members&lt;br/&gt;&amp;gt; of the community, and have received positive feedback from both app layer and&lt;br/&gt;&amp;gt; protocol devs. This would not affect the existing BOLT process at all, but&lt;br/&gt;&amp;gt; simply add a place for app layer best practices to be succinctly described and&lt;br/&gt;&amp;gt; organized, especially those that require coordination. These features are being&lt;br/&gt;&amp;gt; built outside of the BOLT process today anyways, so ideally a bLIP process&lt;br/&gt;&amp;gt; would bring them into the fold instead of leaving them buried in old ML posts&lt;br/&gt;&amp;gt; or not documented at all.&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 payment&lt;br/&gt;&amp;gt; metadata, p2p messaging formats, new pathfinding heuristics, remote node&lt;br/&gt;&amp;gt; connection standards, etc.&lt;br/&gt;&amp;gt; If the community is interested in moving forward, we&amp;#39;ve started a branch [5]&lt;br/&gt;&amp;gt; describing such a process. It&amp;#39;s based on BIP-0002, so not trying to reinvent&lt;br/&gt;&amp;gt; any wheels. It would be great to have developers from various implementations&lt;br/&gt;&amp;gt; and from the broader app layer ecosystem volunteer to be listed as editors&lt;br/&gt;&amp;gt; (basically the same role as in the BIPs).&lt;br/&gt;&amp;gt; Looking forward to hearing your thoughts!&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Ryan&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; [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; [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; [4] bLIP = Bitcoin Lightning Improvement Proposal and SPARK = Standardization&lt;br/&gt;&amp;gt; of Protocols at the Request of the Kommunity (h/t fiatjaf)&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; 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:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0ycfhy8ex8mm9c2emev944477p8vumdp3cnphcnruesgasx28kmgzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jctd3y6y</id>
    
      <title type="html">📅 Original date posted:2021-06-30 📝 Original message: hello ...</title>
    
    <link rel="alternate" href="https://njump.me/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>

  <entry>
    <id>https://njump.me/nevent1qqs2uh5lrw4jm9a2d8xlehkqk58ad9w2qresuyzx06wk5c537cu3fugzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcm8544k</id>
    
      <title type="html">📅 Original date posted:2020-12-23 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2uh5lrw4jm9a2d8xlehkqk58ad9w2qresuyzx06wk5c537cu3fugzyp3gmk47pv0dnh39fqw3z22nzysru3050cx9n2kd9p7m8t9aje3jcm8544k" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrqfqmjynxed2hufznjgylm9xecl36kmkwfxt37nhk0khed5swu8sh5c72a&#39;&gt;nevent1q…c72a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2020-12-23&lt;br/&gt;📝 Original message:Hi Andrew.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m just a lurker here and I have not much experience with PSBTs, but still let me pose this very obvious question and concern: isn&amp;#39;t this change going to create a compatibility nightmare, with some software supporting version 1, others supporting version 2, and the ones that care enough about UX and are still maintained being forced to support both versions -- and for no very important reason except some improvements in the way data is structured?&lt;br/&gt;&lt;br/&gt;Ultimately I don&amp;#39;t think it should matter if some data is structured in not-the-best-possible way, as long as it is clear enough for the computer and for the libraries already written to deal with it. Backwards-compatibility and general interoperability is worth much more than anything else in these cases.&lt;br/&gt;&lt;br/&gt;Also let me leave this article here, which I find very important (even if for some reason it ends up not being relevant to this specific case): &lt;a href=&#34;http://scripting.com/2017/05/09/rulesForStandardsmakers.html&#34;&gt;http://scripting.com/2017/05/09/rulesForStandardsmakers.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; ---- On Tue, 22 Dec 2020 17:12:22 -0300 Andrew Chow via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote ----&lt;br/&gt; &amp;gt; Hi All,&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; I have some updates on this after speaking with some people off-list.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Firstly, the version number will be set to 2. In most discussions, this &lt;br/&gt; &amp;gt; proposal was being referred to as PSBT version 2, so it&amp;#39;ll be easier and &lt;br/&gt; &amp;gt; clearer to set the version number to 2.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; For lock times, instead of a single  PSBT_IN_REQUIRED_LOCKTIME field, &lt;br/&gt; &amp;gt; there will be 2 of them, one for a time based lock time, and the other &lt;br/&gt; &amp;gt; for height based. These will be:&lt;br/&gt; &amp;gt; * PSBT_IN_REQUIRED_TIME_LOCKTIME = 0x10&lt;br/&gt; &amp;gt;    * Key: empty&lt;br/&gt; &amp;gt;    * Value: 32 bit unsigned little endian integer greater than or equal &lt;br/&gt; &amp;gt; to 500000000 representing the minimum Unix timestamp that this input &lt;br/&gt; &amp;gt; requires to be set as the transaction&amp;#39;s lock time. Must be omitted in &lt;br/&gt; &amp;gt; PSBTv0, and may be omitted in PSBTv2&lt;br/&gt; &amp;gt; * PSBT_IN_REQUIRED_HEIGHT_LOCKTIME = 0x11&lt;br/&gt; &amp;gt;    * Key: empty&lt;br/&gt; &amp;gt;    * Value: 32 bit unsigned little endian integer less than 500000000 &lt;br/&gt; &amp;gt; representing the minimum block height that this input requires to be set &lt;br/&gt; &amp;gt; as the transaction&amp;#39;s lock time. Must be omitted in PSBTv0, and may be &lt;br/&gt; &amp;gt; omitted in PSBTv2.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Having two lock time fields is necessary due to the behavior where all &lt;br/&gt; &amp;gt; inputs must use the same type of lock time (height or time). Thus if an &lt;br/&gt; &amp;gt; input requires a particular type of lock time, it must set the requisite &lt;br/&gt; &amp;gt; field. Any new inputs being added must be able to accommodate all &lt;br/&gt; &amp;gt; existing inputs&amp;#39; lock time type. This means they either must not have a &lt;br/&gt; &amp;gt; lock time specified (i.e. no OP_CLTV involved), or have branches that &lt;br/&gt; &amp;gt; allow the acceptance of either type. If an input has a lock time type &lt;br/&gt; &amp;gt; that is incompatible with the rest of the transaction, it must not be added.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; PSBT_GLOBAL_PREFERRED_LOCKTIME is changed to purely be the fallback &lt;br/&gt; &amp;gt; option if no input lock time fields are present. If there are input lock &lt;br/&gt; &amp;gt; times, all lock time calculations must ignore it.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Any role which does lock time calculation will first check if there are &lt;br/&gt; &amp;gt; input lock time fields. If there are not, it must then check for a &lt;br/&gt; &amp;gt; PSBT_GLOBAL_PREFERRED_LOCKTIME. If this field exists, its value is the &lt;br/&gt; &amp;gt; transaction&amp;#39;s lock time. If it does not, the lock time is 0. If there &lt;br/&gt; &amp;gt; are input lock time fields, it must choose the type which does not &lt;br/&gt; &amp;gt; invalidate any inputs. The lock time is then determined to be the &lt;br/&gt; &amp;gt; maximum value of all of the lock time fields for the chosen type.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Additionally, I would like to add a new global field:&lt;br/&gt; &amp;gt; * PSBT_GLOBAL_UNDER_CONSTRUCTION = 0x05&lt;br/&gt; &amp;gt;    * Key: empty&lt;br/&gt; &amp;gt;    * Value: A single byte as a boolean. 0 for False, 1 for True. All &lt;br/&gt; &amp;gt; other values ore prohibited. Must be omitted for PSBTv0, may be omitted &lt;br/&gt; &amp;gt; in PSBTv2.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; PSBT_GLOBAL_UNDER_CONSTRUCTION is used to signal whether inputs and &lt;br/&gt; &amp;gt; outputs can be added to the PSBT. This flag may be set to True when &lt;br/&gt; &amp;gt; inputs and outputs are being updated, signed, and finalized. However &lt;br/&gt; &amp;gt; care must be taken when there are existing signatures. If this field is &lt;br/&gt; &amp;gt; omitted or set to False, no further inputs and outputs may be added to &lt;br/&gt; &amp;gt; the PSBT.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Several rules must be followed to ensure that adding additional inputs &lt;br/&gt; &amp;gt; and outputs will not invalidate existing signatures. First, an input or &lt;br/&gt; &amp;gt; output adder must check for any existing signatures in all of the other &lt;br/&gt; &amp;gt; inputs. If there are none, the input or output may be added in any &lt;br/&gt; &amp;gt; position. If there are one or more signatures, each signature&amp;#39;s sighash &lt;br/&gt; &amp;gt; type must be examined. Inputs may only be added if all existing &lt;br/&gt; &amp;gt; signatures use SIGHASH_ANYONECANPAY. Outputs may only be added if all &lt;br/&gt; &amp;gt; existing signatures use SIGHASH_NONE. If an input has a signature using &lt;br/&gt; &amp;gt; SIGHASH_SINGLE, the same number of inputs and outputs must be added &lt;br/&gt; &amp;gt; before that input and it&amp;#39;s corresponding output. For all other sighash &lt;br/&gt; &amp;gt; types (i.e. SIGHASH_ALL and any future sighash types), no inputs or &lt;br/&gt; &amp;gt; outputs may be added to the PSBT. Specific exceptions can be made in the &lt;br/&gt; &amp;gt; future for additional sighash types.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Furthermore, these newly added inputs must follow additional lock time &lt;br/&gt; &amp;gt; rules. Because all signatures, regardless of sighash type, sign the &lt;br/&gt; &amp;gt; transaction lock time, newly added inputs when there are existing &lt;br/&gt; &amp;gt; signatures must have the same type of lock time used in the transaction, &lt;br/&gt; &amp;gt; and must be less than or equal to the transaction lock time. It must not &lt;br/&gt; &amp;gt; cause the transaction lock time to change, otherwise the signatures will &lt;br/&gt; &amp;gt; be invalidated.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Lastly, to uniquely identify transactions for combiners, a txid can be &lt;br/&gt; &amp;gt; computed from the information present in the PSBT. Internally, combiners &lt;br/&gt; &amp;gt; can create an unsigned transaction given the transaction version, the &lt;br/&gt; &amp;gt; input prevouts, the outputs, and the computed locktime. This can then be &lt;br/&gt; &amp;gt; used to calculate a txid and thus used as a way to identify PSBTs. &lt;br/&gt; &amp;gt; Combiners will need to do this for all version 2 PSBTs in order to avoid &lt;br/&gt; &amp;gt; combining distinct transactions.&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; Andrew Chow&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; On 12/9/20 5:25 PM, Andrew Chow wrote:&lt;br/&gt; &amp;gt; &amp;gt; Hi All,&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; I would like to propose a new PSBT version that addresses a few&lt;br/&gt; &amp;gt; &amp;gt; deficiencies in the current PSBT v0. As this will be backwards&lt;br/&gt; &amp;gt; &amp;gt; incompatible, a new PSBT version will be used, v1.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; The primary change is to truly have all input and output data for each&lt;br/&gt; &amp;gt; &amp;gt; in their respective maps. Instead of having to parse an unsigned&lt;br/&gt; &amp;gt; &amp;gt; transaction and lookup some data from there, and other data from the&lt;br/&gt; &amp;gt; &amp;gt; correct map, all of the data for an input will be contained in its map.&lt;br/&gt; &amp;gt; &amp;gt; Doing so also disallows PSBT_GLOBAL_UNSIGNED_TX in this new version.&lt;br/&gt; &amp;gt; &amp;gt; Thus I propose that the following fields be added:&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; Global:&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_GLOBAL_TX_VERSION = 0x02&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 32-bit little endian unsigned integer for the transaction&lt;br/&gt; &amp;gt; &amp;gt; version number. Must be provided in PSBT v1 and omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_GLOBAL_PREFERRED_LOCKTIME = 0x03&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 32 bit little endian unsigned integer for the preferred&lt;br/&gt; &amp;gt; &amp;gt; transaction lock time. Must be omitted in PSBT v0. May be provided in&lt;br/&gt; &amp;gt; &amp;gt; PSBT v1, assumed to be 0 if not provided.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_GLOBAL_INPUT_COUNT = 0x04&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: Compact size unsigned integer. Number of inputs in this&lt;br/&gt; &amp;gt; &amp;gt; PSBT. Must be provided in PSBT v1 and omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_GLOBAL_OUTPUT_COUNT = 0x05&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: Compact size unsigned integer. Number of outputs in this&lt;br/&gt; &amp;gt; &amp;gt; PSBT. Must be provided in PSBT v1 and omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; Input:&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_IN_PREVIOUS_TXID = 0x0e&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 32 byte txid of the previous transaction whose output at&lt;br/&gt; &amp;gt; &amp;gt; PSBT_IN_OUTPUT_INDEX is being spent. Must be provided in PSBT v1 and&lt;br/&gt; &amp;gt; &amp;gt; omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_IN_OUTPUT_INDEX = 0x0f&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 32 bit little endian integer for the index of the output&lt;br/&gt; &amp;gt; &amp;gt; being spent. Must be provided in PSBT v1 and omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_IN_SEQUENCE = 0x0f&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 32 bit unsigned little endian integer for the sequence&lt;br/&gt; &amp;gt; &amp;gt; number. Must be omitted in PSBT v0. May be provided in PSBT v1 assumed&lt;br/&gt; &amp;gt; &amp;gt; to be max sequence (0xffffffff) if not provided.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_IN_REQUIRED_LOCKTIME = 0x10&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 32 bit unsigned little endian integer for the lock time that&lt;br/&gt; &amp;gt; &amp;gt; this input requires. Must be omitted in PSBT v0. May be provided in PSBT&lt;br/&gt; &amp;gt; &amp;gt; v1, assumed to be 0 if not provided.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; Output:&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_OUT_VALUE = 0x03&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: 64-bit unsigned little endian integer for the output&amp;#39;s&lt;br/&gt; &amp;gt; &amp;gt; amount in satoshis. Must be provided in PSBT v1 and omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt; * PSBT_OUT_OUTPUT_SCRIPT = 0x04&lt;br/&gt; &amp;gt; &amp;gt;     * Key: empty&lt;br/&gt; &amp;gt; &amp;gt;     * Value: The script for this output. Otherwise known as the&lt;br/&gt; &amp;gt; &amp;gt; scriptPubKey. Must be provided in PSBT v1 and omitted in v0.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; This change allows for PSBT to be used in the construction of&lt;br/&gt; &amp;gt; &amp;gt; transactions. With these new fields, inputs and outputs can be added as&lt;br/&gt; &amp;gt; &amp;gt; needed. One caveat is that there is no longer a unique transaction&lt;br/&gt; &amp;gt; &amp;gt; identifier so more care must be taken when combining PSBTs.&lt;br/&gt; &amp;gt; &amp;gt; Additionally, adding new inputs and outputs must be done such that&lt;br/&gt; &amp;gt; &amp;gt; signatures are not invalidated. This may be harder to specify.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; An important thing to note in this proposal are the fields&lt;br/&gt; &amp;gt; &amp;gt; PSBT_GLOBAL_PREFERRED_LOCKTIME and PSBT_IN_REQUIRED_LOCKTIME. A Bitcoin&lt;br/&gt; &amp;gt; &amp;gt; transaction only has a single locktime yet a PSBT may have multiple&lt;br/&gt; &amp;gt; &amp;gt; locktimes. To choose the locktime for the transaction, finalizers must&lt;br/&gt; &amp;gt; &amp;gt; choose the maximum of all of the *_LOCKTIME fields.&lt;br/&gt; &amp;gt; &amp;gt; PSBT_IN_REQUIRED_LOCKTIME is added because some inputs, such as those&lt;br/&gt; &amp;gt; &amp;gt; involving OP_CHECKLOCKTIMEVERIFY, require a specific minimum locktime to&lt;br/&gt; &amp;gt; &amp;gt; be set. This field allows finalizers to choose a locktime that is high&lt;br/&gt; &amp;gt; &amp;gt; enough for all inputs without needing to understand the scripts&lt;br/&gt; &amp;gt; &amp;gt; involved. The PSBT_GLOBAL_PREFERRED_LOCKTIME is the locktime to use if&lt;br/&gt; &amp;gt; &amp;gt; no inputs require a particular locktime.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; As these changes disallow the PSBT_GLOBAL_UNSIGNED_TX field, PSBT v1&lt;br/&gt; &amp;gt; &amp;gt; needs the version number bump to enforce backwards incompatibility.&lt;br/&gt; &amp;gt; &amp;gt; However once the inputs and outputs of a PSBT are decided, a PSBT could&lt;br/&gt; &amp;gt; &amp;gt; be &amp;#34;downgraded&amp;#34; back to v0 by creating the unsigned transaction from the&lt;br/&gt; &amp;gt; &amp;gt; above fields, and then dropping these new fields.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; If the list finds that these changes are reasonable, I will write a PR&lt;br/&gt; &amp;gt; &amp;gt; to modify BIP 174 to incorporate them.&lt;br/&gt; &amp;gt; &amp;gt;&lt;br/&gt; &amp;gt; &amp;gt; Thanks,&lt;br/&gt; &amp;gt; &amp;gt; Andrew Chow&lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; &lt;br/&gt; &amp;gt; _______________________________________________&lt;br/&gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt; &amp;gt;
    </content>
    <updated>2023-06-07T18:27:45Z</updated>
  </entry>

</feed>