[Lightning-dev] complementing lightning with with a discreet physical delivery protocol?

ZmnSCPxj ZmnSCPxj at protonmail.com
Tue Jun 29 01:56:58 UTC 2021


Good morning VzxPLnHqr,

> Dear ZmnSCPxj,
>
> Thank you for your reply. I see how the vending machine can be mapped into the Courier role. There are some questions around how to extend this to a multi-courier situation, but let us solve that problem later and further discuss the nuances of hodl-invoices. One thing that seems currently difficult to ascertain right now is how much "time preference liquidity" (for lack of a better term) there exists in the network.
>
> For example, let's say the Merchant is an on-demand furniture maker, and it takes 90 days for her to produce the item. The protocol we are considering, in its current naive form as contemplated in this email thread, stacks up a sequence of hodl invoices which, at least in theory, tries to align the incentives of Merchant, Courier, Purchaser. It could, of course, go even further up/down the entire supply chain too.
>
> However, since the payments themselves are routed through the lightning network, and, in the example here, stuck in this hodling-pattern for up to 90 days, then any routing nodes along the way may feel they are not being fairly compensated for having their funds locked up for such time.
>
> Do I correctly understand that moving to payment points[1] instead of HTLCs can help reduce concern here by allowing each node along the route to earn a fee irrespective of whether the hodl invoice is settled or canceled?

This does not need payment points.

*However*, this hodl-payment-problem has multiple proposed solutions (none of which *require* payment points, but should still be compatible with them), none of which have gained much support, since all of them kind of suck in one way or another.

Payment points do allow for certain escrows to be created in a low-trust way, but they still involve holding PTLCs for long periods of time, and locking up funds until the escrow conditions are satisfied.
Note that one may consider the hodl-invoice as a sort of escrow, and thus the generalized escrow services that are proposed in that series of blog posts is a strict superset of that, but they still involve PTLCs being unclaimed for long periods of time.

>
> Outside of doing a large-scale test on mainnet (which could quickly become expensive and cause some unsuspecting node operators displeasure), is there any way right now for a node operator to determine the likelihood of, for example, being able to even route (e.g. receive payment but not yet be able to settle) a 90-day hodl invoice?

0, since I think most implementations impose a maximum limit on the timelocks HTLCs passing through them, which is far lower than 90 days.
Though I should probably go check the code, haha.

--

I think the issue here is the just-in-time nature of the Merchant in your example.

Consider an ahead-of-time furniture maker instead.
The furniture maker can, like the vending machine example, simply consign furniture to a Vendor.
The Vendor simply releases the already-built furniture conditional on receiving the payment secret (i.e. proof-of-payment) of an invoice issued by the Merchant.

The payment secret could then use the payment point homomorphism.
The Vendor acts as a Retailer, buying furniture at reduced prices, in bulk, from the Merchant.
Because it buys in bulk, the Retailer+Merchant can probably afford to use a hodl PTLC directly onchain, instead of over Lightning, since they makes fewer but larger transactions, buying in bulk.

On the other hand, this reduces flexibility --- end consumers can only choose among pre-built furniture, and cannot customize.
Buying the flexibility that just-in-time gives requires us to pay with some deep thinking over here in Lightning-land on how to implement this without sucking.

Regards,
ZmnSCPxj


More information about the Lightning-dev mailing list