闪电网络预备知识二:微支付通道

微支付通道

首先在介绍微支付之前,说说我对于区块链世界的理解。我们可以这样认为:首先区块链世界是去中心化的,也就是说没有一个中心机构。在现实世界中,中心机构可以作为一种权威,比如银行,你转账通过银行,银行的记录证明了你的转账,这就是权威。但在区块链的世界里是没有这种中心的权威的,那怎么办呢?就是双方签名后广播,让大家都知道这件事,然后存到区块里,这样就形成了权威,同时也形成了区块链的可追溯。带着这样的想法去理解这些协议,可能更容易一些。

微支付通道的概念在2012年7月被首次提出,是解决小额度高频次场景的支付方案

微支付的基本原理:假设两个人名字为詹姆斯和科比,詹姆斯喜欢吃花生,科比是卖花生的,詹姆斯喜欢去科比家买花生,每个花生0.1元,假设詹姆斯每次就买一个花生,这样每次就得支付0.1元给科比。但是这样很麻烦,买十次花生就得支付十次。使用微支付后,这些交易就可以转变为两笔交易(任意数目的交易都可以转换成两笔交易,只要交易金额不超过存入的通道的金额就可以)。

通道的建立过程如下:

1.詹姆斯支付1元到一个多重签名地址,签名采用2/2方式。我们称此交易为FTX(Fund Tx)。詹姆斯生成这个交易后,不广播。见下图。
备注:2/2方式签名,在此处可以理解为这个地址是詹姆斯和科比同时进行签名的地址。
在这里插入图片描述

2.詹姆斯再构造一个赎回交易,称之为RTX(Refund Tx),其输入为FTX的输出,输出为詹姆斯自己。同时,该交易有锁定时间locktime,即在locktime后才会生效.见下图。<>的签名代表待填入
在这里插入图片描述

3.詹姆斯把构造好的RT下给科比,并让科比签名

4.詹姆斯看了买了一个花生,把构造好的空RTx给科比,广播出FTx,见下图
在这里插入图片描述

5.詹姆斯再买一个花生,那么得再支付0.1元。于是詹姆斯再构造了另一笔交易PTx2;输入还是交易FTx,但是输出为两个地址,分别是詹姆斯地址0.8元,科比地址0.2元。詹姆斯对改交易签名,并将交易给科比。见下图。
在这里插入图片描述

6.科比可以随时签名广播PTx2,当然他也可以随时签名广播PTx1。但是科比为了收益最大化,再詹姆斯给钱的情况下,科比总是愿意广播最后一个交易。
在这里插入图片描述

7.当科比广播最后一笔交易RTxn时,通道关闭。科比需要在交易RTx锁定期结束前关闭通道,否则詹姆斯可以在locktime后拿回他所有的钱

微支付通道存在的问题:从上面过程来看,只支持钱的单向流动,结合图例来看就是智能从詹姆斯到科比,但是从科比到詹姆斯就不行。
从上面也可以看出,谁先选择广播,谁就会迟一点拿到自己的钱。

(以上内容改编自于书<区块链:从数字货币到信用社会>)

发布了9 篇原创文章 · 获赞 0 · 访问量 438

猜你喜欢

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