瞬时&免费——闪电通道

全球社区 小椽子 2周前 (11-07) 341次浏览 0个评论

IOTA基金会的目标是建立繁荣的机器经济,使得机器们能够相互无缝交流和交易。我们引入了第一个可扩展的分布式账本结构——IOTA,它没有手续费、可运行在物联网环境下。IOTA的能量蕴藏于它的网络之中,因为它随着网络参与者相互间交易数量的增加而水平扩展。

过去的几年中,层2方案(例如比特币的闪电网络、以太坊的雷电网络)开始成为传统区块链低交易手续费快速传输的一种流行方案。前几个月中,在IOTA团队(主要是Paul Handy, Lewis Freiberg 和Chris Dukakis)勤勉地工作下,在IOTA上开发出一款类似的自组织方案:闪电通道

闪电通道

闪通是一个双向线下缠结支付频道,支持瞬时、高吞吐量交易。本质上,它提供了高频交易对手间无须等待每笔交易在公共IOTA网络中确认的一种方法。相对的是,仅有两类交易会一直在IOTA主网中发生:闪电通道交易的开启和关闭。一个线下缠结方案将每笔交易的经常费用(overhead)降至可以忽略的水平,途径是创建线下缠结的签名交易,为瞬时代币流开放一个免交易手续费的交易模型。

瞬时交易

当一个通道创建时,交易各方往一个共同控制的多重签名地址存入相等数额的IOTA保证金,一旦初始保证金被确认,交易关闭前通道就不再需要与网络发生交互。

一旦交易各方结束交易,最终的账户余额将公布至网络,这个方案可将数千笔交易减少至两笔。

经济激励

闪电通道对善意各方进行等额的激励,与任何多重签名的方案一样,激励是必要的,因为签名方可能会拒绝继续签署交易。

闪通以减少签名方使用的通道内可交易代币总额来打击上述不合作之行为,这样就减少了对某交易方连接之前交易包的激励,从而它们将永远无法得到一个比通道最近状态更多的产出。

为了更清晰地描绘上述场景,我们假设两方各持50代币进入一个通道——保证金池将会控制100代币,但仅有50代币能够在频道中被交易。当一名用户需要发送5代币给另一名用户,他也释放5代币给后者,这样各方都将认为他们仍控制45代币的权益。从另一角度看,就是如果一名用户打算发送10代币给对方,对方会将它看作一次5代币的付款。因为未来的交易是签名的,这些选中的输出地址中的代币数只可能增加,反之发送给剩余地址的代币数只可能下降。

这些剩余地址被用作抵押物来防止通道中的过早退出,如果一方拒绝关闭通道,最近的签名交易包可以附着到缠结,后者将剩余地址存入一个多重签名地址。当各方取得一致的合理成果,它们可以接入该地址并分配资金——双方在达成决议方面均有利害关系,僵局将导致资金损失。

Flash + WebRTC

Flash Demo: 试试看https://flash.tangle.works/

为了描绘闪电通道的工作模式,我们构建了一个PoC应用程序,你可以和一个朋友一起试用。这个演示版本用WebRTC直接连接你的伙伴,允许你在决定终止通道前线下交易。

为了演示目的,该应用将存入2Ki测试网代币。很特别的是,哈希、签名、PoW以及与IOTA网络的交互都是在你的浏览器中实时发生的。

你可以在这里测试该应用。使用时你必须令WebGL(网页图形库)可用(注意:在桌面操作体验最佳,VPN的使用会阻断WebRTC连接)。

非常高兴地宣布:闪电通道终于在IOTA上实现了 https://t.co/SRTNqqqSHP https://t.co/QkedIHEj2Z

— @DomSchiener

工作机理

通常情况下每次传输都必须附着缠结,要求大量PoW,而闪电通道采用树型拓扑以减少需要附着的交易数。

这个方案利用了在保持合理安全情况下每个地址可用两次的优势,我们构造一个树,树叶(树的最底端)为闪电通道中将发生的单个交易。

建立闪电通道要求的交易最大数量与树的深度直接相关,深度通过首先评估会使用闪电通道发生在线下的单笔交易的数量来确定,接着采用 log2(x)处理这个数量。

例如:如果你要求一个60笔交易的通道,你必须构造一个深度为6的树,因为log2(60) = 5.907,我们将其取整为6

每次创建一笔交易,你要沿着树的底部从左边移到右边,如果一个父节点被使用了两次,那么这笔交易将必须转移到父节点的兄弟节点上,并且生成一个交易包。

例如:在上面的二叉树中,创建一笔交易,生成的交易包数量要求达到16。这样的话,丛1,2,4,8及16必须生成。为了创建下一笔交易,我们然后转到17,18,等等。随着我们穿过这棵树,我们仅仅生成了到达新叶片交易包所需要的交易包。

建立通道

一旦通道深度、各用户的初始存款、通道参与者的最终地址输入后,一笔初始交易就在闪电通道上建立了,这笔交易为每个节点树下生成丛,最后一个丛将带着所有通道的IOTA存入一个剩余地址中。

此时此刻,一个存款地址(二叉树的根)显示出来,在用户开始在通道中交易前,他们必须对款项的数额达成一致并且等待传输被确认。

建立交易

当在通道中创建新交易时,用户必须构造一个交易包,并将其提交到通道中的其他各方。用户们浏览并确认提交的交易包后,将生成并返回签名。一旦双方得到各自的签名,他们令交易包签名有效,接着改变他们的本地通道余额。

构造新交易包时,Flash库会给需求客户的余额加上新交易的值,然后将剩余通道余额放在剩余地址上。

拒绝交易

当在通道中进行交易时,每个用户都有相等的权利拒绝交易的发生,如果用户收到他们并未达成一致的已提交交易,他们会以不在交易包上签名的形式拒绝它。

通道也可以建设为M到N多重签名的,意味着在一个三用户的闪电通道中,也许仅有两名要求建立交易,这样的机制对于那些希望有一个双方信任的中间人协助解决通道中争议的案例非常有益。

关闭通道

为了关闭通道,提交用户要构造一个不再提交新值传输的丛,反之,他们取得剩余通道余额并将其按通道开通时各用户的存款比例分给通道中的用户。在此过程中,用户找到关闭通道所需的最少数量的交易包。

在此之后通道中的其他用户检查交易包并返回签名,或者拒绝关闭交易包,这些交易包然后将附着在网络之上。

结论

闪电通道是延展IOTA核心能力使其能够处理实时交易流的第一个模块。该功能与IOTA网络的快速和免费的解决方案完美契合,在物联网和其他的互联网领域中是一项新的、颠覆性的应用。

当前,闪通还在测试阶段,但我们鼓励应用程序开发者开始将其集成到他们自己的应用中并给我们早期的反馈,我们与合作企业共同开发了一些基于闪电通道的应用,最早的一部分将在10月上线,敬请期待。

点击这里获得更多关于闪电通道及其库的信息。

常见问题:

我以为缠结是可扩展的,为什么我们还要闪电通道呢?

缠结的可扩展性源于它对分布式账本的创新,因为它的共识要求,每一笔交易的用户必须完成名义上的PoW,工作微小但却耗时。闪通用转移交易至线下的方法去除了这项工作,直到它们附着到网络上,从而将数千笔交易减少到两笔。

总而言之,IOTA为了一般目的的交易;而闪通是为了一些要求在交易双方间存在代币流的特别的应用程序用例而设计的。

如果通常我的交易会在两分钟内被确认,为什么我还要比这更快速的交易呢?

闪电通道是对一小部分交易子集给出的方案,它适合于要求流内容的交易:视频的按秒支付或轿车充电。另外,金融机构与客户间的解决可以降低到次秒级:销售点或在线买卖。

使用闪电通道需要特殊的代币吗?

通道内使用普通的IOTA代币就可以,亦不需要额外代币数量付手续费,网络是免费的。

打开一个通道花费几何?

由于IOTA网络是免费的,打开及关闭通道均无需费用,这就意味着你可以建立短时或小余额的闪电通道。

路由如何工作?

闪电通道没有路由。IOTA网络免费,因此你可以与伙伴免费开启任意多闪电通道,这样就去除了最终会走向中心化的复杂的路由需求。

演示版本中,我们用WebRTC直接连接你与你的通道伙伴。服务器仅为网页和各点的初始连接服务,通道工作无需中间媒介。

需不需要特殊节点或网络升级才能使用闪电通道?

不需要。闪电通道定义了一个专用方法,两名或两名以上用户必须在多重签名的钱包下才能进行交互。

这种方法与瞬时支付网络的其他尝试产生反差。例如,比特币的闪电网络需要一个并行的路由网络,使用定制软件来与比特币区块链并肩作战。

闪电通道到底有多快?

闪电通道受限于通道中各方给提交的交易包签名与返回该签名给所有各方的时间。当你不是要等着用户手动确认交易时,这个时间约在数毫秒。

开启/关闭一个通道要多久?

因为闪电通道用标准交易来开启/关闭,所以也就是网络正常的确认速度。写作本文时,大约为平均3分钟。随着网络的成长,时间会缩短。

等等!我以为IOTA没有时间锁或者智能合约?

我们没有哦(目前:)),闪电通道依赖于一个小小的经济激励,一旦时间戳被强制执行,我们将引入闪通的时间锁。

经济激励如何制止诈骗犯和小偷?

当进入一个闪电通道时,你定义了一定数量的抵押品加入到通道中,如果你与一个不认识的伙伴开启了一个通道,你可以打开一个低值通道或者要求对方向通道存入一笔更大的保证金。

如果通道的使用有争议,一个用户可以以附上最新通道状态的形式公布交易中已获批准的资金,剩余资金将存入剩余地址中(通道打开时生成)。这些资金将会一直在此留存,直至两个用户均同意分割资金,然后签名一笔交易释放它们。

闪电通道的用例有哪些?

任何需要瞬时、双向交易的应用都可以。其中的一些用例包括EV充电、请求式带宽、请求式其他资源(好比算力、存储空间,等等),按文章付款,及众多其他。一个例子是最近在柏林见面会上Carsten Stöcker提出来的,如下图所示。

原文:

https://blog.iota.org/instant-feeless-flash-channels-88572d9a4385


IOTACHINA遵守BY-NC-SA协议 , 翻译文章仅供参考,建议用户参考原文为准!
喜欢 (10)
小椽子
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址