Kurz erklärt: Ein Hash Time-Locked Contract (HTLC) ist eine Form der bedingten Zahlung in Blockchain-Netzwerken, bei der Coins nur dann ausgezahlt werden, wenn der Empfänger innerhalb einer Frist ein kryptografisches Geheimnis vorlegt. Andernfalls fliessen die Mittel an den Absender zurück.
Grundprinzip
Ein HTLC kombiniert zwei Bedingungen in einer Transaktion:
- Hash-Lock: Die Auszahlung setzt voraus, dass der Empfänger ein Geheimnis (Preimage) offenlegt, dessen Hash-Wert vorab festgelegt wurde.
- Time-Lock: Wird das Geheimnis nicht innerhalb einer definierten Zeit oder Blockhöhe vorgelegt, kann der Absender die Coins zurückfordern.
Durch diese Verknüpfung entsteht eine Zahlung, die nur unter genau festgelegten Bedingungen gültig ist. HTLCs werden über die Skriptsprachen der jeweiligen Blockchain umgesetzt, in Bitcoin über Opcodes wie OP_HASH160 und OP_CHECKLOCKTIMEVERIFY beziehungsweise OP_CHECKSEQUENCEVERIFY.
Anwendungsbereiche
HTLCs sind ein zentrales Grundelement mehrerer Technologien:
- Payment Channels und das Lightning-Netzwerk nutzen HTLCs, um Zahlungen über mehrere Zwischenknoten (Routing) abzusichern.
- Atomic Swaps setzen HTLCs ein, um Coins zwischen verschiedenen Blockchains vertrauensfrei zu tauschen.
- Submarine Swaps verbinden über HTLCs On-Chain- und Off-Chain-Guthaben.
Gemeinsames Merkmal ist, dass keine der beteiligten Parteien der anderen vertrauen muss, weil die Auszahlungsbedingungen im Blockchain-Protokoll durchgesetzt werden.
Sicherheit und Zeitfenster
Die Sicherheit eines HTLC hängt wesentlich von der korrekten Wahl der Zeitfenster ab. Bei mehrstufigen Zahlungen (Routing) muss die Frist jeder Stufe so gestaffelt sein, dass Zwischenknoten stets genug Zeit haben, ihre Gegenforderung einzulösen, bevor die eigene Frist abläuft.
Bekannte Angriffsszenarien betreffen etwa das Zurückhalten des Geheimnisses oder Überlastung der Blockchain zum Fristende. Weiterentwicklungen wie Point Time-Locked Contracts (PTLC) auf Basis von Schnorr-Signaturen zielen darauf ab, Datenschutz und Effizienz gegenüber klassischen HTLCs zu verbessern.
Häufige Fragen
Wofür steht die Abkürzung HTLC?
HTLC steht für Hash Time-Locked Contract, also einen Vertrag, der eine Zahlung an einen Hash-Wert und ein Zeitschloss bindet.
Was ist der Unterschied zwischen Hash-Lock und Time-Lock?
Der Hash-Lock verlangt die Vorlage eines Geheimnisses zur Auszahlung, der Time-Lock erlaubt dem Absender nach Ablauf einer Frist die Rückforderung der Mittel.
Wo werden HTLCs eingesetzt?
Vor allem im Lightning-Netzwerk, in Payment Channels, bei Atomic Swaps und Submarine Swaps, also überall dort, wo bedingte, vertrauensfreie Zahlungen benötigt werden.
Muss ich einem Handelspartner bei einem HTLC vertrauen?
Nein. Die Auszahlungsbedingungen werden durch das Blockchain-Protokoll erzwungen, sodass entweder die Bedingung erfüllt oder das Guthaben zurückgegeben wird.
Was ist ein PTLC im Vergleich zum HTLC?
Ein Point Time-Locked Contract nutzt statt eines Hash-Werts einen kryptografischen Punkt auf Basis von Schnorr-Signaturen und gilt als datenschutzfreundlichere Weiterentwicklung des HTLC.
Zusammenfassung
Ein Hash Time-Locked Contract verbindet eine Zahlung mit einem kryptografischen Geheimnis und einer Frist, sodass Coins nur unter festgelegten Bedingungen ausgezahlt oder andernfalls zurückgegeben werden. HTLCs bilden die technische Grundlage für das Lightning-Netzwerk, Payment Channels, Atomic Swaps und Submarine Swaps.
Weiterführende Quellen
- Bitcoin Wiki: Hash Time Locked Contracts: en.bitcoin.it
- Wikipedia: Lightning Network: en.wikipedia.org