A Hash Time Locked Contract (HTLC) is a conditional payment that requires the recipient to reveal a hash preimage. It also includes a time lock clause that allows the payment to be refunded after a certain time. HTLCs are used in Lightning Network channels, atomic swaps and other protocols.
Questions tagged [hash-time-locked-contract]
67 questions
11
votes
3 answers
"HTLCs don't work for micropayments"?
I read this tweet by Tadge Dryja recently. What exactly did he mean? Is this an issue? If so, is this issue fixable?
Chris Chen
- 922
- 4
- 13
10
votes
1 answer
How is a node in the middle prohibited from keeping the money in a routed Payment in Lightning network?
It is my understanding that Lightning is to scale with users having only few payment channels by leveraging the six degrees of separation theory to facilitate payment routing. I understand how onion routing is employed to obfuscate origin and target…
Murch
- 71,155
- 33
- 180
- 600
9
votes
1 answer
Can PTLCs and HTLCs be mixed along a route?
When PTLCs get introduced on the Lightning Network, do all hops along a route need to use just one of either HTLCs or PTLCs, or would it be possible to create a route where some nodes use PTLCs and some use HTLCs?
Murch
- 71,155
- 33
- 180
- 600
8
votes
1 answer
What is a hash pre-image as it is used for the breach remedy?
Until this afternoon I thought the anti-cheat transactions or breach remedies built on the exit-transaction of the counterparty.
Apparently, they build on something called a "hash pre-image". What is it the pre-image from? How and why can it be used…
Murch
- 71,155
- 33
- 180
- 600
7
votes
2 answers
HTLC (Hash Time Lock Contract) using bitcoin-qt
Is it possible to manually create a HTLC using the bitcoin-qt command line?
I know how to manually creating createrawtransaction/sendrawtransaction using the bitcoin-qt clients command line, and wanted to know how to manually create a HTLC.
When I…
oshirowanen
- 175
- 2
- 11
- 36
7
votes
2 answers
What does the abbreviation "HTLC" stand for?
An HTLC is a contract making use of both a hashlock and a timelock. I noticed a discrepancy in what various sources state the abbreviation HTLC is short for. I've found:
"Hashed Timelock Contract" according to the Lightning Network Paper
"Hashed…
Murch
- 71,155
- 33
- 180
- 600
5
votes
1 answer
Unilateral close because of HTLC in remote commitment
I run lnd on my node and sometimes see messages like this:
[INF] CNCT: ChannelArbitrator(CHANPOINT): immediately failing htlc=HTLCID from remote commitment
The corresponding close transaction sent out by my node does not contain any HTLC output.…
C-Otto
- 355
- 1
- 8
4
votes
1 answer
What is "Link-Level Multiplexing"?
In a discussion about private channels, Conner Fromknecht mentioned a concept called Link-Level Multiplexing. What is this and what is it useful for? How does it work?
Murch
- 71,155
- 33
- 180
- 600
4
votes
2 answers
Why do we need revocation in both the offered/received HTLC outputs and HTLC timeout/success outputs?
The witness script for the output in the HTLC success/timeout transaction is:
OP_IF
# Penalty transaction
OP_ELSE
`to_self_delay`
OP_CHECKSEQUENCEVERIFY
OP_DROP
…
yyforyongyu
- 128
- 5
4
votes
2 answers
Single-hop Payment vs Multi-hop payments
I am beginner of lightning network. When i am looking roughly lightning network whitepaper, i was confused about the types of contracts used in single-hop and multi-hop.
As far as I understand, In single-hop(Bidirectional Payment channel) case, it…
Hoonki
- 43
- 3
4
votes
1 answer
Lightning: why do we need decrementing timelocks in multi-hop payments?
The video (at 28:25) from the official Lightning website describes a multi-hop payment. I understand what a hash-locked contract is, but I still don't understand why we need a timelock aspect here. As you see on the slide, in a multi-hop payment A…
Sergei Tikhomirov
- 1,430
- 7
- 17
4
votes
1 answer
Is there anyway to find a lighting payment request preimage after it is paid if you aren’t the sending or receiving node?
From what I understand, the preimage is publicly revealed when the lightning payment request is paid as a part of the transaction. Is there any way to find that transaction and therefore the preimage fro the details included in the decoded payment…
cool171
- 41
- 1
4
votes
2 answers
Using multiple penalty transactions to increase max HTLCs per LN channel
BOLT#2 states the below as one rationale to limit a Lighting Network channel to 483 HTLCs:
It also ensures that a single penalty transaction can spend the entire commitment transaction, as calculated in BOLT #5.
In other words: we're constrained…
stickies-v
- 540
- 1
- 10
4
votes
2 answers
Signing taproot key-path transaction from rust-bitcoin
I'm trying to make a taproot HTLC using rust-bitcoin for an atomic swap protocol. My plan is that in the "happy case" of my protocol, the coins are spent with the key-path, and then there is a tapleaf for the "refund" case (after n blocks, the…
rijndael
- 43
- 3
3
votes
1 answer
Lightning Network state deprecation secret keeping
When using a lightning channel, two sides are sending transactions representing the current state (or balance) between them, and for each state sent, they invalidate the previous state by sending a secret for a hash puzzle in a HTLC transaction.
For…
user107511
- 31
- 1