Mandatory "d" or "h" UX issues [combined summary]



Individual post summaries: Click here to read the original discussion on the lightning-dev mailing list

Published on: 2019-01-21T11:40:22+00:00


Summary:

Francis Pouliot, a Bitcoin app developer, has raised concerns about the user experience (UX) issues related to withdrawing funds via the Lightning Network (LN). The current process lacks a mechanism for verifying if the user has created the invoice correctly, which can lead to errors or typos. To address this issue, Rusty Russell suggests using an lninv URL with specific details to simplify the process. However, Rusty admits uncertainty about how the browser reaching out to the wallet to get an invoice and do the submission itself would work practically.Pouliot explains that his Bitcoin app requires users to create an invoice with specific format instructions provided by the app when opting for LN payouts. There are concerns that users may not pay enough attention to details such as the description field or may make typos. Developers then need to decode the bolt11 in the invoice and compare it to the instructions, which can be cumbersome. If they don't match, the user must create a new invoice. Currently, there is no API available for this type of push payment, but discussions have been held regarding its creation.The design of Bolt11, the invoice format, is considered biased towards merchants. Normally, merchants decide on the invoice, but for LN payouts, the sender is the service provider who creates the terms of payment. This means that the user must manually enter certain fields in their wallet, which can result in errors or omissions. Pouliot highlights the issues faced by users in this process, including lower payment success rates and higher abandonment rates due to the requirement for communication and the need to create correct invoices. He questions the necessity of making certain fields mandatory and suggests leaving business logic to Bitcoin businesses.Olaoluwa Osuntokun states that the "d" and "h" fields in Bolt11 aren't mandatory and can be left blank, as existing wallets don't require users to input a description when creating an invoice. Pouliot believes that addressing this UX issue is a lower hanging fruit and proposes the implementation of a standardized payment protocol to fix the problem. He currently uses c-lightning and wants to avoid switching. The issue has been raised on GitHub, specifically on issue #541 of the lightning-rfc repository.The Lightning Network payout feature aims to allow users to buy Bitcoin with fiat and receive the coins via LN instead of on-chain transactions. However, ensuring that recipients generate the correct Bolt11 invoice has emerged as a key challenge. The mandatory "d" and "h" fields in the invoice pose UX issues for Bitcoin services performing payouts/withdrawals without a widely adopted payment protocol. Pouliot suggests that the design of Bolt11 may favor merchants, but for LN payouts, the service provider becomes the sender who sets the terms of payment. This reliance on users to create accurate invoices before receiving funds creates communication requirements, lowers payment success rates, and increases abandonment rates. Addressing this issue through a standardized payment protocol is considered a more feasible solution. The progress of this discussion can be tracked on GitHub at issue #541 of the lightning-rfc repository.


Updated on: 2023-07-31T21:23:13.049984+00:00