闪电网络的原理有点复杂,容易烧到脑,要小心了。

闪电网络由闪电通道构成,闪电通道就是一条条地用于点对点转账的通道,而建立闪电通道的前提是必须先有一个资金池。所以,本篇我们就以A和B之间的闪电通道为例,先拿“构建资金池”来做开胃菜。

所谓的资金池构建,其实就是A和B各将一些比特币(此例是各转2个)转到一个由他俩控制的2-2多重签名地址。可以把这个2-2多重签名地址看做第三方,A和B在这个第三方存一些比特币做保证金,为以后的相互转账提供基础。

如果A和B是互相信任的,那这事就好办,各自将比特币转到那个多重签名地址就可以了。但如果双方不信任,事情就麻烦一些。比如A担心将自己这份比特币转到多重签名地址后,B不转了,而且也不提供签名协助A将多重签名地址上的币转回给A,那这时候,A的这些比特币就永远卡死在那个多重签名地址了。虽然B这么做对自己也没半毛钱好处,但也不排除有人就是要干这种损人不利己的事。

那么,如何在A和B互不信任的情况下,构建起一个资金池呢?
如图:

第一步:A用A1的公钥和B用B1的公钥生成两个2-2多重签名地址,咱们暂且称它为“A1B1多重地址”(后面都沿用这种格式)和“B1A1多重地址”。多重签名地址咱们上篇详细讲了,稍微复习一下:所谓2-2就是指该多重签名地址是通过2个普通地址的公钥构建的,而且发起交易时需要2方的私钥同时签名才能生效。所以,这个多重地址既然是A和B创建的,自然也只受A和B控制。

注:这两个多重签名地址虽然都是由A1和B1生成,但是在生成的过程中,把A1放在前面,还是把B1放在前面,生成的是完全不一样的地址,所以,我们把A1放在前面生成的多重签名地址称为“A1B1多重地址”,把B1放在前面的称为“B1A1多重地址”。

第二步:A构造一笔交易,转账给B1A1多重地址2个比特币,但A仅仅是构造这笔交易而已,既没有对它签名,更没有广播到比特币网络。

第三步:A再构造一笔交易①,发起地址是B1A1多重地址,目的地址是A自己的比特币地址A1。这笔交易,有个特别设置:Seq=1000,也就是说,如果这笔交易广播出去,也必须要经过1000个区块(可以通过设置交易里的“锁定时间”字段来达到目的,详见0626的文章)的时间才能被打包。

第四步:A将交易①单独发给B,而不是广播到全网。A将交易①发给B的目的,是请B对这笔交易进行签名。

第五步:B收到交易①之后,发现这笔交易只不过是A把自己转到B1A1多重地址的币,再转回给自己。如果B诚心想合作,那就会用B1的私钥签了给A,如果B不签,那就到此为止,谁都没损失。

第六步:A收到B对交易①的签名后,再对B1签名过的交易①用A1签名进行测试,如果成功,说明B1的签名有效。

第七步:此时,A控制着交易①的主动权,而且交易①又是从B1A1多重地址转2个比特币给A。所以,A现在可以放心大胆地把第二步中的那笔交易进行签名广播了。因为即使现在B不合作,A也能拿回自己的比特币,只不过要等待一段时间而已。该步完成后,B1A1多重地址有了A转过来的2个比特币。

第八步:B也用类似的操作,完成对B1A1多重地址的2个比特币的充值。不过,对于B来说,似乎有个风险,因为A拥有B1对交易①的签名,如果B刚把2个比特币转到B1A1多重地址,A马上就发起一笔交易,用B1和A1签名,把这2个比特币转走,那怎么办?其实,仔细看看会发现,A的操作不会成功,因为新发起的这笔交易和交易①的发起地址和目的地址一样,但这两笔交易的“输入”不一样,所以这是两笔不同的交易,而B1的签名仅对交易①生效。

第九步:A和B各将2个比特币转给B1A1多重地址后,理论上来说,就已经完成了资金池的构建,但是,留下了一些隐患,因为A控制着交易①,B控制着交易②,所以最后做一步工作来清除隐患,那就是A和B共同发起一笔交易,将B1A1多重地址的比特币转到A1B1多重地址。此时,B1A1多重地址里没有比特币里,交易①和②也没啥意义了。

最后,A1B1多重地址才是崭新的用于闪电通道的资金池。

闪电网络(二):构建资金池相关推荐

  1. 超越白皮书8:穿云而过的闪电网络

    超越白皮书8:穿云而过的闪电网络 摘 要: 近年,随着比特币一步步迈入更多人的视野,其扩展性问题一直如影随形甚至日趋严重,已经成为笼罩在比特币头顶的一大朵乌云.为此学术界和产业界提出了各种解决方案,如 ...

  2. 人人都能成为闪电网络节点:第6章安装lnd

    决定安装lnd了,建议先烧柱香,拜拜中本聪,会减少些磨难和诡异. #C-lightning.LND和Éclair的关系和区别: 闪电网络驱动的基础技术区别在于编码语言.Éclair用的是Scala,L ...

  3. 饱受争议的闪电网络,能在2020年迎来大爆发吗?

    关于闪电网络: 简单来说,闪电网络是构建在比特币网络上的Layer2支付协议,用来解决比特币网络拥塞问题.其理念是,在区块链之外开通一条"绿色通道",将大量高频的.小额的交易在区块 ...

  4. 【原创】我所认识的银行业务之旅(资金池篇)

    "物来顺应,未来不迎,当时不杂,既过不恋"--曾国藩 资金池也称为现金管理,是银行正对大企业推出的一项集团资金管理的系统,将上下级树形账户树,按一定规则进行资金归集.请款,通过这颗 ...

  5. 机器学习笔记之深度信念网络(二)模型构建思想(RBM叠加结构)

    机器学习笔记之深度信念网络--模型构建思想 引言 回顾:深度信念网络的结构表示 解析RBM隐变量的先验概率 通过模型学习隐变量的先验概率 小插曲:杰森不等式(2023/1/11) 杰森不等式的数学证明 ...

  6. 荐阅 | 闪电网络当前的主要局限(二)

    编者注:本文为 Alex Bosworth 文章<Major Limitations of the Lightning Network>的第二部分,非常具体地谈到了闪电网络设计中的问题和开 ...

  7. Flalsh Lighting Network(闪电网络)

    注明:本文参考了如下链接: 原文链接 Understanding the Lightning Network, Part 1 Understanding the Lightning Network, ...

  8. 区块链-什么是闪电网络?

    目录:https://blog.csdn.net/qq_40452317/article/details/89646633 1. 引言 比特币网络的拥堵问题由来以久,关于扩容的争论也喋喋不休,在多次共 ...

  9. 聊一聊最近大火的闪电网络

    简介 最近,闪电网络的火炬传递活动,让闪电网络一下子从理论阶段,跃升成实践.作者年前在同事的分享中,学习了闪电网络的原理,感觉设计确实很巧妙,一旦大规模应用,能让btc实现秒级支付,真正让btc的世界 ...

最新文章

  1. 菜鸟学习.Net的感想!
  2. 使用internal(com.android.internal)和hidden(@hide)APIs – Part 5
  3. 25个视频神同步,还能给视频声音移花接木,谷歌开源最新自监督算法
  4. 阅读笔记: 凸包的例子(一)
  5. js复制数据IE,FF..浏览器兼容
  6. polybase配置 sql_Hadoop 的 PolyBase 配置和安全
  7. Android开发之EditText无法获取光标的问题
  8. 分享 2 个“捷径”,帮你 6 个月达到阿里 P7 水平
  9. 比特币白皮书 Bitcoin: A Peer-to-Peer Electronic Cash System
  10. 查询系统--基于Solr4.9.0实现
  11. Python 列表应用之“简易好友管理系统”
  12. GRPC入门使用及测试用例源码
  13. WiFi密码破解详细图文教程
  14. 坐标系ICRS与ITRS相互转换,时间系统及转换
  15. 拼多多参谋:拼多多隐私号是什么意思?拼多多隐私号怎么查看真实号码?
  16. php实现前后端完全分离
  17. 安卓电子书格式_全网免费电子书资源,都在这个神器里了
  18. 字节跳动2018校招前端面试题
  19. 仿淘宝天猫双11下拉倒计时领取豆子
  20. oracle 11g open_cursors 修改,修改open_cursors和session_cached_cursors的参数值

热门文章

  1. 微信小程序模板消息还能群发?无限制推送?
  2. ADAMS基础到测量 后处理 参数优化设计视频教程
  3. 华为HN-w19L装win10
  4. mysql5.7配置用户名密码_TP-Link路由器默认管理员密码是什么 路由器默认管理员密码介绍【详解】...
  5. 华为LTC销售流程变革经验分享:流程管理的评估指标和评估方法--华为BPR专家许浩明老师分享
  6. 11种常见的多变量分析方法
  7. mastercam铣刀的应用
  8. 终身受益的起点 (转)
  9. 传播的两种类型(包括NPS指标的定义)
  10. brew update 更新太慢