什么是哈希时间锁合约(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。而像简单的交易所这类不太复杂的合约则便宜得多。