区块链研究实验室 | 闪电网络编码教程-花费HTLC执行可撤销交付

区块链研究实验室
媒体专栏
热度: 17465

这篇文章的目标是花费HTLC执行可撤销交付,这与白皮书的图12相对应。

 这篇文章的目标是花费HTLC执行可撤销交付,这与白皮书的图12相对应。 

HTLC 

花费HTLC执行可撤销交付的14个步骤:

由于内容存有重复,前面步骤忽略,直接由第五步开始。 如果您想了解前面4步,请参阅之前的文章。

  1. 多签名资金

  2. 建造C1A和C1B(No sign)

  3. 建造RD1a和RD1b

  4. C1A和C1B的交换签名

  5. 建造C2A和C2B(No sign)

  6. 构建RD2A和RD2B

  7. 构建HTD1B

  8. 建造HE1B

  9. 建造HELD1B

  10. C2A和C2B的交换签名

  11. 建造BR1a和BR1b

  12. 花费C2B

  13. 花费HE1B

  14. 花费HED1B

构建C2a和C2b(No sign)

首先,Alice创建原像R并且还创建相应的哈希H。Alice想要仅在Bob知道原像R时向Bob支付0.1 BTC。对于Bob,当Alice提供H时,他应该回答R以接收0.1 BTC。 在这个时候,Alice使用私钥作为R,公钥作为H。

HTLC

HTLC

以同样的方式,Bob构建C2b。

构建RD2a和RD2b

请参阅“构建RD1a和RD1b”部分的前一篇文章。

构建HTD1b

如果Bob不能应答R,只有Alice可以在3次确认时间锁定后广播此交易以退款0.1 BTC。对于Bob,最好在该时间锁定到期之前回答R。

HTLC

Json格式scriptSig如下: 

HTLC 

请注意,HT1a与HTD1b有点不同,请参考https://github.com/tak1827/lightning-network-tx-flow/tree/spend-HERD

构建HE1b

Bob只要知道R,就可以随时广播此事务。不幸的是,他没有从该交易中收到0.1 BTC。

HTLC

Json格式scriptSig如下: 

HTLC 

请注意,HED1a与HE1b略有不同,请参考:https://github.com/tak1827/lightning-network-tx-flow/tree/spend-HERD

构建HERD1b

Bob只能在10次确认时间锁定后才能广播此交易。 最后,Bob从此交易中收到0.1 BTC。

HTLC

请注意,构建HTR1a与H1b略有不同,请参照https://github.com/tak1827/lightning-network-tx-flow/tree/spend-HERD

 C2a和C2b的交换签名

Alice让Bob签署C2A。现在,Alice可以随时广播此事务。

HTLC

以同样的方式,Bob让Alice签署C2b。

 构建BR1a和BR1b

跳过重复说明。 请参阅“Build BR1a和BR1b”部分的上一篇文章。

 花费C2b

Bob花了c2b。即使他知道R,他也不能立即收到Alice的0.1btc,因为herd1b上的时间锁定。

但是,如果Alice花了c2a,Bob只要知道R就可以立即收到。

HTLC

 花费HTD1b

Bob花费这笔交易来回答R。

HTLC

花费HERD1b

在10次锁定后,Bob花费此交易来接收0.1 BTC。

HTLC

好的,本章节到此结束,下一节我们将会继续讲解; 

声明:本文为入驻“火星财经 专栏”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
本内容旨在传递行业动态,不构成投资建议或承诺。