首页 资讯 正文

区块链研究实验室 | 闪电网络编码教程-违约补救措施

链三丰 2019年07月03日 01:43

这是第二篇解释闪电网络流程的文章。这一次,我将解释的是与白皮书图9相对应的违约补救措施。 

201907022202521.jpeg 

花费违规补救措施的10个步骤:

由于第一篇文章应讲解前面4个骤,将不在本篇文章重新讲述。

  1. 多签名资金

  2. 构建C1a和C1b(No Sign)

  3. 构建RD1a和RD1b

  4. C1a和C1b的交换签名

  5. 建立C2a和C2b(No Sign)

  6. 构建RD2a和RD2b

  7. C2a和C2b的交换签名

  8. 建立BR1a和BR1b

  9. 花费C1b

  10. 花费BR1b

构建C2a和C2b(No sign)

结构与C1a相同。 请注意,2个输入也与C1a相同,因为此时C1a还没有花费。 此交易更新了Alice和Bob之间的比特币余额。 只有最终输出对比特币主网非常重要。 如果Alice花了C2a,比特币主网就无法察觉C1a的存在。

201907022203521.png

201907022204331.png

构建RD2a和RD2b

构建RD2a和RD2b几乎与RD1a和RD1b所需的过程相同。  

C2a和C2b交换签名

与C1a部分相同,Alice将C2a移交给Bob,让Bob签名。 现在Alice和Bob可以花费C2a和C2b。 如果Alice意外地花费了C1a,她就会失去所有的BTC,这样Alice就可以安全地撤销C1a。

201907022205111.png

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

构建BR1a和BR1b

Alice建立BR1a并签名,然后将BR1a移交给Bob。 请注意,BR1a的输出是Bob的。 本质上,此输出属于Alice。

如果Alice不配合Bob,她花了c1a,甚至认为c2a和c2b已经交换了,Alice就会因为她的违约而失去所有的btc。

201907022205481.png

Json格式BR scriptSig如下。 

201907022206171.png 

以同样的方式,Bob把签名的BR1b递交给Alice。

花费C1b

Bob意外地花了C1b。 不幸的是,他永远失去了所有的BTC

201907022206431.png

花费BR1b

Alice可以在没有任何时间锁的情况下立即使用br1b。请注意,如果时间锁过期,Bob可以花费RD1b。所以,最好是Alice早点花掉BR1B。

201907022207201.png

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

本文转载公众号:区块链研究实验室,专注区块链技术,产品社群,经济模型等全方位的知识体系输出,为大家带来不一样的社群学习体验。欢迎联系作者微信加入社群:csschan1120