闪电网络之HTLC

闪电网络之HTLC

  • HTLC(Hashed Timelock Contract): 哈希时间锁定合约

  • 什么是HTLC: 闪电网络双向支付通道只能实现通道通道内的安全交易。但是,不可能在闪电网络所有节点间都建立双向支付通道,那样就构成了一个全连接网络。因此,必须有一种方案来实现在没有建立双向支付通道的两个节点间的安全交易。该方案的核心就是HTLC。TLC的目的是在多个节点间通过HASH的方式来传递全局信息。其关键点有两个。一个是限时执行,只在一定时间内有效。第二个是基于时间的资源释放,这种资源释放是通过揭示前像(preimage)来实现的。

  • HTLC的核心: 交易双方在合约时间内,需要强制执行合约交易

  • HTLC工作原理:

    • 假设在RSMC合约模型中,有A-B、C-D、B-C三组交易方。根据RSMC合约规则:① A 有1个直接交易通道② B 有2个直接交易通道③ C 有2个直接交易通道④ D 有1个直接交易通道。显然A和D想要交易就必须得利用BC的通道。交易流程如下图:
    A
    B
    C
    D

    要怎么保证A D双方的交易金额在经过B C双方的路径的时候不被贪污掉呢?这时候就需要HTLC了

  • HTLC的交易模型:

    1. A 要付1个比特币给 D,D 将一个随机的哈希值(H)悄悄给了A(AB之间没有直接通道,他们需要通过BC来进行交易)
    1BTC
    H
    A
    B
    D
    C
    1. A 和 B 签订一个HTLC,合约内容是:A 支付 B 1个比特币,前置条件为“ B 需要在48小时内提供哈希值(H)给 A,否则交易自动取消”
    1BTC
    H
    A
    B
    1. B 和 C 签订了一个HTLC,合约内容是:B 支付 C 1个比特币,前置条件为“ C 需要在28小时内提供哈希值(H)给 B ,否则交易自动取消”
    1BTC
    H
    B
    C
    1. C 和 D 签订了一个HTLC,合约内容是:C 支付 D 1个比特币,前置条件为“ D 需要在8小时内提供哈希值(H)给 C ,否则交易自动取消”
    1BTC
    H
    C
    D
    1. 在规定时间内,哈希值(H)由 D 交给 C ,C 交给 B ,B 交给 A ,大家依次拿到1个比特币,A D 双方的交易至此完成。
    1BTC
    H
    1BTC
    H
    1BTC
    H
    A
    B
    C
    D

你可能感兴趣的:(闪电网络,比特币,区块链)