4 maja 2021 20:13

Hashed Timelock Contract (HTLC)

Co to jest hashed Timelock Contract (HTLC)?

Hashhed Timelock Contract (HTLC) to rodzaj inteligentnego kontraktu używanego w aplikacjach blockchain w celu wyeliminowania ryzyka kontrahenta poprzez umożliwienie realizacji transakcji ograniczonych czasowo. W praktyce oznacza to, że odbiorcy transakcji muszą potwierdzić płatność, generując dowód kryptograficzny w określonych ramach czasowych. W przeciwnym razie transakcja nie dojdzie do skutku.

Atomowe swapy, handel międzyłańcuchowy między kryptowalutami często odbywa się za pomocą HTLC. Ponadto sieć błyskawicy Bitcoin (LN) również wykorzystuje protokoły HTLC.

Kluczowe wnioski

  • Zaszyfrowany kontrakt z blokadą czasową (HTLC) zmniejsza ryzyko kontrahenta w zdecentralizowanych inteligentnych kontraktach, skutecznie tworząc depozyt zabezpieczony w czasie.
  • Ten rodzaj inteligentnej umowy wymaga, aby odbiorca płatności potwierdził ją w określonym czasie lub ją utracił.
  • Płatności za pomocą HTLC są warunkowe, a więc przynoszą korzyści w zakresie wydajności w przypadku transakcji typu blockchain. Ta właściwość sprawia, że ​​HTLC jest podstawowym narzędziem używanym przez sieć piorunów.

Jak działa hashed Timelock Contract

Hashed Timelock Contract (HTLC) wykorzystuje kilka elementów z istniejących transakcji kryptowalutowych. Na przykład transakcje HTLC używają wielu podpisów, które składają się z klucza prywatnego i publicznego, do weryfikacji i walidacji transakcji. Istnieją jednak dwa elementy, które odróżniają HTLC od standardowych transakcji kryptowalutowych lub zwykłych inteligentnych kontraktów.

Pierwszym elementem jest hashlock. Hashlock jest mieszany lub kryptograficznym jajecznica wersję klucza publicznego generowanego przez inicjatora transakcji. Powiązany klucz prywatny jest następnie używany do odblokowania oryginalnego skrótu. W HTLC strona inicjująca generuje klucz i haszuje go. Skrót jest przechowywany w obrazie wstępnym, który jest następnie ujawniany podczas końcowej transakcji. HTLC są zaprogramowane tak, aby wygasały po określonym czasie lub liczbie wygenerowanych bloków, tworząc znaną datę zakończenia.

Drugim ważnym elementem HTLC jest blokada czasu. Do ustawiania ograniczeń czasowych w kontraktach generowanych przy użyciu protokołu HTLC służą dwa różne blokady czasowe. Pierwsza to CheckLockTimeVerify (CLTV). Używa podstawy czasu do blokowania i zwalniania bitcoinów. Oznacza to, że ograniczenia czasowe są zakodowane na stałe, a monety są wypuszczane tylko w określonym czasie i dniu lub określonej wysokości rozmiaru bloku.

Drugi to CheckSequenceVerify (CSV). Nie zależy od czasu. Zamiast tego używa liczby wygenerowanych bloków jako miary do śledzenia, kiedy należy sfinalizować transakcję.



Aby przeprowadzić transakcję za pomocą HTLC, zainteresowane strony muszą otworzyć między sobą kanały.

Prawdziwe przykłady hashed timelock

Załóżmy, że Alicja chce wymienić swoje Bitcoiny na Litecoiny od Boba. Typowa transakcja HTLC między nimi odbywa się w następujący sposób:

  1. Alice generuje hash ze swojego klucza prywatnego i wysyła go do Boba w łańcuchu blokowym Litecoin. Generuje również obraz skrótu, tworząc nominalną transakcję. Ten wstępny obraz pomoże jej zweryfikować i sfinalizować transakcję.
  2. Bob również generuje skrót ze swojego klucza i wysyła go do Alicji. Oprócz tego tworzy pre-image, przeprowadzając nominalną transakcję (w Litecoin) z Alice.
  3. Gdy Alice otrzyma transakcję Bob’s Litecoin, podpisuje ją przy użyciu oryginalnego klucza, który jest już dostępny u niej na obrazie wstępnym. Bob robi to samo na swoim końcu, używając swojego klucza prywatnego, aby odblokować transakcję Alicji.