From pm+lists at acinq.fr Thu Sep 24 12:13:42 2015 From: pm+lists at acinq.fr (Pierre) Date: Thu, 24 Sep 2015 14:13:42 +0200 Subject: [Lightning-dev] Payment and Refund Stuck In-Reply-To: References: Message-ID: Hi Mats, I am not sure I understand what you meant, so forgive me if my answer is a bit off topic. Let's consider A->B->C->D->E. The way lightning works is that A does *not* pay B, instead it locks the corresponding funds in a contract that can end up two ways : 1) B provides a secret R which means E got the funds, and the contract is fulfilled. 2) a timeout occurs in which case the contract is voided. So there is no refund because the payment never actually took place. But what you might have meant is that you are aware how this works, but you still want a way for A to cancel the contract before the timeout, in case A and E cooperate and C is unresponsive. I would say this is a bit contradictory because when A signed the initial contract, it basically acknowledged the fact that it is willing to take the risk to have its funds locked for at most $timeout if things go bad, right ? This is the essence of lightning after all. That been said, I see two ways for A to reduce the timeout : - either find a shorter path (maybe even A->E) - or convince B/C/D to use small timeouts, maybe just a few blocks between each node. That would reduce A's timeout to a few hours, and I don't see why that wouldn't work. This might be the real answer to your problem, but I am certainly missing something! Now that I think of it, I actually don't know why the default timeout is 1 day on the original lightning presentation, that seems really high. Cheers, Pierre