http://www.la10duh.com

2018香港马会免费资料开奖结果基于以太坊的链下

  注意这篇文章你已经了解Smart Contract 的话理解比较简单,如果不了解Smart Contract 的话读起来会有点吃力

  Raiden是一个基于Ethereum (以太坊)的链下交易方案,主要想解决三大问题:速度、费用与隐私

  速度跟费用是在Ethereum上蛮需要解决的问题,依照目前的资讯目前网路上每秒的平均交易数量为10个,而交易费虽然可以每次Transaction都可以调整gas price,不过网路雍塞时却不得不调高来让自己的交易可以完成,最近的加密猫之乱让整个Ethereum网路拥塞想必有些支援以太币(Ether)的交易所像是热锅上的蚂蚁一样吧

  虽然Sharding与Plasma等等解决交易速度的扩展解决方案愈来愈常提及,不过距离正式的释出似乎都还需要一段时间的酝酿。而Raiden在目前看起来是完成度较高的扩展方案

  在速度方面,因为所有交易都需要全网共识的关系,所以每个交易都须要等到新的区块被算出来时,并且此笔新交易需要包含在其中之后才会成立,依照目前Ethereum 的出块速度交易可能会需要数十秒到数分钟才有办法确认,在网络壅塞时甚至需要等更久

  交易费的状况则是因为Ethereum 中所设计的gas 机制的关系,每笔交易都会支付给矿工一笔交易费用,这交易费用如果放到比较大额的交易时还好,不过如果在小额交易时费用比例就会太高。比如说最近几次我完成的交易费用大约在0.3USD~0.37USD 之间,如果只是作几百块台币的交易那就显然太贵了

  最前面有提到一个让人很疑惑的句子:Raiden 是一个基于 Ethereum (以太坊)的链下交易方案,既然是链下解决方案,怎么会又基于Ethereum呢

  因为Raiden 是一个辅佐型的网络,利用开启通道(Channel) 来处理一批次的交易,再用一些加密演算法的机制在链下纪录并核实真正的交易数据,最后在关闭Channel 时将交易数据送入区块链中进行实际的加密货币交易与核实。这样实际在区块链上的交易笔数就会减少许多,达成减低交易费与加速的目的了

  听起来很神奇(确实也是),但是要达成这样的目的需要有许多细节,会在下面一一的解释

  首先要先说明Raiden 是一个多节点的网络,但是为了先从简单的情境开始,我们会先说明两个节点之间要怎么利用Raiden 的原理达成减少交易费以及加速的目的,最后再解释在许多Raiden 的节点所形成的网路要怎么达成目的

  另外Raiden 可以转任何ERC20 的token,我们以下虽然用以太币Ether (ETH) 作为范例,不过实际上会被包装成一个相容于ERC20 的token

  因为我还没看过Raiden 的服务或钱包长怎样,为了比较好的解释跟想像Raiden Network,请先想像使用Raiden 时会像是悠游卡一样的储值卡app,不一样的是它是一个app,平常你会到捷运的储值机储值悠游卡,在Raiden Network 底下你需要要一个app 把你的Ether 以太币储值入Raiden 里面

  你可以在这个app 上面看到你的Ethereum 帐户与Raiden 帐户里面分别有多少余额、列出你曾经在Raiden 网络上作的转帐,最后app 底端有三个功能

  说了这么多,终于要开始解释两个节点之间的互动了。前面有提到Raiden 网络的原理是在Ethereum 上开一个通道来处理多笔交易,让我们来好好检视一下之中的细节

  首先,其实通道(Channel) 其实就是一个Smart Contract。当你打开了一个通道后就是布署了一个新的Smart Contract。举例来说Bob 跟Alice 之间经常一起吃饭,三天两头就要互相Cover 饭钱,他们之间的互动会是这样

  上面的这张图虚线以上是区块链上的互动,虚线以下是Raiden 网络上的互动

  首先他们要先开启一个通道(部署一个Smart Contract),接着两个人都先放5 以太币到这个Smart Contract 里面,让资金足够可以在两人之间流动。当这个Smart Contract 已经储存了两人的以太币后,双方就可以开始在Raiden 网络中进行交易了。当Bob 在Raiden 网络送出第一笔1 ETH 的交易给Alice 时,此笔交易并不会发到区块链上,取而代之的是Bob 会将此笔交易资讯包含双方在通道中的余额利用自己的私钥签章过后,送给Alice 保存此笔资讯,此笔资讯称为Balance Proof。当Alice 也通知Bob 收到Balance Proof 后,这笔交易在Raiden 上面就会成立了

  接下来的三笔交易都会用同样的方式仅在Raiden 当中检查、签名与传送,这些资讯都不会上到Ethereum区块链网络上

  另外在Raiden 网络上面并不需要保存所有的交易纪录,仅需要保存最后的余额即可

  当这两个节点的任何一个节点想要把在Smart Contract 的储值的钱领回时,可以关闭通道(Close Channel)

  当双方都更新完数据后,此通道可以被任何一个人(不限于双方,可以是Ethereum上的任一节点)触发settle()将双方的钱都发回。Bob跟Alice当初都存了5 ETH进去这个通道,最后余额的状况则是发回给Bob 6 ETH,给Alice 4 ETH

  刚刚先说明了两个节点在Raiden 网络的运作状况,但是如果每次都要在需要支付的双方开一个通道来转帐显得很不合理,所以Raiden 网络上的多个节点就派上用场,假如说Alice (A) 现在要转帐给David (D),他们之间其实并不需要双方存在直接通道,仅需要Alice 跟David 都在Raiden 网络上即可,也就是说他们都跟Raiden 网络上的其中一些节点之间已经开启了通道

  当Alice要转帐给David时,首先他要先在Raiden中找到一条通往David节点的路径,找到后就可以借用这些节点之间的通道把以太币转给David。而在整个传输完成前,这条通道上交易会使用Hash Lock锁定住,直到David在通道上确认已经收到款项,跟Alice用SecretRequest要求解锁的Key后,整个交易才会解锁

  而这些通道不必然要马上关闭,因为这些通道还可以用在其他人的转帐,这样就可以在不需要Ethereum 交易费的状况下继续转帐。这个时候让我们再回到原本的那张草图,你的Raiden app 就像是储值卡一样,可以快速地拿它来做小额交易,直到你认为需要把钱提领回你的Ethereum 帐号时,才按Withdraw 提领把钱领出来。在你的通道还没关闭时,都可以透过Raiden 网络转帐给另外一个人

  由于不需要全网共识的关系,所以Raiden 可以在相对快的速度当中完成交易。另外在这边要说Raiden 网络中传输还是会有费用的,总共有两种,其中一种Protocol level fees 会在你转帐时收取,不过理论上费用会非常少。另外一个费用是Peripheral fees,如果你只有使用Raiden 的轻节点(light node) 时因为自身没有跑完整的Raiden 服务的关系,所以会需要全节点替你提供服务,所以会收取费用

  但如果是跑全节点(full node)就不需要收取费用,反而还可以因为提供转发服务而从轻节点那边收取到Peripheral fees

  总之Raiden Network 就是利用上述的方式用链下的方案来解决目前Ethereum 交易速度与费用的问题,不过我目前都仅是在文件上的阅读与理解,还没试着跑过他们的网络来实际体验一下效果。所以实际上到底能不能解决问题还需要更深入的探讨才能知道目前实作的状况

  另外在Raiden Network 要解决交易费太少的这个问题上,其实在透过多个节点转送交易时,交易费的高低会依照中间经过的节点数量会有所不同,数量愈高交易费也会伴随着提高。所以问题会回到在Raiden 网络上找到的最短路径所产生的交易费是不是可以比原本直接在Ethereum 区块链上直接交易要来得低



相关推荐:



郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。