Термин
HTLC (Hash Time-Locked Contract)
HTLC (Hash Time-Locked Contract) — примитив смарт-контракта, блокирующий средства до тех пор, пока не будет раскрыт криптографический секрет для их получения, либо не истечёт timeout для возврата. Основа atomic swap и Lightning Network.
HTLC — конструкция с двумя условиями снятия заблокированных средств. Первое — hash-lock: средства может забрать любой, кто раскроет pre-image, хэш которого совпадает с указанным. Второе — time-lock: если pre-image не раскрыт в установленный срок, средства автоматически возвращаются отправителю. Вместе это даёт trustless свойство «либо обе стороны завершают, либо никто не теряет», делающее возможными atomic swap и off-chain payment-каналы.
В atomic swap между двумя цепями сторона A блокирует средства на chain 1 под hash-lock с хэшем H. Сторона B блокирует средства на chain 2 с тем же хэшем H и коротким timeout. Когда A забирает из контракта B, раскрыв pre-image, тот становится виден на chain 2, и B использует его чтобы забрать из контракта A на chain 1. Если кто-то бросил до reveal — timeouts возвращают всем.
Lightning Network расширяет HTLC до multi-hop routing. Платёж от A к C через посредника B использует два цепных HTLC; тот же hash-lock энфорсит что либо весь маршрут завершается, либо каждый leg refund'ится. Это делает возможными trustless Lightning-платежи между сторонами без прямого канала.
Хочешь применить это на практике?