以太坊的Raiden Scaling解决方案

Blockchain提供广泛的杀手级应用,因为它们的容量有限,不支持全球采用。块大小不足,高费用和耗时的确认导致了当前正在减慢网络速度的可扩展性问题。

在可扩展性和解决方案方面,区块链技术的这一方面不乏材料。因此,我们聘请了我们的专家来分享他们的知识、阅读和学习。

可扩展性

与以太坊相比,比特币网络能够进行更少的交易:更确切地说,每十分钟一次交易,这导致大量交易等待用户确认。目前,以太坊网络可以在20秒内执行一个块。这似乎是一个可以忽略不计的时间;但是,作为日常支付平台采用它仍然不够。在广泛采用的情况下,网络将需要每秒处理数十万个交易。此外,要在区块链上采用日常支付,还需要修复其他几个方面,例如交易成本和确认时间。

交易成本

当节点将交易发送到交易池时,系统定义用户必须为要确认的交易支付的最小gas(交易成本)。此外,节点可以增加gas以获得更快的确认。gas费较高的交易位于等候名单的首位。因此,最终,对于无力支付更多gas的节点,这成为时间问题。

确认时间

任何区块链网络的容量目前都是有限的,因为在节点可以确认块中的交易之前,它们需要通过解决数学问题来挖掘它。只有在其中一个节点设法解决难题后,社区才能确认此块中的交易。验证后,交易就会成为分布式分类帐的一部分。所有这些行动都需要时间,有时,从交易到确认的路线可能需要几天时间。当然,确认时间取决于gas。如果煤气低于平均水平,矿工不会处理区块;从字面上看,gas是矿工的利润。

可扩展性解决方案

用户可以选择多种选择,从SegWit等软叉和SegWit2z等硬叉开始。其次是Lightning Network,Plasma,Plasma Cash和Raiden Network。在这里,应用程序可以提供每种解决方案为市场提供的全貌。

SegWit和SegWit2x

比特币上的隔离见证解决方案是在2016年出现的,当时加密社区讨论了可扩展性问题以及增加块大小带来的机会。SegWit提供将签名移动到交易代码的末尾,这将显着减少交易的大小并重新加载网络。SegWit的块大小增加到2MB,而硬叉SegWit2x建议将块扩展到4MB。

但是,最终,社区没有采用任何解决方案。

闪电网络Lightning

所有可扩展性解决方案都旨在重新加载等待确认的交易列表,比特币Lightning就是这种情况。这是一个脱链网络,允许在节点之间创建直接支付渠道,以实现便宜,快速的交易。

为了在两个节点之间打开支付渠道,他们为具有多签名的钱包贡献了均匀的金额。该总和将定义该信道内允许传输的最大总和。闪电网络的最大优势是:

  • 没有交易费。
  • 无需网络确认交易。

因此,交易是免费和即时的。此外,当节点决定关闭他们的信道时​​,他们可以收回他们的钱。

唯一需要收费的案例是在比特币闪电中建立一个网络。当A和B之间有直接支付渠道,B也有C渠道时,如果A想要支付C,他们就不必开通新渠道。A可以要求B以一定的费用向C汇款。

在没有相互协议的情况下没有机会退出渠道这一事实确保了网络的安全性。因此,没有对方的确认,任何参与者都不能退出和/或窃取捐款。

Lightning上的节点之间进行的任何交易都不会共享到区块链,除了节点在打开其信道时创建的开放交易。

比特币闪电网络是那些有财务关系,需要经常互相支付,并且需要便宜和准时交易的各方的完美解决方案。但是,Lightning Network仅在比特币区块链上运行。

Plasma

比特币网络并不是唯一一个试图应对可扩展性问题的网络。以太坊无法将支付系统与Visa,Mastercard和Paypal相匹配。然而,它伴随着闪电网络的一个类比:Plasma。

与比特币不同,以太坊网络的规模可以通过转向证明Casper和sharding(这些不是唯一的变种)来改进,这些变形必须在大约一年前实施。

11月9日,Vitalik Buterin和Lightning Network的主要开发者之一发布了Plasma项目的白皮书,实际上,它是以太坊的Lightning算法实现。

以太坊是一个网络,其中智能合约是规范节点之间财务关系的“律师”。类似于Lightning Network,其中输入用于打开确定可在信道内传输的总和的信道,在Plasma中,交易总和由智能合约控制。

此外,在Lightning Network中,由于无法在未经另一方批准的情况下离开信道而提供隐私。同时,在Plasma中,节点可以随时退出信道而无需批准,因为一切都由智能合约控制。

Plasma允许快速安全地发送token,而无需等待交易验证。该技术指的是由以太坊智能合约(差额区块链模型)监管的脱链渠道,不受区块链网络维护。相反,比特币使用UTXO区块链模型(未使用的交易输出)。

区块链模型:UTXO与差额,除了在两个不同的区块链上使用UTXO和Balance之外,它们代表了两种不同的货币传输方式。

UTXO模型原理非常复杂。钱包包含的比特币数量被视为UTXO。为了发送一个比特币,用户将发送他/她的UTXO,接收者将发回更改。为了使一切清楚,让我们看一个UTXO交易的例子:

  • 节点A的钱包中有三个比特币,并希望将一个比特币发送到节点B。
  • 节点A解锁UTXO并将整个事物输入到交易中。
  • 当节点B获得交易时,他或她的钱包由一个比特币补充,并且B发送两个比特币作为改变。

另一方面,在以太坊上有一个帐户/余额模型,不需要为了发送交易而放置余额。余额模型旨在确保A的余额等于或大于他/她想要发送给节点B的钱。

如果节点A有三个比特币并且想要将一个比特币发送到B,系统将从A的钱包中减去一个BTC并用BTC补充B的钱包。

UTXO和Balance区块链模型可以与现金和信用卡支付相关联。当你购买面包并向收银员提供5美元的账单以获得3美元的面包时,你会得到2美元的变化。这类似于UTXO模型。

如果你使用信用卡支付出租车费用,系统会从你的钱包中扣除必要的金额。唯一的要求是在卡上有相同数量的出租车价格或更多的钱:账户/余额模型。

Plasma现金

目前,以太坊的网络规模超过400GB,并且不断增长。由于分类帐的分布,这会导致可伸缩性问题。

在基于Plasma Cash算法在以太坊上创建侧链时,你可以创建一个不可互换的令牌,其值为以太币或ERC20代币。侧链内的交易不应超过令牌的价值。智能合约控制是否一切都按照商定的共识进行。

Plasma和Plasma Cash之间的主要区别在于,在Plasma中,用户需要下载每个块,这会引起巨大的可扩展性问题。为了解决这个问题,Vitalik Buterin和Lightning Network的联合创始人Joseph Poon提出了Plasma Cash,它只需要跟踪用户感兴趣的硬币块。

虽然Plasma在进行频繁的微支付时是有利可图的,但Plasma Cash用于从内部获取资金的业务,而节点需要在侧链内发送交易。Plasma Cash工作原则类似于一个赌场:你购买筹码(代币)玩,你可能赢得并获得更多筹码,或者你可能输了。当你想停止播放(退出侧链)时,你将筹码换回金钱(以太币)。

Raiden

上面的每一个都描述了一个项目,它以某种方式找出了以太坊网络的可扩展性问题。Plasma提供直接支付渠道的开通,并进行快速,廉价的交易;但是,每个节点都必须下载每个块。在Plasma Cash中,侧链的参与者不必下载每个块。相反,他们会跟踪他们感兴趣的区块。因此,交易既快速又便宜,而且分类账并不重要。

虽然Plasma Cash涉及智能合约来控制网络内的令牌交易,但Raiden Network采用智能合约,允许侧链处理公共智能合约,因为以太坊公共区块链负担过重。侧链具有足够的计算能力来处理公共智能合约,并将价值发送回公共区块链。

通过借用侧链的计算能力,缩短了等待公共区块链确认的块列表。这个概念称为分片。换句话说,以太坊上的任何子网都可以从另一个子网中借用计算能力,但需要支付一定的费用。

Hood下的Raiden网络

由于Raiden尚未提供白皮书供参考,因此应用程序将分享有关Raiden如何工作及其提供的好处的完整指南。

Raiden的目标是改变区块链的共识。这是可能的,因为利用支付渠道网络,允许安全地转移ERC20代币链,而无需在公共区块链上注册每笔交易。

状态信道技术

Raiden网络是一种基于状态信道技术的崭露头角的可扩展性解决方案。为了更深入地了解Raiden真正做的事情,我们将跟进状态信道的解释。

状态信道是两个节点之间的连接,允许它们即时且免费地发送交易。节点贡献的唯一输入是托管,它打开信道并处于智能合约控制之下。然而,最重要的特性是交易发生在链外,节点不必向公共区块链(在我们的例子中,以太坊)报告每个动作。

付款渠道如何运作?

Raiden中的支付渠道是两个节点之间的协议,其中发送方在区块链上为接收方设置了token存款。付款通过私下交换的消息进行脱链,这些消息以数字方式传输价值。智能合约验证并签署交易并结算索赔。

信道还可以形成网络,该网络允许在没有直接支付渠道的两个节点之间进行支付。可以同时进行多项付款,而无需就每次转移达成全球共识。Raiden的货币交易速度很快,不需要任何gas费用。由于脱链实现,这是可能的。

在彼此之间打开支付渠道的节点创建了托管,用于定义渠道的容量。如果容量是例如五个BTC,则节点A只能向B发送最多五个比特币。但是,如果信道是双向的,则可以重新平衡。

Raiden网络和智能合约

让我们假设有两个侧链想要成为业务合作伙伴,共享信息或相互发送交易。显然,他们可以在公共区块链上的两个节点之间建立伙伴关系;但是,每笔交易都需要时间和费用。出路是建立侧链并利用即时付款。此外,在Raiden的帮助下,这些侧链可以进行财务上的互动而无需向公共区块链报告。

Raiden网络的主要优势之一是侧链可以在ETH和ERC20代币中进行交易。然而,无论侧链想要发送什么,接收方都不会在未经本机智能合约确认的情况下接受它。发件人调用函数call来获得确认,并且当两个侧链支持一个智能合约以利用Raiden的所有好处时。

Raiden路线图

Raiden Network还没有白皮书,但其网站上有一个路线图。

除非交易变得更快,更便宜,并且需要更少的计算能力,否则以太坊区块链不太可能成为全球采用的加密货币支付系统。Raiden网络为上述每个问题提供了解决方案,并且在其视角方面具有更大的潜力。

到目前为止,网络已采用μRaiden(微型Raiden)网络进行快速,多对一,廉价的ERC20代币交易。该项目的开发人员也在研究其他技术:

  • 信道开放,关闭和结算。在Raiden中,即使用户没有直接付款信道,用户也能够与其他用户联系。像这样的交易将保持近乎即时,并且将需要最低费用。
  • REST API。开发人员还可以在Raiden网络上构建DApps。
  • 可恢复性。在案例A节点失败的情况下,此功能可保护信道免受数据丢失。
  • Raiden 红眼。主网上红眼的释放将提供一个错误修复系统以及用户反馈。安全限制也将实施:智能合约中提到的托管最大价值250ETH,以及Node/Direction的最大存款是0,5ETH。

以下是Raiden开发团队计划在未来实施的一些功能:

  • 信道撤回。创建支付信道的用户将能够在不需要关闭的情况下提取资金。
  • 原子token交换。此功能启用基于状态信道的分散交换实现。

你可以在其官方网站上找到将要添加到Raiden网络/系统的完整功能列表。

Raiden网络令牌

与Plasma(与Eth合作)和Lightning Network(与BTC合作)不同,Raiden项目具有本机货币(RDN),即使它适用于ETH和ERC20令牌。

RDN token已经可供以太坊节点用于μRaiden上的微支付。最初,总供应量为100,000,000,000 RDN代币。

Cryptolization的最新更新显示,RDN代币的总市场价格为212,132,167,873美元。

根据Binance的说法,Raiden Network 代币的当前价格为0.484789美元。

Raiden网络的优势

在区块链的其他扩展解决方案中,Raiden有很多功能,企业会发现这些功能非常有用:

  • 交易时间。虽然On-Chain交易保持在线验证和用户有时等待几天,直到有人决定挖掘块,在一个脱链网络,没有交易需要验证。这指的是两个节点打开并且签署协议的直接信道(智能合约),确保所有操作都值得信赖。
  • 交易费用。当然,节点可以增加他/她为交易定义的gas以确保验证时间;然而,这使得区块链上的资金转移成本高昂。幸运的是,这不是区块链作为付款系统的死胡同,由于Vitalik Buterin和Joseph Poon,他们通过Plasma,Plasma现金和Raiden等扩展解决方案来解决费用问题。现在,在脱链网络中,用户仅在交易收取费用时开立付款渠道。
  • 容量。以以太坊和比特币网络为例,容量是固定的。这与Raiden网络不同,后者根据网络中的用户数量以线性方式增长。
  • 隐私。默认情况下,区块链是一个分布式分类帐,其中每个节点记录在公共区块链上进行的所有交易。对于在分布式分类帐上存储机密数据的企业,这可能成为隐私方面的问题。这就是为什么创建侧链成为建议的补救措施。

Raiden面临的困难是什么?

区块链是一项年轻的技术,并且不断发展和改进。但是,为一个问题提供解决方案的每种技术都面临着另外两个问题。让我们来看看Raiden Network面临的困难:

  • 锁定代币。支付信道中的参与者都应该在他/她的钱包中创建一定数量的代币来创建信道。系统将锁定这些代币直到信道关闭;否则,节点将无法打开直接付款信道。此外,由于节点必须锁定其他代币,因此打开多个直接支付信道成本很高。另一方面,由于节点A能够通过节点B向节点C发送代币(当然,支付一定费用),因此无需打开多个信道。
  • 小额支付。由于节点必须为了打开信道而贡献的存款,他们限制自己拥有要在信道内传输的最大代币数。这没有选择,但在公共区块链上进行重大交易。

假设节点A打开了一个带有节点B的信道,它们各自贡献了一个ETH。这意味着信道容量是两个ETH。如果信道是单向的,节点A可以发送B甚至一百个交易,但总量不应超过两个ETH贡献。但是,如果信道是双向的,则A和B可以相互重新平衡,并且只要交易的总资产小于或等于托管,就发送无限的交易。

结论

自发布以来,以太坊社区一直在等待区块链上的Raiden采用。它应该不再等待,因为Raiden开发团队将很快完成对该技术的测试。此外,已经有一个可用的Raiden Network原型:μRaiden。

关于闪电,Plasma,Plasma现金和雷电的令人困惑的事情是它们彼此之间的区别。让我们从Lightning在比特币上运作并允许开立直接支付渠道这一事实开始,同时在交易上花费更少的时间和金钱。

Plasma和Raiden都与Lightning非常相似;但是,与Raiden不同,Plasma仅适用于ETH,用户可以使用ETH和ERC20令牌。

在其他可用的扩展解决方案中,Raiden以其分片能力脱颖而出,这意味着侧链能够将智能合约发送到另一个侧链进行处理。

另一项解决以太网可扩展性并帮助卸载网络的技术是Plasma Cash,它同时适用于ETH和ERC20令牌。该技术允许用户将令牌从公共区块链转移到侧链,并将其发送到侧链内,以便以极低的费用获得巨大的利润。

======================================================================

分享一些比特币、以太坊、EOS、Fabric等区块链相关的交互式在线编程实战教程:

  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
  • Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
  • Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
  • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是以太坊的Raiden Scaling解决方案