Questions tagged [hash-time-locked-contract]

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.

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?
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?
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…
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.…
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?
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 …
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…
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…
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…
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…
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…
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…
1
2 3 4 5