什麼是哈希時間鎖合約(HTLC)?
哈希時間鎖定合約(HTLC)是區塊鏈應用中使用的一種智能合約。它通過創建基於時間的託管機制來降低交易對手風險,解鎖需要使用加密口令。
實際上,這意味着收款人需要完成兩項操作才能獲得這筆款項:輸入正確的密碼並在規定時間內領取款項。如果他們輸入錯誤的密碼或未在規定時間內領取款項,則會失去領取資格。
要點總結
- 哈希時間鎖定合約 (HTLC) 通過有效創建利用加密口令的基於時間的託管,降低去中心化智能合約中的交易對手風險。
- 這種類型的智能合約要求收款方在一定時間內確認收款,否則將失去收款資格。
- 使用 HTLC 的支付是條件性的,因此能夠提高區塊鏈交易的效率。這一特性使得 HTLC 成爲閃電網絡使用的基礎工具。
理解哈希時間鎖合約 (HTLC)
哈希時間鎖合約 (HTLC) 借鑑了現有加密貨幣交易的多個元素。例如,HTLC 交易使用由私鑰和公鑰組成的多重簽名來驗證交易。然而,HTLC 與使用智能合約的標準加密貨幣交易有兩個顯著區別——哈希鎖和時間合約。
哈希鎖
第一個要素是哈希鎖。哈希鎖是由發起交易的人生成的公鑰的哈希版本(或加密加密版本)。然後使用關聯的私鑰來解鎖原始哈希值。
在HTLC中,發起方生成一個密鑰並對其進行哈希處理。哈希值存儲在原像中,原像在最終交易時被揭示。HTLC被設定爲在經過特定時間或生成特定數量的區塊後過期,從而形成一個已知的終止日期和時間。
要使用 HTLC 進行交易,交易雙方都需要彼此建立通道。這通常通過錢包、交易所或兩者兼而有之來實現。
時間鎖
HTLC 的第二個重要組成部分是時間鎖。HTLC 使用兩種不同的時間鎖來設置合約的時間約束。第一種是 CheckLockTimeVerify (CLTV)。它使用時間基準來鎖定和釋放加密貨幣。這意味着時間約束是硬編碼的,代幣只能在特定的時間和日期或達到特定的區塊高度時釋放。
原子互換——即加密貨幣之間的跨鏈交易——通常使用HTLC來實現。此外,比特幣的閃電網絡(LN)也採用了HTLC。
第二個是 CheckSequenceVerify (CSV)。它不依賴於時間;相反,它使用生成的區塊數量作爲跟蹤指標來確定何時完成交易。
哈希時間鎖合約中的流程
假設 Alice 想用她的比特幣從 Bob 那裏兌換萊特幣。他們之間典型的 HTLC 交易如下所示:
- Alice 使用她的萊特幣私鑰生成一個哈希值並將其發送給 Bob。她還通過創建一個名義交易生成該哈希值的原像。該原像將幫助她驗證並最終完成交易。
- Bob 還根據他的密鑰生成哈希值並將其發送給 Alice。此外,他還通過進行一筆名義交易(使用萊特幣)創建了一個原像。
- Alice收到Bob的萊特幣交易後,會使用她已存在於原像中的原始密鑰對其進行簽名。Bob也會做同樣的事情,使用他的私鑰來解鎖Alice的交易。
- Alice 和 Bob 輸入密鑰並達成交易協議後,智能合約就會執行交易。交易一旦執行,雙方都無法更改,這就杜絕了一方通過快速取消交易來欺騙另一方的可能性。
什麼是限時合同?
定時鎖合約是一種嵌入區塊鏈的智能合約,它會在特定時間執行交易。定時鎖合約常用於哈希定時鎖合約和支付通道等需要精確支付時間的場景。
比特幣有智能合約嗎?
最初,比特幣區塊鏈無法執行智能合約。然而,2021 年的 Taproot 升級使得該區塊鏈能夠在交易中使用智能合約。
什麼是智能合約?
智能合約是存儲在區塊鏈上的程序,當滿足特定條件時執行。
智能合約的成本是多少?
在以太坊區塊鏈上,部署智能合約需要消耗 Gas,而 Gas 的費用以 Gwei(一種低面額的以太幣)爲單位。根據合約的複雜程度,部署一個智能合約可能需要花費數十億 Gwei。而像簡單的交易所這類不太複雜的合約則便宜得多。