雷电网络的101网络原理概述

什么是雷电网络

概述

Raiden网络是一种脱机缩放解决方案,用于在Ethereum块链中执行符合ERC20标准的令牌传输。 它是Ethereum的Bitcoin闪电网络版本,可实现近即时,低费用,可扩展和隐私保护的付款。

Raiden网络允许在参与者之间安全地转移令牌,而不需要全球共识。 这是通过数字签名和哈希锁定传输实现的,称为余额证明,通过先前设置的链接存款完全抵押。 这个概念,如图1所示,被称为支付渠道技术。 付款渠道允许两个参与者之间几乎无限制的双向转移,只要其转账的净额不超过存入的令牌。 这些传输可以立即执行,而不需要实际的块链本身的任何参与,除了最初的一次性链接创建和最终关闭通道。

雷电余额证明是通过以太坊实现的强制绑定合约。数字签名确保任何一方都不能退出其中包含的任何价值转移,只要至少有一个参与者决定将其提交给该块。 由于除了两位参与者之外的任何其他人都可以访问存入付款渠道的智能合同中的令牌,因此Raiden余额证明与在线交易具有约束力。

Raiden的真正实力在于其网络协议。 由于开通和关闭两个对等方之间的支付渠道仍然需要进行链式交易,所以可能的所有对等体之间创建渠道将变得不可行。 然而,事实证明,如果通过连接双方的渠道网络至少存在一条路线,则您不需要付款人和收款人之间的直接付款渠道,如图2所示。该网络及其相关联 路由和互锁通道传输协议称为Raiden网络。

此外,与链式交易相比,支付渠道转移不需要任何费用。 然而,较大网络中的中介机构将以低百分比收取费用,为网络提供自己的渠道,从而导致复杂的路由和竞争性渠道费市场。 Raiden协议旨在通过使用协议级功能和可选的辅助服务来促进此市场。

Raiden网络的好处

Ethereum块链中的任何交易都取决于交易所需的计算资源。 因此,费用在很大程度上与实际的转移价值无关,无论是ERC20代币还是Ether本身。 这使得连锁交易最适合中等到大的价值转移,但对于几美元或甚至几分之一的交易的交易来说,这不足为怪。

转移是以一个单独的方式发送还是分割成千上万的小额支付并不重要。 几乎没有任何转移太小,无法通过Raiden网络有效发送。

Raiden转账也是即时的,因为一旦你收到一个链下Raiden转账,你可以放心,转让的价值现在属于你。 相比之下,确认链上转移取决于阻止时间和矿工从待处理交易池中选择交易的时间。 而不是等待下一个块来确认交易,使用Raiden传输,您可以通过互联网发送,接收和确认传输,就像发送聊天消息一样快。

除了费用之外,区块链还有另一个固有的问题,Raiden有助于解决:可扩展性。 大多数当前块链的容量限制在固定或半固定限制,而不管用户群的大小。 与之形成鲜明对比的是,Raiden网络的容量与用户数量呈线性关系,导致了一个高效和面向未来的分散式转移网络。

Raiden网络的局限性

关于你是否应该使用Raiden令牌转移而不是一个链上交易的问题的答案其实就是这样的:“为什么不呢? 然而,有一些使用案例,其中一个链上的交易是一个比Raiden转移更好的选择。

Raiden转移需要您的一些令牌在付款渠道的一个生命周期中被锁定在一个智能合约中。 同样只是从ATM取出少量钱,你不想在付款渠道中锁定太多的价值。 一旦您从ATM提款,您就不能将其用于任何其他方面,如在线支付或电汇。 同样地,由于网络中的每个参与者可能同时打开多个频道,预计支付渠道存款将相对较小,从而难以通过频道网络传输大量的令牌。

怎么运行的

Raiden频道的生命周期

为了确保参与者偿还欠款,在付款渠道的生命周期中,令牌必须被安全锁定在智能合约。 该存款确保令牌只能用于向渠道合作伙伴发送和接收令牌,直到该通道最终被任何一方参与者关闭,从而阻止双方将其令牌双重支付给其他节点。 管理Raiden频道的过程如图3所示。

一旦创建了一个频道,参与者可以自由地发出可以自动认证的检查。 然而,不是跟踪所有检查,而是每个节点只保留最新的一个副本。余额证明包含发送给某个参与者的所有Raiden转账的最终总和,由发件人数字签名。 由于每个频道都有两个参与者,所以它总是维护其中的两个,并且一起它们基本上是频道的栏选项卡,如果你愿意的话。 多个信用来回交换,改变参与者之间的总额,甚至可能在过程中多次重新平衡频道。

最后,当一方决定解除对方的余额时,要求或支付未结余额,则可以随时通过向智能合同提交余额的选择证明来关闭渠道。 另一个参与者 - 没有选择关闭频道的参与者 - 现在必须提供自己的平衡证明,如果没有收到转账,则不做任何事情。 双方提交余额证明后,现在可以提取存款。 任何人都可以触发此撤回,包括两名与会者以外的地址。

如果第二名参与者没有及时提交余额证明,则假设其他参与者没有收到任何转让,余额将根据最终参与者的证明进行分配。 这样一来,Raiden就声称每个支付渠道参与者总是可以访问他们的资金。

需要一个网络

如介绍所述,付款渠道的创建和结算必须在块上执行。 因此,每个潜在目标创造一个新的渠道是不合理的,不可行的。 相反,Raiden创建了一个渠道网络,每个参与者通过支付渠道网络与其他人进行过渡性连接。

让我们假设Alice想给令牌发送给大卫,如图4所示。她首先必须找到通过她的连接到大卫的网络的路由说明。 然后,沿着该路径的每个参与者必须进行合作,以便通过从爱丽丝到大卫的路线来汇出付款。 参与者通过将付款转发到路径中的下一跳,向Alice提供自己的频道。 加密哈希锁可以防止所有这些中间转移信用,直到David向Alice确认他已经收到付款。 一旦爱丽丝决定解除付款,她就给锁定大卫的钥匙。 如果大卫现在要在没有关闭频道的情况下要求付款,他必须将钥匙交给路线上的最后一个调解对象,而后者又需要通过它来申请自己的付款。

由于该路线上的每个参与者都有激励立即解锁其付款,因此该密钥自然地通过信道路由向后传播回Alice。 所有锁定传输使用爱丽丝的密钥都在链上赎回。 然而,参与者最好将锁定的转移价值合并为标准的平衡证明。 因此,在接收到密钥之后,中间传输的每个发送者签署包括锁定传送值的新的平衡证明,并使锁本身无效,干净地同步信道状态。 多功能转接功能现已完成。

很可能,网络中的同行不会提供自己的渠道作为中介免费使用。 毕竟,转移将导致额外的网络流量和支付渠道的不平衡。 为此,Raiden网络的参与者预计将要求收费来补偿他们的频道到网络。 这些费用也可能用于激励平衡付费渠道的平衡,从而实现长期的支付渠道。

由于所产生的费用市场将具有竞争力,实际的加工成本相对较低,因此预计成本将低于连锁交易的数量级。

隐私

由于大部分Raiden协议都是在非正式协议下执行的,所以转移主要是私有的。渠道余额被公众隐藏,直到参与者解决和撤出资金,净渠道余额被揭露。然而,当他们这样做时,渠道余额可能已经被通过连接到相同节点的这个和其他渠道的其他中介转移模糊了,这使得很难追溯到链接的Raiden转移。用户甚至可以提供付费服务来人为重新平衡和模糊渠道余额,以提高隐私级别。在消息层,Raiden将确保保护通过网络传输的流量和敏感数据。消息传递服务将从公众中隐藏参与者的IP地址,从而防止任意节点受到DoS攻击。另外,预先计算的路由可以使用洋葱路由协议,其中参与转移的中间节点无法知道Raiden传送的目标地址。该协议仅显示到每个参与者的路由中的下一个频道。

结论

Raiden网络使用双向令牌支付渠道将参与者直接相互连接。 最重要的是,它提供了通过信道路由中继令牌传输的协议,以利用自然信道网络拓扑,而不是直接尝试连接每个参与者。 使用加密散列锁确保多跳转接,以确保中介转移成功或被所有参与者完全拒绝

Raiden网络旨在使用上述技术,基于Ethereum ERC20令牌提供近即时,低费用,可扩展和隐私保护的支付,并扩展当前的在线限制。

参考资料

  • https://raiden.network/101.html

什么是雷电网络

概述

Raiden网络是一种脱机缩放解决方案,用于在Ethereum块链中执行符合ERC20标准的令牌传输。 它是Ethereum的Bitcoin闪电网络版本,可实现近即时,低费用,可扩展和隐私保护的付款。

Raiden网络允许在参与者之间安全地转移令牌,而不需要全球共识。 这是通过数字签名和哈希锁定传输实现的,称为余额证明,通过先前设置的链接存款完全抵押。 这个概念,如图1所示,被称为支付渠道技术。 付款渠道允许两个参与者之间几乎无限制的双向转移,只要其转账的净额不超过存入的令牌。 这些传输可以立即执行,而不需要实际的块链本身的任何参与,除了最初的一次性链接创建和最终关闭通道。

雷电余额证明是通过以太坊实现的强制绑定合约。数字签名确保任何一方都不能退出其中包含的任何价值转移,只要至少有一个参与者决定将其提交给该块。 由于除了两位参与者之外的任何其他人都可以访问存入付款渠道的智能合同中的令牌,因此Raiden余额证明与在线交易具有约束力。

Raiden的真正实力在于其网络协议。 由于开通和关闭两个对等方之间的支付渠道仍然需要进行链式交易,所以可能的所有对等体之间创建渠道将变得不可行。 然而,事实证明,如果通过连接双方的渠道网络至少存在一条路线,则您不需要付款人和收款人之间的直接付款渠道,如图2所示。该网络及其相关联 路由和互锁通道传输协议称为Raiden网络。

此外,与链式交易相比,支付渠道转移不需要任何费用。 然而,较大网络中的中介机构将以低百分比收取费用,为网络提供自己的渠道,从而导致复杂的路由和竞争性渠道费市场。 Raiden协议旨在通过使用协议级功能和可选的辅助服务来促进此市场。

Raiden网络的好处

Ethereum块链中的任何交易都取决于交易所需的计算资源。 因此,费用在很大程度上与实际的转移价值无关,无论是ERC20代币还是Ether本身。 这使得连锁交易最适合中等到大的价值转移,但对于几美元或甚至几分之一的交易的交易来说,这不足为怪。

转移是以一个单独的方式发送还是分割成千上万的小额支付并不重要。 几乎没有任何转移太小,无法通过Raiden网络有效发送。

Raiden转账也是即时的,因为一旦你收到一个链下Raiden转账,你可以放心,转让的价值现在属于你。 相比之下,确认链上转移取决于阻止时间和矿工从待处理交易池中选择交易的时间。 而不是等待下一个块来确认交易,使用Raiden传输,您可以通过互联网发送,接收和确认传输,就像发送聊天消息一样快。

除了费用之外,区块链还有另一个固有的问题,Raiden有助于解决:可扩展性。 大多数当前块链的容量限制在固定或半固定限制,而不管用户群的大小。 与之形成鲜明对比的是,Raiden网络的容量与用户数量呈线性关系,导致了一个高效和面向未来的分散式转移网络。

Raiden网络的局限性

关于你是否应该使用Raiden令牌转移而不是一个链上交易的问题的答案其实就是这样的:“为什么不呢? 然而,有一些使用案例,其中一个链上的交易是一个比Raiden转移更好的选择。

Raiden转移需要您的一些令牌在付款渠道的一个生命周期中被锁定在一个智能合约中。 同样只是从ATM取出少量钱,你不想在付款渠道中锁定太多的价值。 一旦您从ATM提款,您就不能将其用于任何其他方面,如在线支付或电汇。 同样地,由于网络中的每个参与者可能同时打开多个频道,预计支付渠道存款将相对较小,从而难以通过频道网络传输大量的令牌。

怎么运行的

Raiden频道的生命周期

为了确保参与者偿还欠款,在付款渠道的生命周期中,令牌必须被安全锁定在智能合约。 该存款确保令牌只能用于向渠道合作伙伴发送和接收令牌,直到该通道最终被任何一方参与者关闭,从而阻止双方将其令牌双重支付给其他节点。 管理Raiden频道的过程如图3所示。

一旦创建了一个频道,参与者可以自由地发出可以自动认证的检查。 然而,不是跟踪所有检查,而是每个节点只保留最新的一个副本。余额证明包含发送给某个参与者的所有Raiden转账的最终总和,由发件人数字签名。 由于每个频道都有两个参与者,所以它总是维护其中的两个,并且一起它们基本上是频道的栏选项卡,如果你愿意的话。 多个信用来回交换,改变参与者之间的总额,甚至可能在过程中多次重新平衡频道。

最后,当一方决定解除对方的余额时,要求或支付未结余额,则可以随时通过向智能合同提交余额的选择证明来关闭渠道。 另一个参与者 - 没有选择关闭频道的参与者 - 现在必须提供自己的平衡证明,如果没有收到转账,则不做任何事情。 双方提交余额证明后,现在可以提取存款。 任何人都可以触发此撤回,包括两名与会者以外的地址。

如果第二名参与者没有及时提交余额证明,则假设其他参与者没有收到任何转让,余额将根据最终参与者的证明进行分配。 这样一来,Raiden就声称每个支付渠道参与者总是可以访问他们的资金。

需要一个网络

如介绍所述,付款渠道的创建和结算必须在块上执行。 因此,每个潜在目标创造一个新的渠道是不合理的,不可行的。 相反,Raiden创建了一个渠道网络,每个参与者通过支付渠道网络与其他人进行过渡性连接。

让我们假设Alice想给令牌发送给大卫,如图4所示。她首先必须找到通过她的连接到大卫的网络的路由说明。 然后,沿着该路径的每个参与者必须进行合作,以便通过从爱丽丝到大卫的路线来汇出付款。 参与者通过将付款转发到路径中的下一跳,向Alice提供自己的频道。 加密哈希锁可以防止所有这些中间转移信用,直到David向Alice确认他已经收到付款。 一旦爱丽丝决定解除付款,她就给锁定大卫的钥匙。 如果大卫现在要在没有关闭频道的情况下要求付款,他必须将钥匙交给路线上的最后一个调解对象,而后者又需要通过它来申请自己的付款。

由于该路线上的每个参与者都有激励立即解锁其付款,因此该密钥自然地通过信道路由向后传播回Alice。 所有锁定传输使用爱丽丝的密钥都在链上赎回。 然而,参与者最好将锁定的转移价值合并为标准的平衡证明。 因此,在接收到密钥之后,中间传输的每个发送者签署包括锁定传送值的新的平衡证明,并使锁本身无效,干净地同步信道状态。 多功能转接功能现已完成。

很可能,网络中的同行不会提供自己的渠道作为中介免费使用。 毕竟,转移将导致额外的网络流量和支付渠道的不平衡。 为此,Raiden网络的参与者预计将要求收费来补偿他们的频道到网络。 这些费用也可能用于激励平衡付费渠道的平衡,从而实现长期的支付渠道。

由于所产生的费用市场将具有竞争力,实际的加工成本相对较低,因此预计成本将低于连锁交易的数量级。

隐私

由于大部分Raiden协议都是在非正式协议下执行的,所以转移主要是私有的。渠道余额被公众隐藏,直到参与者解决和撤出资金,净渠道余额被揭露。然而,当他们这样做时,渠道余额可能已经被通过连接到相同节点的这个和其他渠道的其他中介转移模糊了,这使得很难追溯到链接的Raiden转移。用户甚至可以提供付费服务来人为重新平衡和模糊渠道余额,以提高隐私级别。在消息层,Raiden将确保保护通过网络传输的流量和敏感数据。消息传递服务将从公众中隐藏参与者的IP地址,从而防止任意节点受到DoS攻击。另外,预先计算的路由可以使用洋葱路由协议,其中参与转移的中间节点无法知道Raiden传送的目标地址。该协议仅显示到每个参与者的路由中的下一个频道。

结论

Raiden网络使用双向令牌支付渠道将参与者直接相互连接。 最重要的是,它提供了通过信道路由中继令牌传输的协议,以利用自然信道网络拓扑,而不是直接尝试连接每个参与者。 使用加密散列锁确保多跳转接,以确保中介转移成功或被所有参与者完全拒绝

Raiden网络旨在使用上述技术,基于Ethereum ERC20令牌提供近即时,低费用,可扩展和隐私保护的支付,并扩展当前的在线限制。

参考资料

  • https://raiden.network/101.html

【以太坊】雷电网络的101网络原理概述相关推荐

  1. 接入以太坊(Ethereum)测试网络

    什么是测试网络 以太坊为了方便智能合约的开发.学习和测试,开启了一条全新的区块链,与主网络特性相同,但测试网络中的以太币价值更低,也更容易得到.这样不至于在主网络上开发出现 BUG 造成以太币的损失. ...

  2. 以太坊源码阅读3——MPT原理

    以太坊源码阅读3--MPT原理 介绍 MPT(Merkel-Patricia Tree),翻译为梅克尔-帕特里夏树 MPT提供了一个基于密码学验证的底层数据结构,用来存储键值对( key-value) ...

  3. 关于以太坊 雷电网络 的思考

    作者:林冠宏 / 指尖下的幽灵 掘金:juejin.im/user/587f0d- 博客:www.cnblogs.com/linguanh/ GitHub : github.com/af9133374 ...

  4. python 节点_python在以太坊开发中节点和网络如何选择?

    以太坊节点 为什么我需要连接到一个节点? 以太坊协议定义了一种方法,用于人们通过网络与智能合约相互作用.为了获得关于合约.账户余额和新交易状态等最新的信息,协议需要与网络上的节点进行连接.这些节点不断 ...

  5. 以太坊合约实现批量转账(空投)原理解析

    前几天fcoin的空投把eth堵得不成样,看见好几个竟然是一个个地transfer转账,但是实际上如果用合约实现批量转账,不管是成功率还是效率都会高很多,还省gas. 本文讲解如何用合约实现批量转账 ...

  6. 【动态】雷电网络预览:以太坊扩容解决方案发布开发者演示

    点击上方 "蓝色字" 可关注我们! 暴走时评:以太坊雷电网络类似比特币闪电网络,都是区块链扩容方案,部分解决方案就是将大部分交易转到链下进行,从而降低费用,提高交易处理速度.目前雷 ...

  7. 深入理解以太坊 P2P 网络设计

    前言 在设计公链时,节点与节点之间建立连接需要 P2P 协议,从而实现数据的同步,于此同时上层应用还需要封装一些通信逻辑,比如节点之间的区块同步.交易数据同步等. 本篇文章将对 P2P 网络发展进行简 ...

  8. LEARNING_CRYPTO|搭建个人以太坊测试网络+测试Solidity部署(Ganache+truffle)

    前言: 最近在看这本书:<精通以太坊:开发智能合约和去中心化应用> 在看书和找资料的过程中发现了一个问题,我的这本书代码有点旧,C语言可能二三十年之前的书都可以看,这本书出版才没几年,So ...

  9. 玩转以太坊(Ethereum)的测试网络

    创世区块 众所周知,区块链是一个类似于链表的结构,每一个区块都具有唯一的Hash值,后一个区块通过记录前一个区块的Hash值,来表明父子关系.一条区块链可以无限延伸,然而却一定要有一个开端,一个让这条 ...

最新文章

  1. javascript Date 格式化
  2. delete表1条件是另一个表中的数据,多表连接删除(转)
  3. df 命令查看linux磁盘空间
  4. bilibili源码_selenium+phantomjs爬取bilibili
  5. 吴恩达的2021回顾,这些大事件影响了AI这一年
  6. ReactJS入门之环境搭建以及编写HelloWorld程序
  7. 网狐棋牌(四) TimerEngine
  8. linux环境下安装多个任意版本的python环境
  9. 手机壁纸图片源码自动采集美图网
  10. 程序员的进阶课-架构师之路(7)-树的概念
  11. C# 编程规范 (coding standard)
  12. ec11编码器c语言程序,EC11编码器识别程序——有时不准确,请达人指点
  13. php封装一个异常类,php封装一个异常的处理类
  14. JUC与JVM并发编程学习笔记02
  15. Android 开源控件
  16. BUUCTF刷题记录(持续更新中~)
  17. python批量识别二维码图片_python+selenium 识别二维码
  18. 新浪云python开发_Python开发入门与实战17-新浪云部署
  19. document 使用方法介绍
  20. 链家地产改名链家 转型房产O2O

热门文章

  1. sql server 函數
  2. Unhandled Exception:System.DllNotFoundException: Unable to load DLLquot;**quot;:找不到指定的模块
  3. -moz、-ms、-webkit, -o各什么意思
  4. 计算机提示无法验证发布者,win10提示无法验证发布者所以windows已阻止此软件的解决方法【图文教程】...
  5. php 制作在线音乐网站,音乐网站程序,手把手教会你做音乐“网站”
  6. 像素是什么意思?一个像素有多大?告诉你像素和分辨率的关系!
  7. vue入门笔记(三)
  8. cmaq安装教程linux,CMAQ编译和安装
  9. java实现斗地主发牌案例简单易懂
  10. Java web学习文档