闪电网络交易合约之RSMC(Revocable Sequence Maturity Contract)序列到期可撤销合约的创建

闪电网络交易合约之RSMC(Revocable Sequence Maturity Contract)序列到期可撤销合约

微支付通道解决了交易合并的问题,但是并没有解决撤销上个交易的问题。如果交易可以撤销,则资金可以双向流动。RSMC解决了通道中资金的单向流动问题。

RSMC的创建

爱丽丝和鲍伯是合作方,经常有资金往来,所以他们决定各拿0.5比特币放到通道中(可以理解为第三方信任存钱的地方),便于业务往来。 RSMC的交易结构见下图,左边是爱丽丝视角,右边是鲍伯视角。中间的Funding Tx为共同可见;C1a和RD1a为爱丽丝持有;C1b和RD1b为鲍伯持有。交易图中带有尖括号表示签名待填入。完整过程和图示见下文。

在这里插入图片描述

①双方各拿0.5BTC构建Funding Tx,输出为爱丽丝和鲍伯的2/2签名地址。此时Funding Tx未签名,更不广播

②爱丽丝构造commitment Tx;C1a和RD1a,并交给鲍伯签名。C1a的第一个输出为多重签名地址,地址为爱丽丝的另一把私钥爱丽丝2和鲍伯的2/2多重签名地址(这个地址稍后还会转移到新的“地址”)。第二个输出为鲍伯的0.5BTC

③RD1a为C1a第一个输出的花费交易,输出为给爱丽丝的0.5BTC。但是此时交易带有sequence,作用是组织当前交易进块,只有前向交易有1000个sequence确认时才能进块。

备注:可以看出,上面的第一个输出转移下来了,这样本来的总共1BTC被重新分配为两个0.5BTC。后面当进行新的交易的时候,思路就是对此进行修改。

④鲍伯构造Commitment Tx:C1b和RD1b,并交给爱丽丝签名。结构与C1a和RD1b是对称关系。

⑤鲍伯对C1a和RD1a进行签名,并将签名给爱丽丝;同理,爱丽丝对C1b和RD1b签名,完成后给鲍伯。此时,由于并未对Funding Tx进行签名,任何一方无法作恶,任何一方也不会有任何损失。

⑥双方均完成对Commitment Tx的签名并交换后,各自再对Funding Tx进行签名,并交换。此时,Funding Tx是完整的交易,广播即可。

以上过程就是RSMC创建的完整过程,注意,此处并没有涉及爱丽丝和鲍伯之间的交易,只是简单的创建了RSMC。

以上内容根据《区块链从数字货币到信用社会》修改而来。根据对过程的理解修改了图的一部分。添加了一些备注。

发布了10 篇原创文章 · 获赞 0 · 访问量 502

猜你喜欢

转载自blog.csdn.net/zr1213159840/article/details/104212034