我是靠谱客的博主 想人陪香菇,最近开发中收集的这篇文章主要介绍区块链-哈希时间锁合约(Hash Time Lock Contracts,HTLC),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录:https://blog.csdn.net/qq_40452317/article/details/89646633

 支付通道可以通过特殊类型的智能合同进一步扩展,以允许参与 者将资金用于可赎回的具有到期时间的秘密(secret)。 此功能称为哈希时间锁 定合约或 HTLC,并用于双向和路由的支付通道。

首先我们来解释 HTLC 的“哈希”部分。 要创建一个 HTLC,预期的收款人将首先创 建一个秘密(secret)R。他们然后计算这个 R 的哈希 H:

H = Hash(R)

这步产生可以包含在输出的锁定脚本中的哈希 H。知道秘密的任何人可以用它来 兑换输出。 秘密 R 也被称为哈希函数的 前 图像 。 前图像就是用作哈希函数输入的数据。

HTLC 的第二部分是“时间锁”组件。 如果秘密没有被透露,HTLC 的付款人可以在 一段时间后得到“退款”。 这是通过使用绝对时间锁 CHECKLOCKTIMEVERIFY来实现的。实现 HTLC 的脚本可能如下所示:

IF
# Payment if you have the secret R
HASH160 <H> EQUALVERIFY ELSE
# Refund after timeout.
<locktime> CHECKLOCKTIMEVERIFY DROP
<Payee Pubic Key> CHECKSIG
ENDIF

任何知道可以让哈希等于 H 的对应秘密 R 的人,可以通过行使 IF语句的第一个子句来兑换该输出。

如果秘密没有被透露,HTLC 中写明了,在一定数量的块之后,收款人可以使用 IF 语句中的第二个子句申请退款。
这是 HTLC 的基本实现。 任何拥有秘密 R 的人都可以兑换这种类型的 HTLC。通 过对脚本进行微调,HTLC 可以采用许多不同的形式。 例如,在第一个子句中添加一个 CHECKSIG 运算符和一个公钥来限制将哈希值兑换成一个指定的收件人, 这个人必须知道秘密 R.

最后

以上就是想人陪香菇为你收集整理的区块链-哈希时间锁合约(Hash Time Lock Contracts,HTLC)的全部内容,希望文章能够帮你解决区块链-哈希时间锁合约(Hash Time Lock Contracts,HTLC)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部