区块链研究实验室 | 闪电网络代码简化教程-可撤销交付交易part1_ONE:methylethylketone

闪电网络的基本概念很简单。为进一步了解,将闪电网络交易流程作为javascript代码参考白皮书。

本篇文章的目标是解读可撤销交付交易,与白皮书的图5相对应。

轻量区块与交易结构

区块定义和交易结构如下:

区块仅包含先前区块的哈希和交易。同样Transaction仅包含Inputs和Outputs。

花费可撤销的7个步骤:

我将可撤销交付交易的所有流程分为7个步骤,如下所示。请注意,上面的图片上写有C1A或C1B等。

多签名资金

美国游说团体区块链协会:Gary Gensler的公开言论已经表明他没有权力公正地对待问题:金色财经报道,美国加密货币行业的游说团体区块链协会表示,SEC主席Gary Gensler应该不再执行加密货币行业的规则,他的公开言论已经表明他没有权力公正地对待问题。[2023/6/30 22:10:45]

构建C1a和C1b

构建RD1a和RD1b

C1a和C1b的交换签名

花费C1b

花费D1b

花费RD1b

起初,Alice和Bob创建了2to2多重签名。?

科银中国CEO 许英龙:拉长市场周期来看 区块链行业整体向上:金色财经现场报道,4月24日,由印比特主办、金色财经和易矿联合主办,珠海市横琴新区数链数字金融研究院指导的《2021新基建区块链峰会》在成都召开。在圆桌对话《牛不可挡 全球头部厂商乘风破浪》环节,科银中国CEO许英龙指出,任何市场都有周期性,但我们把周期拉长,比如拉长十年看,中间的只是波动,长期一定是稳定向上的。我们长期看多这个市场,所以我们科银资本会持续加大对于思创优研发投入的支持,并且更好的和相关领域的头部企业达成合作。为传统行业和区块链行业架设更好的桥梁,未来我们会不断合规化、做好内功的同时希望在资本市场上有更好的表现。[2021/4/24 20:53:58]

Alice在这个'redeemScriptHash'上存储比特币。

A股开盘:深证区块链50指数上涨0.16%:金色财经消息,A股开盘,上证指数报2972.98点,开盘上涨0.08%%,深证成指报11813.36点,开盘上涨0.16%,深证区块链50指数报3543.90点,开盘上涨0.16%。区块链板块开盘上涨0.07%, 数字货币板块下跌0.16%。区块链板块217只概念股中,115只上涨,1只停盘,17只平盘,84只下跌。数字货币板块32只概念股中,11只上涨,3只平盘,18只下跌。[2020/6/24]

Alice和Bob已经分别存入0.5比特币作为创世块。因此,Alice花费0.5比特币到?fundmulisig上。

日本金融厅主办的虚拟货币?区块链论坛2018在东京举行:今日,由日本金融厅主办的虚拟货币?区块链论坛2018在东京举行。预计300人到场的会场涌入了大约700人。随着世界对虚拟货币及ICO体现的高关注度,本次论坛显示了将此新技术与金融第三方链接起来的决心。尽管还有一些关于用户保证,等问题存在,在发展的同时也要留意创新与风险的平衡状态,并且设计出具有实效的制度,进行模拟。[2018/5/11]

我不能运行比特币操作码,所以我将scriptsig和scriptpubkey定义为JSON格式。?

以同样的方式,Bob为multisig提供资金,现在mulisig持有1比特币

构建C1a和C1b

使用Alice和Bob之前创建的两个事务,Alice构建C1A。请注意,C1Awitch类型的第一个输出是“RSMS”。确切的名称是可撤销的序列到期合同。这需要花费2个签名。由此,一个将创建可撤销的交付,另一个是输出。

Bob还不签字。一旦Bob签名,Alice可以立即花费这笔交易。在Alice恶意和Alice不签署RD1A的情况下,Bob将永远失去0.5比特币,因此Bob不应签署。

Json格式scriptSig和scriptPubKey如下。请注意,我在scriptSig中包含redeemScript以支付multisig基金。?

在同样的方式下,Bob构建C1b。

构建RD1a和RD1b

RD1A有时间锁。如果Alice想使用C1A,则要在锁定期结束之前,Alice无法收到0.5比特币。我将时间锁定指定为3,以便Alice需要等待3个区块的确认。另一方面,Bob可以立即收到0.5比特币,因为D1A没有时间锁。

顺便说一下,在实际的用例中,时间锁可能是1000s。

请注意,TxIn中的上一个事务是空的。因为C1a尚未花费,所以无法计算事务哈希值。为实现这一目标,闪电开发团队提倡新的Opcode为SIGHASH_NOINPUT

请注意,RD1a是由Bob签署的。Alice需要将RD1a交给Bob并让他签名,以便RD1a需要Bob的签名。

Json格式RDscriptSig如下,这包含时间锁定。?

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

C1A和C1B的交换签名

Alice收到Bob签署的RD1a,以便交换C1a的签名。Alice将C1a交给Bob让他签名。现在,Alice可以随时使用C1a。

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

花费C1b

让我们考虑一下Bob花费c1b的情况。Bob自己签署c1b。验证完成后,Bob转移C1B并添加到区块链。

花费D1b

Alice可以在没有任何时间锁定的情况下花费D1b,因为multisigfund的比特币被Bob用作C1b交易。如果Bob是恶意的并且不与Alice合作,Bob可能会在没有Alice协议的情况下花费C1b。对于这种情况,Bob承担时间锁定。

花费RD1b

起初,Bob试图立即花掉RD1B。但由于时间锁定,结果是失败的。

在添加了2个区块之后,Bob可以成功地使用RD1B,因为时间锁已经过期。?

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

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-3:499ms