学习状态通道,Part-4:账本通道和虚拟通道
Part-1:支付通道
Part-2:App 定制型状态通道
Part-3:多跳交易/中心辐射通道
在开始读本博文之前,我建议你先读中心辐射支付通道(译者注:即同系列 Part-3),因为我们要用到其中的知识。
-我真的不知道该把这张图放在哪儿...-
读了这篇博文后,你会理解如何在中心辐射拓扑的两个节点之间创建一个虚拟通道,然后两个节点就能独立于这个拓扑结构进行通信。下图红色虚线就是虚拟通道的例子。
-红线表示虚拟通道-
账本通道
虚拟通道的实现有赖于账本通道。账本通道是双向支付通道的另一种说法。在下面的例子中,我们有一个 Alice 和 Bob 之间的账本通道,通道中 Alice 持有 5ETH,Bob 持有 3ETH。
打开一个虚拟通道
要打开一个虚拟通道,两个节点必须都与同一个连接点(中心)开通账本通道。(下图中)Ingrid 就是这个共同连接/中心,他分别和 Alice、Bob j建立了账本通道 y 和 z。下面我们展示了 Alice 和 Bob 之间的虚拟通道 X 会有的样子—— Alice 将持有 5ETH,Bob 将持有 3ETH(校对注:注意:红色的虚线代表尚未建立的虚拟通道,灰色的实线表示已经建立的账本通道;另请注意 Ingrid 在两边的余额)。
为了打开这个通道,Alice 和 Bob 都会给 Ingrid 发一个签过名的请求。当 Ingrid 收到双方签署的请求后,Ingrid 会同意这种变更,并更新与双方的账本通道。这个更新过程会将虚拟通道两端所需余额在每一个账本通道的对应端扣减——如下图所示:
-在每一个账本通道中,我们都在左端扣减 5ETH,在右端扣减 3ETH-
为了支持虚拟通道的创建,每一个现有的通道都从左边扣减了 5ETH,右边扣减 3ETH。到这儿,我们就不再需要 Ingrid 了,更新虚拟通道和更新账本通道是一样的(双方签署交换序列化的信息)。
- Alice 同意发给 Bob 1ETH -
- Bob 同意发给 Alice 3ETH(基于起始序列信息的)-
现在我们已经开启了一个虚拟通道,并且基于通道做了交易,下一部分就是设置关闭通道。
关闭虚拟通道
理想情况
为了关闭上面的虚拟通道,Bob 和 Alice 就要向 Ingrid 提交最新双方签名的信息。Ingrid 根据提交的信息更新双方各自的账本通道。注意,在 Alice 和 Bob 利用虚拟通道交互时,Ingrid 和 Alice、Bob 的账本通道是开着的,这就意味着,所有消息交互都不是在链上完成的。
-根据更新,每一个账本通道中都有 2ETH 从右端移到了左端-
离线/恶意破坏
假设 Bob 决定作恶,尝试骗取 Alice 的 ETH,他发了之前他们双方都签过名的消息给 Ingrid。当收到 Bob 发来的消息时,Ingrid 将会验证为这确实是 Alice 最新确认的消息。在 Alice 离线的情况下,Ingrid 将会开启一个争论期,在争论期内,她会提供虚拟通道确实打开的证明(即 Alice 签署的请求),以及虚拟通道中 Bob 提供给她的最新消息,(消息是由 Alice 和 Bob 共同签署的)。如果 Alice 在争论期内仍然不能上线,她和 Ingrid 之间的账本通道将会根据 Bob 提供的较早消息而更新,然后关闭。
-由于 Alice 不能上线,Bob 成功敲诈了 Alice -
监控服务
假如 Alice 预料到了自己会离线,因此把最终和 Bob 签署的消息发给了她的朋友 Carl,Carl 代表 Alice 把这个最终状态发给了 Ingrid ——那么 Carl 实际上就成为了一个提供监控服务的节点。这样虽然不能阻止 Alice 的账本通道被关闭,但可以强制让 Bob 提供一个更新的消息,或者同意 Carl 提交的状态。
-由于 Carl 代表 Alice 提交了最新状态,Bob 骗钱失败-
这种提供收费监管服务(就像 Carl)的策略在社区里很常见。不过我个人并不太喜欢这种方式,因为没有第三方服务也能达到这种效果——下一篇将会介绍。说到这,如果你想了解更多这种第三方的解决方式,我在下一节列出了几个相关文档。
谁在做虚拟通道?
本篇博文是由 Perun Channels 启发而来——他们做的真的是太棒了,并且基于他们的工作,已经产生了很多版本的类似通道。我最熟悉的一个就是“中心支付通道”,SpankChain、Nathan Ginnever(Finality Labs)还有 Arjun Bhuptani(Connext)就在做这些。
延伸阅读
虚拟通道
- Perun Channels Presentation
- Set Payment Channels Whitepaper
监管服务
- Pisa
- Celer Network
- Connext
Part-5:广义状态通道
链接: https://medium.com/blockchannel/state-channel-for-dummies-part-4-f3ba9d76c7c4
学习状态通道,Part-4:账本通道和虚拟通道相关推荐
- RDP协议之USB重定向虚拟通道
在RDP远程桌面协议中,USB设备虚拟通道扩展协议用于将USB数据包从终端服务器传输到终端客户端.终端客户端将USB数据包转发到物理USB设备.然后客户端在物理设备重新组装数据包后返回结果. 一般来说 ...
- 学习状态通道,Part-1:支付通道
在我的上一篇博文中,我简单地讨论了状态通道,以及为什么我认为它对于开启以太坊的大规模可用性来说,是至关重要的.在此,我打算通过几篇博文来推进一步,这些博文对 L4 团队用 Countfactual 做 ...
- 学习状态通道,Part-2:App 定制型状态通道
Part-1:支付通道 注:我决定改变这个系列的名称,把重点放在状态通道,而不是 Counterfactual 上,以便我们能够涵盖状态通道中所有的工作,而且不会将这两个概念混为一谈. 在我们开始之前 ...
- 学习状态通道,Part-3:多跳交易/中心辐射通道
Part-1:支付通道 Part-2:App 定制型状态通道 在我们开始之前,如果你还没有读过我的第一篇博文--菜鸟学习状态通道,Part-1,你一定得看一下,因为本博文是基于第一篇的.对此感兴趣的人 ...
- Go 学习笔记(24)— 并发(03)[通道特点、通道声明、通道发送/接收/关闭、单向通道]
1. 通道概念 chan 是 Go 语言里面的一个关键宇,是 channel 的简写,翻译为中文就是通道. goroutine 是 Go 语言里面的并发执行体,通道是 goroutine 之间通信和同 ...
- GMSL虚拟通道ID简介
Maxim千兆多媒体串行链路(GMSL) SERDES技术 通过一根电缆在两个端点之间提供高带宽和丰富的点对点互连,其长度可达15米. SERDES(序列化器/反序列化器)技术广泛应用于传感器和网络通 ...
- PCI-1906 基于PCI总线的32通道250Ksps 16位ADC和4通道16位DA数据采集卡
板卡介绍 PCI-1906是PCI 总线的多功能模入模出接口卡,可方便地应用于装有PCI 总线插槽的微机,具有即插即用(PnP)功能.其模拟模入模出信号均由卡上的37芯D 型插座与外部信号源及设备连接 ...
- 图像通道、Scalar、分离、合成通道
http://lib.csdn.net/article/opencv/33264 http://blog.csdn.net/laohu_tiger/article/details/17359777 h ...
- cmd 找不到java power 可以_高三总是找不到学习状态?这几个方法一定可以帮到你!...
众所周知,高中生学习压力大,因为学科增加,知识量大,难度加深,常常让很多学生找不到学习状态. 尤其进入高三阶段,随着高考的一步步临近,同学们进入到紧张的复习备考状态,你追我赶,于是有些同学感到竞争激烈 ...
最新文章
- nodejs安装、配置及开发工具
- Good Bye 2019 SZU cf集训C~D
- linux qt检测u盘热插拔,【QT】动态监测U盘插拔
- 缺少glibc指定版本的解决方案
- Incorrect string value: '\xF0\x90\x8D\x83...' for column 通用解决方案
- 已阻止网站自动通话怎么回事_如何实现百度快速收录网站与快速排名
- java 使用本机代理_Java与本机代理–他们所做的强大功能
- LINQ to CSV,一种类型安全,动态的高性能方法
- 微服务 前台调用后台的慢的原因_也只有阿里P8出身的他能把SpringCloud微服务架构商城项目整的这么干了...
- python 连接mysql视频教程_Python操作MySQL视频教程
- 设置内外网同时使用,重新配置路由
- [存档]CxServer系统
- office word ppt 无法打开, 一直处于安全模式,无法解除
- 左耳朵耗子、池建强、江南白衣、余晟、朱赟限时赠书,3000本好书速领!
- 基于NMF的推荐系统实例
- python刷今日头条访问量_Python 自动刷博客浏览量实例代码
- 博士生的你,择偶标准是什么?
- 计算机表格分类,什么是报表?它的类型有几种?
- 分享Everything下载安装地址和操作 步骤
- springcloud外卖订餐系统-day2
热门文章
- “服务主机本地系统占用高内存”,“已禁用IME”和“win8.1 wifi经常掉线”的解决方法
- 用计算机按出来星球坠落,抖音星球坠落特效怎么弄 摘下星星送给你
- DEBUG:plt图片不清晰问题
- html语言怎么做超链接,html中如何设置超链接的样式_WEB前端开发
- 这些屌毛总是给订阅号发黄x图,连夜肝了一个微信订阅号鉴黄机器人抵御~
- 华丽秒杀iOS 最流畅桌面TSF Shell UI试用体验
- 80后的12种最深寂寞!
- 有趣的超短python代码_神级 Coder 绝不犯的错误:为炫耀编出超短码
- 携手开发者 魅族开放平台筑梦成长
- 这座古城建成用了4000年,被毁仅用了4年