这一篇我们来看看基于智能合约的雷电网络机制有些什么特点。
首先,因为它是基于智能合约,所以能实现比闪电网络的HTLC更复杂的智能条件。可以这么说,HTLC的哈希锁机制只是雷电网络能实现的智能条件之一。
其次,雷电网络可以实现一个叫“组合锁”的功能。
在闪电网络中,HTLC的解锁条件是,收款人能否在时间到期之前出示符合哈希值的秘密。秘密由收款人和付款人设置都可以,不过一般由收款人设置,然后将秘密的哈希值发送给付款人。也就是说,在闪电网络中,假如A通过HTLC的方式转账给B,他们之间只会有一个单方向的秘密。这就给HTLC的应用造成了一些局限。

考虑下面的场景。
A利用HTLC通道,本来是通过中介C给B转账,但现在由于某些突发原因,A不能或不想通过C转了,比如C出现故障离线了。这时,如果原来的HTLC没有到期,A要换路径的话,会面临很大的风险。因为B在通过新路径拿到币后,可以再向C透露秘密,然后A在原来那条路径锁定的代币就会被C拿走,然后C再跟B分赃,而A就相当于支付了两次。

雷电网络为类似的场景设置了由三把锁的组成的组合锁,来避免这个问题。这三把锁分别是:
1、重试哈希锁:重试哈希锁的秘密是付款人设置的,顾名思义,这把锁在付款人想改变付款路径的时候,可重新生成;
2、收据哈希锁:收据哈希锁的秘密是收款人设置的;
3、时间锁:其实就是付款人设置的到期时间。

从上面可以看出,时间锁跟HTLC的锁定时间一样,不同的是,HTLC里只有一个方向的锁,但在雷电网络这里,两个方向都设置了锁。在利用组合锁的交易里,在时间锁到期前需要收款方同时提供两个方向的锁的秘密,也就是重试哈希锁和收据哈希锁的秘密,才能收到币。

我们来看看A利用组合锁通过C转账给B的交易流程:
第一步:收款人B生成收据哈希锁,并发送给A,自己保留收据哈希锁的秘密S1。
第二步:付款人A生成重试哈希锁,并使用收据哈希锁和自己的重试哈希锁构造交易,发给C,A自己保留重试哈希锁的秘密S2。
第三步:中间人C也利用收据哈希锁和重试哈希锁向B发起交易。
第四步:A确认以上过程无误后,向B提供秘密S2。
第五步:B现在拥有秘密S1和S2,就可向C出示,然后解锁转账,获得代币。C再将两个秘密向A出示,解锁获得代币。

这个机制的关键就是A可以利用秘密S2控制最终的转账动作。这样,当A想换路径时,直接换就是了,因为B和C手中没有S2,无法获取老通道的币。

最后,我们来说说雷电网络的一个缺点。
闪电网络结束通道时,双方可以签名构造一笔交易把多重签名地址里的币分了,好聚好散。但在雷电网络里,双方的每一次雷电交易,都需要双方签名,只不过每次的序列号会增加,最后结束通道时,双方也只有一个办法,那就是其中一个将最新序列号的信息提交到智能合约,然后通过智能合约分币(因为它不能像闪电通道一样,双方签名就可以直接发起链上交易)。
现在问题来了,假如最后一笔雷电交易是A转币给B,但A却将倒数第二笔交易的信息提交给合约,那A就会拿了B的币。为了避免这个问题,信息广播后,会设置一段锁定时间,如果锁定时间到期,B没有提供更新的信息,那么就按A提交的信息分币。但如果B正好掉线了,明明有更新的信息,但就是没办法提交呢?那就没办法了。所以,这是使用雷电网络时的一大风险,务必保持在线。

雷电网络(二):掌握雷电网络的特点 | 区块链技术博客相关推荐

  1. 第10讲 | 深入区块链技术(二):P2P网络

    在上一篇文章中,我大致讲解了一下区块链技术的几个核心要素.P2P网络协议.分布式一致性算法(共识机制).加密签名算法.账户与存储模型.今天我们就来看看区块链技术的第一个核心要素:P2P网络. 如果我们 ...

  2. IBM推出跨境支付区块链网络,企业级区块链技术进一步升级

    周一,IBM公布了一个应用于跨境支付的区块链网络,这也是首个同类型的国际支付网络. "这标志着企业区块链应用实践进化到了一个新的阶段."IBM全球区块链市场开发副总裁Jesse L ...

  3. 《从PPTV网络视频,到PPIO区块链分布式存储》 -- 同济创业谷PPIO CodeTalks区块链技术分享会

    摘要:2019年11月26日,同济创业谷与 PPIO CodeTalks 联合举办了<创新X - 区块链与创新创业>区块链技术分享会,本期我们为读者带来主题分享 -- <从PPTV网 ...

  4. 【AI TOP 10】马化腾:AI技术沦为网络黑产新工具;网易区块链项目被传夭折; 人工智能可以让狗跟人说话...

    产业观察 马化腾:AI技术沦为网络黑产新工具 SpaceX的龙飞船完成补给任务成功返回地球 松下或与特斯拉在中国建超级电池工厂 英特尔:修复芯片漏洞的补丁也有漏洞 Facebook:调整信息流市值一夜 ...

  5. 【区块链技术工坊27期实录】李庆华:HPB底层P2P网络实践

    1,活动基本信息 1)题目: [区块链技术工坊27期]HPB底层P2P网络实践 2)议题: HPB芯链是融入硬件加速引擎的全新体系架构,打造基于BOE硬件加速芯片驱动的高性能公链.作为开放式公链,任何 ...

  6. Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园

    Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园

  7. 微软联手埃森哲打造基于区块链技术的数字化ID网络

    北京时间6月20日早间消息,埃森哲和微软正在联手打造一个使用区块链技术的数字化ID网络,这是由联合国提供支持的一个项目的部分内容,旨在向全球范围内没有官方凭证的11亿人提供合法的身份证明. 这两家公司 ...

  8. 基于区块链技术的数据安全共享网络体系研究_基于区块链技术的用户信息隐私保护与共享方案...

    随着互联网信息技术的飞速发展,网络数据量迅猛增长,不可避免的数据隐私保护成为用户关注的重点.在金融领域,经历了纸质信息到电子用户交易档案的转变,用户使用云服务器来存储个人数据,但是交易数据包含有众多的 ...

  9. Web3.0初探:一个基于区块链技术、用户主导、去中心化的网络生态

    Web3.0初探 一个基于区块链技术 用户主导.去中心化的网络生态 Web3.0:致力打造一个基于区块链技术.用户主导.去中心化的网络生态.在Web3.0中,用户为满足自身需求进行交互操作,并在交互中 ...

最新文章

  1. 以太坊节点布置(4) geth节点互联
  2. Java8 lambda函数式编程
  3. VMware虚拟机VMDK 快照 数据恢复成功
  4. 在.NET中使用SMTP发送邮件
  5. js 全屏 退出全屏
  6. Effective Java -- 思维导图
  7. 计算1到100的整数和
  8. Warning: 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/' already解决
  9. Linux嵌入式开发_主设备号与次设备号详解
  10. 论文笔记:微表情识别综述1
  11. NVIDIA显卡驱动程序更新失败解决记录
  12. Linux中命令行中EOF的用法
  13. 网络设置里计算机为什么有两个字,一计算机网络操作题.doc
  14. excel表格修改时间/时间加减
  15. 整理一些除了Google Adsense以外比较适合英文站的国外广告联盟
  16. MODBUS TCP/IP通信协议及测试方法
  17. 机器学习7——线性回归
  18. oracle11g rac转换单机,oracle11g rac RMAN备份恢复至单机
  19. 属于python语言中合法的二进制整数是_以下选项属于 Python 整数类型的是( )
  20. busybox的编译使用及安装

热门文章

  1. 研究生英语期末复习(Unit1)
  2. TM1637芯片驱动数码管 – play with TM1637 seven segment display driver
  3. IDEA2020安装教程
  4. 使用PHP做一个网站访问IP记录功能
  5. 魏德米勒端子eplan宏_Eplan部件库和宏全集
  6. Glyphs App Essential Training Glyphs App基础教程 Lynda课程中文字幕
  7. cond怎么读_cond condition是什么意思
  8. 用Python实现微信公众号WCI指数计算器
  9. UEStudio V17.00.0.25 免费版 代码编辑器
  10. 服装行业要渡“疫情劫”,赢家时尚凭什么成为增长样本?