<div dir="ltr"><div>Hi,</div><div>      I was reading the paper by Poon and Dryja on Bitcoin Lightning Network and was going through the construction of HTLC. Suppose 2 parties A and B have a channel with each party locking 0.5 BTC. Suppose A wants to transfer 0.1 BTC to B contingent to the knowledge of R : H=h(R) produced within a locktime of say t days. So the script output for A is -</div><div>1. 0.4 BTC to A</div><div>2. 0.5 BTC to B</div><div>3. 0.1 BTC locked in HTLC between A & B.</div><div>Why we cannot set the terms as say 0.4 BTC to A, 0.2 BTC to B and 0.4 BTC to HTLC, where HTLC output can follow either of the paths - If B produces R within t days then it gets back 0.4 BTC else after t days A can broadcast with 0.4 BTC going to the A? This prevents B from not responding (and induce possibly griefing attack across a longer path by withholding the solution) since it will lose out 0.3 BTC. What can be the problem if the terms of HTLC itself tries to enforce a penalty on the counterparty? <br></div><div><div><div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Yours sincerely,<br>Subhra Mazumdar.<br><br></div></div></div></div></div></div></div></div>