Контракт с хешированной временной блокировкой (HTLC)

Что такое контракт временной блокировки хеширования (HTLC)?

Контракт с временной блокировкой хеширования (HTLC) — это тип смарт-контракта, который используется в приложениях блокчейн для устранения риска контрагента, позволяя реализовать привязанные ко времени транзакции. На практике это означает, что получатели транзакции должны подтвердить платеж, создав криптографические доказательства в течение определенного периода времени. В противном случае транзакция не состоится.

Атомарные свопы, кросс-цепная торговля между криптовалютами часто достигается с помощью HTLC. Кроме того, сеть Lightning Network (LN) Биткойна также использует HTLC.

Ключевые выводы

  • Контракт с хешированной временной блокировкой (HTLC) снижает риск контрагента в децентрализованных смарт-контрактах, эффективно создавая временное депонирование.
  • Этот тип смарт-контракта требует, чтобы получатель платежа подтвердил его в течение определенного периода времени или отказался от него.
  • Платежи с использованием HTLC являются условными и поэтому имеют преимущества для эффективности транзакций блокчейна. Это свойство делает HTLC основным инструментом, используемым в сети Lightning.

Как работает хешированный контракт временной блокировки

Контракт с хешированной временной блокировкой (HTLC) использует несколько элементов из существующих транзакций криптовалюты. Например, транзакции HTLC используют несколько подписей, которые состоят из закрытого и открытого ключа, для проверки и подтверждения транзакций. Но есть два элемента, которые отличают HTLC от стандартных транзакций с криптовалютой или обычных смарт-контрактов.

Первый элемент — это хеш-блок. Хэш-блок — это хешированная или криптографически зашифрованная версия открытого ключа, сгенерированного отправителем транзакции. Затем связанный закрытый ключ используется для разблокировки исходного хеша. В HTLC исходная сторона генерирует ключ и хеширует его. Хэш хранится в прообразе, который впоследствии раскрывается во время финальной транзакции. HTLC запрограммированы на то, чтобы истечь через определенный период времени или количество сгенерированных блоков, что создает известную дату завершения.

Второй важный элемент HTLC — это таймер. Два разных временных интервала используются для установки временных ограничений для контрактов, созданных с использованием HTLC. Первый — CheckLockTimeVerify (CLTV). Он использует временную базу для блокировки и выпуска биткойнов. Это означает, что временные ограничения жестко запрограммированы, и монеты выпускаются только в определенное время и дату или определенную высоту размера блока.

Второй — CheckSequenceVerify (CSV). Это не зависит от времени. Вместо этого он использует количество сгенерированных блоков как меру, чтобы отслеживать, когда завершить транзакцию.

Краткий обзор

Для проведения транзакции с использованием HTLC заинтересованным сторонам необходимо открывать каналы друг с другом.

Реальные примеры хешированной временной шкалы

Предположим, Алиса хочет обменять свой биткойн на лайткойн у Боба. Типичная транзакция HTLC между ними происходит следующим образом:

  1. Алиса генерирует хеш из своего закрытого ключа и отправляет его Бобу в блокчейне Litecoin. Она также генерирует прообраз хеша, создавая номинальную транзакцию. Этот предварительный образ поможет ей подтвердить и завершить транзакцию.
  2. Боб также генерирует хэш из своего ключа и отправляет его Алисе. В дополнение к этому он создает прообраз, проводя номинальную транзакцию (в Litecoin) с Алисой.
  3. Как только Алиса получает транзакцию Litecoin Боба, она подписывает ее, используя исходный ключ, который уже есть у нее в прообразе. Боб делает то же самое со своей стороны, используя свой закрытый ключ для разблокировки транзакции Алисы.