以太坊概率微支付

1,762 阅读8分钟

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

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

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

兰花协议

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

  • 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/…)