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

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

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

На практике это означает, что получатели транзакции должны подтвердить платеж, создав криптографические доказательства в течение определенного периода времени. В противном случае транзакция не состоится.

Атомарная кросс-цепная торговля между криптовалютами реализована с использованием HTLC. Сеть Lightning Bitcoin также использует HTLC. (См. Также:  Биткойн-сеть Lightning: 3 возможных проблемы .)

РАЗРЫВ Хешированного контракта о временной блокировке

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

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

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

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

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

Как на практике реализуется HTLC? 

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

1. Алиса генерирует хеш из своего закрытого ключа и отправляет его Бобу в блокчейне litecoin . Она также создает прообраз хеша, создавая номинальную транзакцию. Этот предварительный образ поможет ей подтвердить и завершить транзакцию. 

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

3. Как только Алиса получает транзакцию Litecoin Боба, она подписывает ее, используя исходный ключ, который уже есть у нее в прообразе. Боб делает то же самое со своей стороны, используя свой закрытый ключ для разблокировки транзакции Алисы. (См. Также:  Что такое Litecoin и как он работает? )