以太坊几率微支付

到目前为止,大多数以太坊项目都须要用到支付通道。 支付通道容许线下发送任意数量的交易,而只须要两个链上交易:git

  • 一个是初始化支付通道来锁定对应的金额, 命名为初始化交易。
  • 一个是关闭通道, 达成链上的交易金额的转移, 命名为结算交易。

在这二者之间,咱们能够根据须要发送尽量多的链下交易。这对于正常的在线交易来讲是一个很大的改进,由于像视频流和能源市场这样的服务能够连续支付少许的金额。
因为须要两个链上交易,咱们不能简单地把一分钱给一个咱们尚未通道的人,由于通道初始化和结算的交易费会比付款多不少倍。
怎样咱们才能向任意数量的收款者发送任意小额金额,而不须要初始化或结算交易?
回答: 以太坊几率微支付能够向任意数量的收件人发送任意数量的付款,而无需收款人初始化或结算交易。
听起来太好了,是否是真的? 几乎是这样 - 咱们老是至少须要一个链上交易才能解决付款问题,可是能够在没有任何链上交易发生的状况下有效地接收付款。
根据上面的区别,注意每一个收款人的资格; 一个微妙而重要的区别。以太坊几率微支付只须要每一个发送者进行一次初始化交易,锁定必定数量的代币,而后将代币发送给任何收款人。 收款人不须要和发送者创建支付通道。 下面咱们经过一个例子来看看它是如何工做的。github

兰花协议

在兰花实验室,咱们正在研究一个新的去中心化网络, 目的是消除互联网上监视和审查。在兰花网络中,带宽贡献者(被称为节点)共享他们的带宽并为接入互联网的用户中继流量。 用户不断地向带宽贡献者(由用户客户自动化)支付代币。
兰花的一个节点能够服务其余成千上万的节点,用户也可使用几百个节点访问不一样的网站,创建各节点间的状态通道的交易费(即便使用如雷电网络的状态通道)是太高的。
所以,咱们采用以太坊的几率微支付网络

  • 1 发送者存款代币(能够是ETH,erc20代币)到以太坊主网上的智能合同(全部的发送方共享),每个发送者,能够达到支出平衡和资金抵押做为惩罚代管。
  • 2 发送方在本地建立并签名票据——包含付款数据的加密数据结构,如接收方和数量。
  • 3 发送者直接将票据发送给收件者,而不在以太坊网络上发布任何内容。
  • 4 收件人核实票据。若是有效,收件人如今有密码证实他们正在被支付。请注意,即便票据没有在几率中“获胜”,收件人仍然有绝对的证实该笔票据应该被支付,因为用于肯定一个票据是否获胜的随机性是以发送者和接收者的方式得出的,二者都不能操纵结果。
  • 5 一张有效的票据多是几率“获胜”,在这种状况下,能够经过广播交易到以太坊主链来声明。

这个方案在兰花草案白皮书中有详细的描述(部分是正式的),该白皮书讨论并参考了先前关于几率微支付的研究及其对区块链的适用性。
虽然咱们不能将这个计划用于单一付款,但因为收款人并不能保证明际收到付款,咱们能够用它来加密地向收件人证实他们收到的票据有必定的可能性,从而致使能够索赔的付款。
因为咱们能够配置确切的获胜几率,获胜数量和票据使用的频率,咱们能够将差别(贸易差额)下降到一个能够忽略不计的程度。
换句话说,只要提供的服务是连续的,粒度足以使几率方差变得能够忽略不计,几率支付就比支付通道更有效率。数据结构

下面例举个用例:视频流媒体

让咱们设想一个去中心化的YouTube,任何人均可以将视频流传输给任何观众。区块链

支付通道提供的解决方案:
  • 1 你是一个视频流提供商,提供的服务他人播放你提供的视频时每小时收费1美圆。
  • 2 一个新用户链接到您的服务,并观看了10秒的可爱的小猫视频。
  • 3 没有数据的交易目前花费在0.006美圆左右,若是肯定的话,须要等待几个块的确认。可是,由于咱们须要在流式视频以前设置频道(以免使用freeloader),因此咱们可能须要更快的确认,这将花费0.026美圆。创建一个支付通道会花费更多,由于它须要执行智能合约。 粗略估计是两倍 - $ 0.052。
  • 4 支付通道的开销是您做为提供商要收取用户费用的几倍。若是用户观看了不少的视频才结束服务,开销多是合理的,可是对于新的或零星的用户来讲,这有一些不合理。
几率微支付提供的解决方案
  • 1 你是一个视频流提供商,提供的服务他人播放你提供的视频时每小时收费1美圆。
  • 2 一个新用户链接到您的服务,并观看了10秒的可爱的小猫视频。
  • 3 每4秒钟,用户将以1/2500的获胜几率向您发送一张链下票据。 中奖金额设定为$2.78。
  • 4 若是您没有每隔4秒收到一张支付票据(为了解决网络延迟,请在必定范围内),您只需断开查看器便可。
  • 5 若是观众没有收到任何视频,他们会当即中止发送支付票据。
  • 6 当您收到获胜票据时,您会经过给以太坊主链发送交易进行结算,该交易会从发送者锁定的代币中将奖金转移给您。

即便票据未获胜,仍然有加密证据证实您正在付款,由于发件人和收件人都没法操纵肯定票据是否获胜的价值。 有了这个证实,您很高兴继续将视频流传送给观众。 因为成千上万(新)观众链接到您,每一个观众没有开销 - 惟一的开销是当您要链上公布你的获奖票据时。
对于给定的“平均总付款”,获胜的可能性(以及门票的频率)决定了所需的上链交易的数量。所以,获胜金额设置得越高,收款人随时间支付的交易费用就越少。 获胜金额设置得越低,发送者锁定的代币越少,流动性成本越低。
对于视频流,合理的赢利金额多是2.78美圆。 对于电力或能源市场,多是27美圆。网站

防止双花

几率支付的一个关键部分是确保不能双花,不然,无法保证发送者不做弊。前面提到的“惩罚托管”使咱们的计划双花无利于发送者。这种方式的工做原理是,发送者必须锁定(区块链上的锁定合约)必定数量的票据获胜金额代币,而后才能构建门票。接收者验证发送者不只有足够的资金来支付获胜票据,并且他们的罚款托管中有足够的余额。
在双花的状况下,在发送者余额不足以支付票款的状况下,获胜票据的上链付款合约将致使发送者的罚款代管账户的扣减。这有效地焚烧了一个发送者被要求发送的小额存款,这给发送者形成了经济上的损失,从而抑制了双花。罚款托管的金额应该设置得足够高,以防止双花,即便足够低,也不会给发送者带来多少不便。加密

总结

以太坊几率微支付对于向用户提供连续细粒度服务的系统而言具备优于支付通道的几个优势。 交易费用的减小不只能够实现有效的微支付,还能够实现纳米支付。
视频流,电力/能源市场和带宽共享是适用系统的好例子。 咱们只须要每一个接收者进行一次上链交易,而不是每一个发件人/收件人对,或者使用复杂的支付通道网络都要花费初始化交易成本。 服务提供商可以当即开始为用户提供服务,而不会冒着吝啬鬼的风险。 若是用户中止接收服务,用户能够快速断开链接。
这使得服务能够彻底避免freeloaders的成本,并能够当即阻止拒绝服务攻击,由于咱们甚至能够要求第一次请求附加微型支付。
“值得一提的是,在咱们的研究中,咱们意识到这个概念实际上能够追溯到1996年的文献中(见咱们的白皮书参考文献),David Salamon独立地得出了几率微支付。”翻译

译者许莉感想: 比特币的闪电网络和以太坊的雷电网络都是基于状态通道,须要两笔交易,都是合约的执行,须要大量的手续费。以及iota的闪电网络(IOTA自己不是区块链,交易也不须要手续费,但能预防双花不肯定)。 兰花网络的几率微支付解决了这几个痛点。
原文 连接medium.com/@gustav.sim…
兰花网络的中文资料能够参看郭光华翻译的中文白皮书 (gguoss.github.io/2017/10/30/…)视频

相关文章
相关标签/搜索