微支付通道

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

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

通道的建立过程如下:

1.詹姆斯支付1元到一个多重签名地址,签名采用2/2方式。我们称此交易为FTX(Fund Tx)。詹姆斯生成这个交易后,不广播。见下图。
备注:2/2方式签名,在此处可以理解为这个地址是詹姆斯和科比同时进行签名的地址。
闪电网络预备知识二:微支付通道

2.詹姆斯再构造一个赎回交易,称之为RTX(Refund Tx),其输入为FTX的输出,输出为詹姆斯自己。同时,该交易有锁定时间locktime,即在locktime后才会生效.见下图。<>的签名代表待填入
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7YuSZUlL-1580976483073)(attachment:image.png)]

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

4.詹姆斯看了买了一个花生,把构造好的空RTx给科比,广播出FTx,见下图
闪电网络预备知识二:微支付通道

5.詹姆斯再买一个花生,那么得再支付0.1元。于是詹姆斯再构造了另一笔交易PTx2;输入还是交易FTx,但是输出为两个地址,分别是詹姆斯地址0.8元,科比地址0.1元。詹姆斯对改交易签名,并将交易给科比。见下图。
闪电网络预备知识二:微支付通道

6.科比可以随时签名广播PTx2,当然他也可以随时签名广播PTx1。但是科比为了收益最大化,再詹姆斯给钱的情况下,科比总是愿意广播最后一个交易。
闪电网络预备知识二:微支付通道

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

微支付通道存在的问题:从上面过程来看,只支持钱的单向流动,结合图例来看就是智能从詹姆斯到科比,但是从科比到詹姆斯就不行。
从上面也可以看出,谁先选择广播,谁就会迟一点拿到自己的钱。
(以上内容改编自于书<区块链:从数字货币到信用社会>)

相关文章: