哈希时间锁定合同(htlc)

哈希时间锁定合约(HTLC)是一种智能合约,用于区块链应用程序中,通过实现有时限的交易消除交易对手风险。实际上,这意味着交易的接收者必须在一定的时间范围内通过生成加密证明来确认支付。否则,交易不会发生。...

什么是散列timelock合同(htlc)(a hashed timelock contract (htlc))?

哈希时间锁定合约(HTLC)是一种智能合约,用于区块链应用程序中,通过实现有时限的交易消除交易对手风险。实际上,这意味着交易的接收者必须在一定的时间范围内通过生成加密证明来确认支付。否则,交易不会发生。

原子交换,加密货币之间的跨链交易通常是使用htlc实现的。此外,比特币的闪电网络(LN)也采用HTLC。

关键要点

  • 散列时间锁定合约(HTLC)通过有效地创建基于时间的托管,降低了分散智能合约中的交易对手风险。
  • 这种类型的智能合约要求收款人在一定时间内确认或放弃付款。
  • 使用htlc的支付是有条件的,因此对于区块链交易具有效率优势。此属性使HTLCs成为闪电网络使用的基本工具。

散列timelock合同的工作原理

哈希Timelock契约(HTLC)使用现有加密货币事务中的几个元素。例如,HTLC事务使用由一个私有公钥组成的多个签名来验证和验证事务。但HTLC与标准加密货币交易或普通智能合约有两个区别。

第一个元素是hashlock。哈希锁是由事务的发起方生成的公钥的哈希或加密加扰版本。然后使用关联的私钥来解锁原始散列。在HTLC中,发起方生成一个密钥并对其进行哈希运算。散列存储在一个预映像中,该映像随后在最终事务中被显示。htlc被编程为在特定的时间段或生成的块数之后过期,从而创建一个已知的终止日期。

HTLC的第二个重要元素是timelock。两个不同的TimeLock用于设置使用HTLC生成的合同的时间限制。第一个是CheckLockTimeVerify(CLTV)。它使用时基锁定和释放比特币。这意味着时间限制是硬编码的,硬币只能在特定的时间和日期或特定的块大小的高度发行。

第二个是CheckSequenceVerify(CSV)。它不依赖于时间。相反,它使用生成的块数作为度量来跟踪何时完成事务。

要使用HTLC进行交易,相关方需要彼此打开渠道。 

哈希timelock的真实示例

假设爱丽丝想把她的比特币换成鲍勃的莱特币。他们之间的典型HTLC交易如下:

  1. Alice从她的私钥生成一个哈希,并将其发送给Litecoin区块链上的Bob。她还通过创建一个名义事务来生成散列的预映像。这个预映像将帮助她验证和完成事务。
  2. Bob还从他的密钥生成一个哈希并将其发送给Alice。除此之外,他还通过与Alice进行名义交易(Litecoin)来创建一个预映像。
  3. 一旦Alice收到Bob的Litecoin交易,她就用pre-image中已有的原始密钥进行签名。鲍勃也这样做,用他的私钥解锁爱丽丝的交易。

  • 发表于 2021-06-07 18:02
  • 阅读 ( 157 )
  • 分类:商业金融

你可能感兴趣的文章

云开采比特币有利可图吗?

...工身上。在创建每个新的事务“块”时,矿工对数据应用哈希算法以确认其合法性。 ...

  • 发布于 2021-03-13 13:16
  • 阅读 ( 256 )

6个免费的哈希检查程序来检查任何文件的完整性

当您在线下载文件时,系统会向您提供一个文件哈希来检查文件的完整性。不管是对是错,大多数人忽略了文件哈希验证,假设文件是恶意的,网站所有者会意识到并将其删除。或者他们的杀毒软件会在可疑下载执行之前将其踩...

  • 发布于 2021-03-19 07:54
  • 阅读 ( 344 )

11个基本的加密术语现在大家都应该知道了

...当您需要验证某个内容的真实性,但不需要将其读回时,哈希非常有用。在这种情况下,密码哈希提供了一些针对暴力攻击的保护(攻击者尝试所有可能的密码组合)。 ...

  • 发布于 2021-03-30 14:49
  • 阅读 ( 294 )

如何解锁你的手机(这样你就可以把它带到新的运营商)

在北美销售的大多数**,特别是合同**,都“锁定”在特定的**运营商。您只能在该运营商的网络上使用它们,因此,如果不先“解锁”**,就无法切换到其他运营商。 相关报道:越狱、生根和解锁有什么区别? **锁定几乎适用...

  • 发布于 2021-04-07 01:05
  • 阅读 ( 195 )

什么是md5、sha-1和sha-256哈希,如何检查它们?

...现这一点。 散列如何工作,以及它们如何用于数据验证 哈希是密码算法的产物,用于产生字符串。不管输入数据的大小,这些字符串通常都有固定的长度。看看上面的图表,你会发现“狐狸”和“红狐跳过蓝狗”的输出长度相...

  • 发布于 2021-04-08 07:37
  • 阅读 ( 320 )

可视化哈希可以确保您永远不会输入错误的密码

...以立即看到你输入的密码是否正确。键入密码时,可视化哈希在密码字段中显示四个彩色框。当你输入时,颜色会改变,你的密码会有一个特定的颜色组合。那样的话,如果你打错了,你会马上知道的,因为颜色会全部消失。看...

  • 发布于 2021-05-27 08:52
  • 阅读 ( 69 )

散列表(hashmap)和哈希表(hashtable)的区别

...HashMap、TreeMap和LinkedHashMap。HashMap和Hashtable是Java中用于在哈希表中存储键/值对的两个集合。Hashtable是一个同步映射,HashMap是一个非同步映射。不过,如果需要使用同步映射,哈希表比在同步包装器中使用哈希映射要快。在Java中...

  • 发布于 2021-06-25 20:14
  • 阅读 ( 255 )

散列表(hashmap)和哈希表(hashtable)的区别

关键区别:在计算机科学中,哈希表或哈希映射是指将键(名称)与值(属性)链接在一起的数据结构。在Java中,两者有一些重要的区别,比如HashTable是同步的,HashMap是不同步的。哈希表不允许空键。但是,HashMap允许一个null...

  • 发布于 2021-07-13 20:48
  • 阅读 ( 321 )

什么是散列键?(a hash key?)

...空间,使程序检索信息更快、更容易。在复杂系统中使用哈希系统定位重复信息也很常见,例如重复的语音或图像模式,甚至基因组或脱氧核糖核酸DNA链的重复部分。此外,哈希键是电话或键盘上的#键的国际英语术语。 ...

  • 发布于 2021-12-10 15:06
  • 阅读 ( 310 )

什么是哈希表?(a hashtable?)

... 在计算机科学中,哈希表是一种用于存储数据的数据结构,它由一系列值(称为键)组成,这些值与一系列相应的值(称为数组)配对。例如,企业名称可能与其地址配对。通常,数组中的...

  • 发布于 2021-12-10 15:07
  • 阅读 ( 146 )