11 Juni 2021 13:19

Hash-Timelock-Vertrag (HTLC)

Was ist ein Hashed-Timelock-Vertrag (HTLC)?

Ein Hashed Timelock-Vertrag (HTLC) ist eine Art intelligenter Vertrag, der in Blockchain-Anwendungen verwendet wird, um das Kontrahentenrisiko zu eliminieren, indem die Implementierung zeitgebundener Transaktionen ermöglicht wird. Konkret bedeutet dies, dass Empfänger einer Transaktion die Zahlung durch die Generierung eines kryptografischen Nachweises innerhalb einer bestimmten Frist bestätigen müssen. Andernfalls findet die Transaktion nicht statt.

Atomic Swaps, Cross-Chain-Handel zwischen Kryptowährungen wird oft mit HTLCs erreicht. Darüber hinaus verwendet das Lightning Network (LN) von Bitcoin auch HTLCs.

Die zentralen Thesen

  • Ein Hash-Timelock-Vertrag (HTLC) reduziert das Kontrahentenrisiko in dezentralisierten Smart Contracts, indem er effektiv ein zeitbasiertes Treuhandkonto erstellt.
  • Bei dieser Art von Smart Contract muss der Empfänger einer Zahlung diese innerhalb einer bestimmten Frist bestätigen oder verfallen.
  • Zahlungen mit HTLCs sind bedingt und haben daher Effizienzvorteile für Blockchain-Transaktionen. Diese Eigenschaft macht HTLCs zu einem grundlegenden Werkzeug, das vom Blitznetzwerk verwendet wird.

So funktioniert ein Hash-Timelock-Vertrag

Ein Hashed Timelock Contract (HTLC) verwendet mehrere Elemente aus bestehenden Kryptowährungstransaktionen. Beispielsweise verwenden HTLC-Transaktionen mehrere Signaturen, die aus einem privat-öffentlichen Schlüssel bestehen, um Transaktionen zu überprüfen und zu validieren. Aber es gibt zwei Elemente, die HTLC von Standard-Kryptowährungstransaktionen oder gewöhnlichen Smart Contracts unterscheiden.

Das erste Element ist der Hashlock. Ein Hashlock ist eine gehashte oder kryptographisch verschlüsselte Version eines öffentlichen Schlüssels, der vom Absender einer Transaktion generiert wird. Der zugehörige private Schlüssel wird dann verwendet, um den ursprünglichen Hash zu entsperren. In HTLC generiert die ursprüngliche Partei einen Schlüssel und hasht ihn. Der Hash wird in einem Pre-Image gespeichert, das anschließend während der letzten Transaktion aufgedeckt wird. HTLCs sind so programmiert, dass sie nach einem bestimmten Zeitraum oder einer bestimmten Anzahl von generierten Blöcken ablaufen, wodurch ein bekanntes Beendigungsdatum entsteht.

Das zweite wichtige Element von HTLC ist eine Zeitsperre. Zwei verschiedene Zeitsperren werden verwendet, um Zeitbeschränkungen für Verträge festzulegen, die mit HTLC erstellt wurden. Die erste ist CheckLockTimeVerify (CLTV). Es verwendet eine Zeitbasis, um Bitcoins zu sperren und freizugeben. Dies bedeutet, dass Zeitbeschränkungen fest codiert sind und Münzen nur zu einem bestimmten Zeitpunkt und Datum oder einer bestimmten Höhe der Blockgröße freigegeben werden.

Der zweite ist CheckSequenceVerify (CSV). Es ist nicht zeitabhängig. Stattdessen verwendet es die Anzahl der generierten Blöcke als Maß, um zu verfolgen, wann eine Transaktion abgeschlossen werden muss.



Um eine Transaktion mit HTLC durchzuführen, müssen interessierte Parteien miteinander Kanäle öffnen.

Reale Beispiele für ein Hash-Zeitschloss

Angenommen, Alice möchte ihre Bitcoin gegen Litecoin von Bob eintauschen. Eine typische HTLC-Transaktion zwischen ihnen läuft wie folgt ab:

  1. Alice generiert einen Hash aus ihrem privaten Schlüssel und sendet ihn auf der Litecoin- Blockchain an Bob. Sie erzeugt auch ein Vorabbild des Hashs, indem sie eine nominale Transaktion erstellt. Dieses Vorbild hilft ihr, die Transaktion zu validieren und abzuschließen.
  2. Bob generiert auch einen Hash aus seinem Schlüssel und sendet ihn an Alice. Darüber hinaus erstellt er ein Vorbild, indem er eine nominelle Transaktion (in Litecoin) mit Alice durchführt.
  3. Sobald Alice Bobs Litecoin-Transaktion erhält, signiert sie sie mit dem Originalschlüssel, der bereits im Pre-Image bei ihr vorhanden ist. Bob tut dasselbe auf seiner Seite, indem er seinen privaten Schlüssel verwendet, um Alices Transaktion freizuschalten.