Hva er en...
HTLC?
HTLC er en av de grunnleggende byggeklossene i Lightning. Ved hjelp av kryptografi og Bitcoin Script sikrer en HTLC at en betaling på Lightning enten blir 100% fullført, eller returneres til avsender. "HTLC" står for Hashed Timelocked Contract, eller "hashet, tidslåst kontrakt" på godt norsk.
Hvilket problem løser HTLCer?
I Lightning sendes betalinger gjennom flere noder. En node som kun videresender betalingen skal ikke ha mulighet til å stikke av med pengene underveis. De skal heller ikke ha mulighet til å modifisere betalingen på noe som helst måte. HTLCer sikrer at betalingen kommer frem til sin rettmessige mottaker, helt uten at nodene underveis på betalingsruta kan tukle med den.
Hvordan fungerer det?
Tenk på det som en digital boks med to låser. Du trenger nøkkelen til minst én av boksene, men ikke nødvendigvis begge to.
-
Den første låsen er en hashlås. Denne låsen er åpnet med en hemmelig kode. Kun mottakeren av betalingen kjenner denne koden. Låsen identifieres med en hash. For å kunne åpne koden må du vite hva som er kilden til hashen. Siden hasher er irreversible, er det kun mottakeren av betalingen som kan denne kilden.
-
Den andre låsen er en tidslås. Hvis ikke den første låsen er åpnet innen et bestemt tidspunkt kan denne åpnes.
De to låsene beskytter ulike betalingsalternativer. Om du låser opp hashlåsen kan du sende pengene videre i retning av sin endelige mottaker. Om du derimot låser opp tidslåsen, kan du kun sende pengene tilbake til avsender.
Praktisk eksempel
Alice vil sende penger til Charlie gjennom Bob:
- Alice lager en HTLC til Bob: "Her er pengene, men du kan bare ta dem hvis du viser meg koden som beviser at Charlie har mottatt betalingen"
- Bob lager en tilsvarende HTLC til Charlie
- Charlie låser opp sin HTLC ved å vise koden
- Bob bruker samme kode til å låse opp sin HTLC fra Alice
- Alle får pengene sine
Sikkerhet
HTCLer har to viktige egenskaper:
-
De er atomiske. Det betyr at enten får alle pengene sine, eller så får ingen noe som helst. Atomisk refererer her til at alle hendelsene skjer samlet, eller ikke i det hele tatt.
-
De har en tidsbegrensning. Hvis noe går galt, returneres pengene automatisk til avsenderen etter en bestemt tid.