From ya at slamail.org Fri Nov 8 06:39:59 2019 From: ya at slamail.org (Yaacov Akiba Slama) Date: Fri, 8 Nov 2019 08:39:59 +0200 Subject: [Lightning-dev] [VERY ROUGH DRAFT] BOLT 12: Offers In-Reply-To: <877e4bt678.fsf@rustcorp.com.au> References: <87zhhb2bpf.fsf@rustcorp.com.au> <798f31a2-fb53-a7ce-4bd6-ef06102eebba@slamail.org> <877e4bt678.fsf@rustcorp.com.au> Message-ID: <857a3203-6f85-b40a-9d7a-bee320180a32@slamail.org> Hi Rusty. On 08/11/2019 05:09, Rusty Russell wrote: > Hi Yaacov, > I've been pondering this since reading your comment on the PR! > > As a fan of standards, I am attracted to UBL (I've chaired an > OASIS TC in the past and have great respect for them); as a fan of > simplicity I am not. Forcing UBL implementation on wallet providers is > simply not going to happen, whatever I were to propose. In fact, using UBL in LN specification is simpler than trying to understand the semantic of each field needed by businesses. You are right that using such a standard put the burden into wallet providers instead of LN developers, but as a wallet (breez) provider, I can say that: 1) Most money transactions (currently in fiat) are between users and companies and not between two users. If we want to replace FIAT by bitcoin, we need to create an infrastructure which can be used by businesses. That means that LN needs to be able to be integrated easily into POS systems. So, as a wallet provider who want to help the transition from fiat to bitcoin, I need to be able to support standards even if that means that I have to implement using/parsing big and complicated standards. For simple user to user transaction, the wallet can decide to use only a subset of the fields defined by the standard. 2) From a technical point of view, it seems that there are already UBL libraries in java and c#. I don't think such library is hard to write in go, rust.., so every wallet implementation can use them. > > We also don't want duplication; what if the "UBL field" were to > say I were selling you a bridge for $1 and the description and amount > fields actually said I was selling you a coffee for $3? > > However, since invoices/offers and UBL are both structures, we > should have an explicit mapping between the two. What fields should > have their own existence in the invoice/offer and what should be in a > general UBL field is a question we have to think on further. I agree that we don't want duplication. This is the reason, I propose to use only ubl structure and add in the ln standard invoice an ubl "opaque" field which will be self-contained and only add in the invoice/offer/.. the fields specific to ln. > Anyway, you'll have to bear with me as I read this 172 page > standard... Sure :-) BTW, Thanks a lot for your all your work. LN would not have been where it is without your push.