<oembed><type>rich</type><version>1.0</version><title>Ross Dyson [ARCHIVE] wrote</title><author_name>Ross Dyson [ARCHIVE] (npub1l3…df762)</author_name><author_url>https://yabu.me/npub1l3f8prue677q2neq6ehwpxras2xtj0v7s9zv4a39xpulp09q60hqhdf762</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>📅 Original date posted:2019-11-08&#xA;📝 Original message:&#xA;Hi Rusty,&#xA;&#xA;We spoke in detail about this after your presentation at LNconf. I&#39;m one of&#xA;the contributors to LNURL so I am a little familiar with what you&#39;re trying&#xA;to achieve and am very grateful you&#39;re considering implementing something&#xA;similar to the mainnet protocol.&#xA;&#xA;I can only see delivery address being a nightmare for the network or wallet&#xA;providers. If you take a quick look at any Shopify website right now and&#xA;try to buy something to be delivered you will see validation of address&#xA;inputs before accepting payment.&#xA;&#xA;This is the &#39;expected&#39; UX of consumer applications in 2019. If offers were&#xA;to not validate address inputs correctly the user will not receive the&#xA;product, lose money, and have a [very] negative review of both the&#xA;wallet-providing and the offer-providing businesses.&#xA;&#xA;Handling these UX expectations will require either the wallet provider or&#xA;the offer provider to validate the inputs before proceeding with the sale.&#xA;&#xA;   1. If the offer provider handles validation then the network will have&#xA;   to accommodate potentially infinite validation attempts (big no no I assume)&#xA;   2. If the wallet provider were to provide the UX for input validation&#xA;   they are taking on significant workload to develop a robust address input&#xA;   UI, but more importantly the responsibility to correctly validate. There is&#xA;   plenty of room to screw up and create a catastrophic user experience.&#xA;&#xA;So I think address validation input is only possible via 2. but I think it&#xA;is too much workload and responsibility to expect from wallet providers.&#xA;&gt;From what I can see, it would not be impossible to bring delivery address&#xA;functionality into offers retroactively after offers was already in prod.&#xA;Perhaps icebox it?&#xA;&#xA;I am very excited for LNOs and LNIs. If we want to get offers in prod and&#xA;being facilitated by wallet providers I think it would be best if it was&#xA;streamlined a little first.&#xA;&#xA;Thanks for reading,&#xA;&#xA;Ross&#xA;&#xA;On Fri, Nov 8, 2019 at 3:40 PM Yaacov Akiba Slama &lt;ya at slamail.org&gt; wrote:&#xA;&#xA;&gt; Hi Rusty.&#xA;&gt;&#xA;&gt; On 08/11/2019 05:09, Rusty Russell wrote:&#xA;&gt; &gt; Hi Yaacov,&#xA;&gt; &gt;          I&#39;ve been pondering this since reading your comment on the PR!&#xA;&gt; &gt;&#xA;&gt; &gt;          As a fan of standards, I am attracted to UBL (I&#39;ve chaired an&#xA;&gt; &gt; OASIS TC in the past and have great respect for them); as a fan of&#xA;&gt; &gt; simplicity I am not.  Forcing UBL implementation on wallet providers is&#xA;&gt; &gt; simply not going to happen, whatever I were to propose.&#xA;&gt;&#xA;&gt; In fact, using UBL in LN specification is simpler than trying to&#xA;&gt; understand the semantic of each field needed by businesses. You are&#xA;&gt; right that using such a standard put the burden into wallet providers&#xA;&gt; instead of LN developers, but as a wallet (breez) provider, I can say that:&#xA;&gt;&#xA;&gt; 1) Most money transactions (currently in fiat) are between users and&#xA;&gt; companies and not between two users. If we want to replace FIAT by&#xA;&gt; bitcoin, we need to create an infrastructure which can be used by&#xA;&gt; businesses. That means that LN needs to be able to be integrated easily&#xA;&gt; into POS systems. So, as a wallet provider who want to help the&#xA;&gt; transition from fiat to bitcoin, I need to be able to support standards&#xA;&gt; even if that means that I have to implement using/parsing big and&#xA;&gt; complicated standards.&#xA;&gt;&#xA;&gt; For simple user to user transaction, the wallet can decide to use only a&#xA;&gt; subset of the fields defined by the standard.&#xA;&gt;&#xA;&gt; 2) From a technical point of view, it seems that there are already UBL&#xA;&gt; libraries in java and c#. I don&#39;t think such library is hard to write in&#xA;&gt; go, rust.., so every wallet implementation can use them.&#xA;&gt;&#xA;&gt; &gt;&#xA;&gt; &gt;       We also don&#39;t want duplication; what if the &#34;UBL field&#34; were to&#xA;&gt; &gt; say I were selling you a bridge for $1 and the description and amount&#xA;&gt; &gt; fields actually said I was selling you a coffee for $3?&#xA;&gt; &gt;&#xA;&gt; &gt;       However, since invoices/offers and UBL are both structures, we&#xA;&gt; &gt; should have an explicit mapping between the two.  What fields should&#xA;&gt; &gt; have their own existence in the invoice/offer and what should be in a&#xA;&gt; &gt; general UBL field is a question we have to think on further.&#xA;&gt; I agree that we don&#39;t want duplication. This is the reason, I propose to&#xA;&gt; use only ubl structure and add in the ln standard invoice an ubl&#xA;&gt; &#34;opaque&#34; field which will be self-contained and only add in the&#xA;&gt; invoice/offer/.. the fields specific to ln.&#xA;&gt; &gt;          Anyway, you&#39;ll have to bear with me as I read this 172 page&#xA;&gt; &gt; standard...&#xA;&gt;&#xA;&gt; Sure :-)&#xA;&gt;&#xA;&gt; BTW, Thanks a lot for your all your work. LN would not have been where&#xA;&gt; it is without your push.&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; Lightning-dev mailing list&#xA;&gt; Lightning-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20191108/24dc4976/attachment.html&gt;</html></oembed>