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
_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev

Reply via email to