【转载】比特币闪电网络之:微支付通道

闪电网络建立在微支付通道的基础上,要理解闪电网络就要首先理解微支付通道。

下面我们讨论一下微支付通道建立过程。

考虑如下场景:A 是用户,B 是一个数据提供商,B 需要把1个 100G 的大数据文件发给A,价值是100元。

为了降低风险,A 不想1次性把100元给 B,而是每接收到1G的数据,给 B 支付1元。

那就需要 100 次的交易。现在看一下,微支付通道如何解决这个问题:

生成但不发起证金交易(Funding Transaction)用户A生成1笔保证金交易,把100元打到 A、B 控制的多重签名的地址上面。这笔钱,需要 A,B 2个人同时出具私钥,才能把钱取出来。

生成并保存退款交易(Refund Transaction)用户 A 生成一笔以保证金交易为输入的退款交易,然后把交易发送给 B 让其签名,签名返回给 A。用户A验证保证金交易内容无误后,提交第1步生成保证金交易

关于保证金交易1、保证金交易的nLockTime为一个>0的值,也就是该笔交易是 Hold 在那的,不会立即生效。

2、保证金交易的输出有2个:A,100元;B,0元。

3、保证金交易的目的在于确保第一步生成的保证金交易不会被 B 用户锁死

不断发起承诺交易用户 A 拷贝一份退款交易,并调整输出为:A, 99元;B, 1元,签名并发送给 B。B 保留这个交易,不广播到网络上。这个交易的目的在于给用户 B 一元。B 收到用户承诺交易之后,把 1G 文件发送给 A;等 A 收到 B 的 1G 文件之后,重新调整输出,变成: A,98;B,2元。A,B 重新签名,A 再把这个交易发给 B 。如此重复直到最终结束,这些交易不会被广播到网络上,只在 A、B之 间传递。

发起清算交易(Settlement Transaction)在 A 收到最后的 1个G的文件,发起清算交易。这笔交易输出为:A,0元, B,100元。其nLockTime = 0,B 收到这个交易,广播到网络上,交易立即生效,B 收到100元。

微支付通道的巧妙之处

整个过程,只有第一步的保证金交易和最后一步的清算交易会广播到网络上,中间的交易都不会广播。

如何避免 B 跑路,A 的钱永远锁死在公共账号里面?这个是通过在确认退款交易无误后才会发送保证金交易来保证的。

如何避免 A 跑路,B 拿不到自己的钱?每个承诺交易都有 A,B 共同的签名。如果 A 跑路了,B 就把最新的交易广播到网络上,该交易被执行,B 就会拿到最新的钱。承诺交易有个特点,每1次交易 的nLockTime,都是逐级减小的,所以 B 把最新的交易广播到网络上之后,肯定会被最先打包,最先执行。先前其他的交易就不会被执行了。

如何避免 A、B 篡改交易内容?任何 1 笔交易里面,都是先让 B 签名,再返回给 A,A 再签名,再发给 B。每笔交易里面都有 A,B 的双重签名,B 改了交易内容,和 A 的签名就对不上了,反过来,A 改了交易内容,就和 B 的签名对不上了。所以 A,B 都不可能更改篡改交易内容!!

如何防止 A 双花这笔钱?在第2步里面,A拿到了退款交易,A把这个交易广播到网络上,拿回这100元,再花到别处呢?做不到。因为退款交易有nLockTime,处于锁定状态。并且这个nLockTime > 后面的任何1笔承诺交易的值。

微支付通道的不足

它是单向的,只能用来 A 给 B 转账。如果反过来,需要另外再建立1个 B 到 A 的通道。

nLockTime的限制。假设 B 跑路了,A 也要等到退款交易的nLockTime到期了,才能拿回自己的钱;同样,假设 A 跑路了,B 也要等到承诺交易的nLockTime到期了,拿到属于自己的钱。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 8,983评论 0 13
  • 作为bitcoin区块链的《圣经》,我终于在除夕当天翻译完成了。 然后今天对其做出了个人的注解。 毕竟英语太渣,翻...
    车圣阅读 973评论 0 1
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 12,865评论 0 7
  • 今天是“百人百天”第十期结束的日子,也是我自己“百日写作”结束的日子。 这是一个普通的周末。早晨我像往常一样5五点...
    鲁郡阅读 510评论 0 3
  • 第一章 空气中突然响起“啪”的一声。哈利惊了一跳。 “司长,紧急情况。你说过,只要有大规模的暴动或有黑魔法的踪迹,...
    Destinationity阅读 259评论 0 1