从 Reckless 到 Wumbology:闪电网络的基础设施建设

2019年2月14日00:00:00从 Reckless 到 Wumbology:闪电网络的基础设施建设已关闭评论
摘要

原本标题:《都说闪电网络今年要崛起,那它的基础设施建的如何了?》
作者:Arjun Balaji, Shomei Capital 的创始人,兼 The Block 的顾问,他持有部分比特币

原本标题:《都说闪电网络今年要崛起,那它的基础设施建的如何了?》
作者:Arjun Balaji, Shomei Capital 的创始人,兼 The Block 的顾问,他持有部分比特币

截至 2019 年,闪电网络在流动性供应,隐私性,安全性和可用性上取得了令人难以置信的进展。

随着开发者的信心增强和应用开发的门槛降低,第一批应用程序也已开始构建。

闪电网络的基础设施扩建是 2018 年下半年最令人期待的开发工程之一。R&D 和项目实施方面取得的重大进展,推动了人们对闪电网络年度重大升级的预期。

闪电网络的目标很简单:为用户提供一种快速、可靠的链下支付手段,同时保持结构设计简单、亲民。寄希望于所有用户运行全节点或尝试让他们手动管理通道流动性都是不切实际的。

因此,闪电网络在 2019 年的发展目标主要集中在以下四个方面:

  1. 提高系统的安全性保障
  2. 最大化使用过程中所有阶段的流动性,包括从押金释放到通道内的流动性供应
  3. 改善交易的隐私性
  4. 尽可能简化 UX 设计

本文并不是一篇对闪电网络的简单介绍。关于闪电网络如何运作,Aaron van Wirdum 著有十分精彩的三部曲。这对那些寻找闪电网络简介的人来说是个很好的渠道(Aaron 的这篇文章是对闪电网络初步探索的良好参考)。本文旨在面向熟悉闪电网络基本机制的用户,帮助其了解开发进程中的一部分内容。

对于那些想要更深入了解的人来说,Bitcoin Op-Tech 时事通讯和 Lightning-dev 邮件列表无疑是关于协议规范、进度更新和路线规划等讨论的宝库。

闪电网络基础设施及产品

基础设施建设极其重要:这是大部分开发工作的重点,也是未来的支付使用和更高级的应用程序开发的基础。

目前已有若干个闪电网络客户端,最受欢迎的三个分别是 Lightning Labs (由 Go 编写)的 Ind,ACINQ (Scala)的 eclair 和 Blockstream 的 c-lightning (当然是 C 语言)。

像 Pierre Rochard 的 Node Launcher 这类的新界面允许用户通过简单的 GUI 设置成为比特币或闪电网络节点(然后可以连接到一系列钱包,包括 Zap、Spark、Wallet of Satoshi 等)。Bitrefill 等用户驱动的产品旨在让用户更方便地创建和资助通道。

Casa Node 是一个开箱即用的比特币 & 闪电网络节点,非常适合作为家用的网络节点。同样,BTCPayServer,OpenNode,Coingate,Globee 和 ACINQ 的 Strike 都允许开发者轻松地集成 Lightning 支付。

Lightning Joule 是一个开源的类 MetaMask 的钱包,由 Will O’Beirne 创建,可以轻松实现基于浏览器的 LN 支付。虽然它仍处于 alpha 阶段,但它却已成为未来 UX 的雏形——包括一个潜在的身份解决方案。因此,在以太坊上看到类似的 DApp 设计模式也就不足为奇了。已集成了 Lightning Joule 的应用包括 lightningspin.com 和 LightningK0ala's LN Chess。

还有一些有趣的东西也已整合闪电网络。值得注意的是,虽然这些应用程序显得过于简陋,但闪电网络本身亦尚未成熟。随着开发门槛的下降,WebLN 等开发工具的进一步改良,在未来将使闪电网络更易集成。我最喜欢的一些新生项目包括支持 LN 的预测市场应用 Microbet,以及支持微支付的内容网站 Y'alls。

技术改进

第二届闪电网络开发者峰会在澳大利亚阿德莱德举办,会上展示了 2018 年度闪电网络的发展情况。距在米兰推出闪电网络白皮书后仅仅两年,就有数十个潜在的提案竞相纳入 1.1 版本规范中。

由于闪电网络是基于比特币网络之上,因此很多未来的改进位于基础层技术改进的下游。

最新的闪电网络规范改进大部分集中在以下几个关键领域:可用性,安全性,流动性供应和隐私性。探究的内容涉及从提案到工作实施的各个阶段。这些改进中的大部分将在今年纳入闪电网络。因此,今年将会是闪电网络之年。

Neutrino:实验性的轻量级客户端

与具有完整历史交易记录的全节点不同,轻节点仅同步区块头并使用简单支付验证(最初写于比特币白皮书)的方法验证交易。移动设备——功能不足,带宽、功率有限——正好可以在钱包之下运行轻节点。

轻节点仍需要连接全节点以验证交易。在此过程中,客户端将一个过滤器(称为 Bloom 过滤器)发送给一个全节点,然后该全节点返回一组相关交易,最后由钱包在本地验证交易。不幸的是,这个过程已被证明会导致隐私泄露,因为作恶者可以侦听节点以偷窥钱包地址。此外,潜在的恶意节点可以选择故意删除或遗漏相关交易。由于闪电网络交易受链上事件影响,所以删除或遗漏将会导致故障发生。

为了解决这个问题,Lightning Labs 的 Olaoluwa Osuntokun (roasbeef)和 Alex Akselrod 及 Jim Posen 推出了 Neutrino,一个实验性的轻量级客户端,旨在通过 BIP 157 和 BIP 158 提案「尽量减少带宽和内存使用……同时保护隐私」。Neutrino 也使用过滤器,特别是 Golomb 编码集和 GCS 过滤器。GCS 过滤器可以提供更高程度的压缩,使得 Neutrino 客户端可以更少地占用内存和带宽。

Neutrino 目前正在积极开发中,预计今年将完全并入主网。当前,用户必须运行全节点才能操作 Lightning 钱包。Neutrino 目前可用于 Ind 和 Lightning App 的 alpha 版本(测试网版本)。但是,一旦 Neutrino 完全部署到主网上,移动版 LN 钱包能够提供非常简洁的用户体验,因为同步时间将会下降到几分钟,用户无需运行全节点即可使用闪电网络。

潜交换(Submarine Swaps)

潜交换技术是由 Alex Bosworth (最初由 roasbeef 命名)创建的,它被作为一种无缝衔接链上和链下支付的技术手段。今天,绝大多数钱包囊括了存于链上的比特币和存于 Lightning 通道的比特币。

尽管两者在理论上都是可互换的比特币,但存于链上的比特币不能用于解决 Lightning 交易。潜交换允许用户向中间人发起 Lightning 支付,然后中间人在链上结算交易(反之亦然)。虽然中间人会收取一定费用,但在这个模型中无法盗取比特币,因为整个过程都是原子化交易。潜交换也可以用于跨链原子交换,允许用户使用 BTC 兑换 LTC 或 BCH。

鉴于对路由不平衡的担忧,潜交换也有很长的路要走。虽然,潜交换只是在更好的方案出现之前的权宜之计,但它已然存在,并可用于改善链上、链下原子化交易的用户体验。

双出资通道(Dual Funded Channels)

目前,Lightning 通道只能由一方提供资金:如果 Arjun 和 Mike 希望在他们之间打开通道,Arjun 可以用 0.1 BTC 资助通道,并向 Mike 发送和传输一笔支付,但却不能直接从 Mike 那里接受支付或经由 Mike 接受支付,直到 Mike 也资助了 Lightning 通道。

接入这种入场支付能力是很困难的:在闪电网络野蛮生长时期,通常需要离线协作。在双出资通道中,如果 Mike 用 0.1 BTC 资助通道,Arjun 也需要用 0.1 BTC 资助通道,这就需要成本:开通通道需要有链上交易,并需要(一定的委托资产)机会成本。但是,Mike 可以通过向网络提供流动性的方式收取路由费用。

虽然有人担心这种费用过低而无法为大型流动性供应商(比如商家)提供足够的激励,但像 Lisa Neigut 这样的提案正在开始布局,可能会让这些通道表明为其他 Lightning 通道提供入场能力(并收取一些费用)的意愿。

虽然双出资通道已存在于闪电网络的 Ind 上,但它们并未真正接入网络。随着闪电网络使用率的增加,双出资通道允许像交易所这样的大型流动性供应商通过提供入场能力,更轻松地将用户吸引至闪电网络。

原子化多路径支付(Atomic Multi-Path Payments (AMP))

原子化多路径支付来自于用户的 2018 年邮件列表提案,Conner Fromknecht 回答了这个问题:「我有 5 个 2 美元的通道,我可以通过原子化交易支付 6 美元吗?」目前付款的方式是通过一条路径:从 Arjun 的通道,途经 Mike,再到 Larry 的通道。

这种方式适用于小额支付,因为每个通道都有足够的流动性来无缝地完成支付,但也存在严重的限制。如果 Arjun 的资金分散在多个通道中,那么 Arjun 的流动性会受到限制。

基于与单一支付路径相同的安全机制,AMP 通过允许多笔交易由经多个通道完成,并保证最终接收的正确性来解决这个问题。只有当所有款项成功发送时,才能兑换小额的付款项,从而避免了部分支付的问题。

尽管 AMP 的技术规格尚未完全定型,但针对 AMP 已有多个提案,包括 OG AMP 和 Base AMP。完全部署 AMP 对提升用户体验意义重大,并可有效改善闪电网络的流动性。

拼接(Splicing)

目前为止,增加通道的容量和使用链上资金需要关闭通道并花费一定的时间。去年十月,来自 Rusty Russell 的一项新提议——拼接——允许用户进行链上交易协作,以增加或移除通道内的押金。

现在,很多闪电网络钱包都有链上和链下账户。一旦拼接完全集成至闪电网络,用户就可以从链下账户发送交易至链上账户。此外,拼接还允许用户直接把资金存入通道地址中,所以除了提供增加和收缩通道余额的灵活性外,它还实质上提高了网络中的路由效率。

拼接是对当下的潜交换技术的重大改进,因为它在结算过程中减少了中间人的需求。这一点与 AMP 是协同共生的:AMP 和拼接允许用户在闪电网络钱包中收取发票,完成支付,或者从链上或链下账户中无缝地(从多个不同的通道)提取资金至钱包,而不用担心任何人为管理造成的流动性影响。

Lightning UX 的未来充满希望!我们可以想象一下这样一个世界:用户可以通过不同的选项(比如交易费用)选择支付的路由速度,同时,各种改进技术的权衡将会造就一个强健、流动的路由费用市场。

Wumbology

Wumbology 一词出自《海绵宝宝》,海绵宝宝的朋友派达星发明了这个词,意为「巨大」。在闪电网络中,即是指通道越来越大。现在,闪电网络的通道大小为 0.16 BTC ,支付限额为 0.04 BTC 。

随着开发者逐渐消除对闪电网络实现的安全性顾虑,客户端扩容将成为可能,并将支持更大通道的双向确认。

随着通道容量日渐增加,Wumbology 将会给网络带来更大的流动性(交易可以更方便地在系统内路由)。闪电网络从一片荒芜(在 2018 年刚推出的时候,它依然非常不成熟,质押的资金随时可能会丢失)开始,但增加通道大小限制的提案代表着闪电网络走向成熟迈出了重要的一步。

斯芬克斯发送(Sphinx-send)

就在本周,基于先前一份非比特币文献,Roasbeef 推出了「斯芬克斯发送」功能。在闪电网络中,虽然 Arjun 和 Mike 可能信任彼此,但他们并不知道支付过程中所有通道的所有者。作为一项对闪电网络的隐私改进方案,斯芬克斯发送构建的路由系统允许在发送过程中对发送者的身份进行加密处理。

此外,斯芬克斯发送体系允许闪电网络在没有收件人提前请求发票的情况下工作。这在以前是 Lightning UX 的主要痛点,因此斯芬克斯发送提案可视为闪电网络的一个重大改进。

斯芬克斯发送目前仍处于开发阶段,但其一旦并入闪电网络,且相应节点完全升级就可立即使用。值得注意的是,斯芬克斯发送可能会解锁新的单向支付用例。

eltoo 和通道工厂(eltoo and Channel Factories)

eltoo 起初是在 2018 年 4 月由 Blockstream 的 c-lightning 团队和 Lightning Labs 的 roasbeef 共同提出的。在当前的闪电网络实施中,用户如果恢复过期的账单备份,就会失去他们的押金。因为,广播过期的账单就等同于「作弊」,用户就会被罚没押金以作惩罚。重点是:瞭望台备份和其他连续备份可以在很大程度上避免这个问题。

在 eltoo 中,如果用户广播旧状态,则他们的对手方就会通过新窗口广播最近的交易以纠正最终的账单。这种仲裁体系「使得在单个串联交易中的多个用户之间打开支付通道变得更加容易,也更具效率」——语出 Bitcoin Op-Tech 全年回顾。

更重要的是,eltoo 使备份变得更加安全,瞭望塔更具效率,因为只需储存最新的状态,而非先前状态(不过这也存在一定的隐私权衡)。

这也导致了一些像通道工厂的下游工作改进。现在,操作闪电网络通道至少需要两笔链上交易(用于打开和关闭通道)。通道工厂旨在提高这一过程的效率。

虽然每个通道需要两笔链上交易(理论上可以提供无限数量的链下交易)看起来并不是很多,但通道工厂可以允许多个用户打开无限条组内通道。特别是,当实现闪电网络的产品是由大公司创建时,这种方案可以显著减少必须参与的链上交易的数量。

两个提案都需要通过软分叉以添加新的哈希签名标志(BIP 118),SIGHASH_NOINPUT_UNSAFE,它允许签名授权所有 UTXO 的支出,这些支出(并非单个 UTXO)可由特定的私钥管理。核心开发人员乐观地认为,这可能导致伴随 Schnorr 签名的更大规模的软分叉。

批评家早期就闪电网络所表达的主要担忧之一是:由于人们无法打开通道进场,「会不会出现高昂的链上交易费用而导致了闪电网络的中心化?」通道工厂可以轻松地打开和关闭通道,而减少了这种担忧。深入的链上改进方案(像 Schnorr 签名)有助于进一步压缩签名大小,使得闪电网络的可用性更高。

瞭望台(Watchtowers)

尽管闪电网络用户拥有更高级的过滤功能(如 Neutrino 的 GCS 过滤)以抓取相关的链上交易,但瞭望台提供了额外的保障,即用户不会被闪电网络上的交易对方欺骗。

在闪电网络白皮书中首次描述了瞭望台,尽管最初的设计经过了较大的改善。闪电网络最初关注的一个问题是既然是链下支付,那对方通过广播无效状态欺骗我怎么办(例如,在我离线的时候)?」

通过瞭望台对恶意参与者进行监视就是这类问题的潜在解决方案,类似的设计也出现在其他支付渠道系统中,如以太坊的 Raiden (美其名曰「监控服务」)。

在瞭望台系统中,当 Arjun 和 Mike 打开通道时,Arjun 将广播一个签名,授权所有资产在 Mike 发生恶意行为时转回 Arjun 账户。该广播数据足以用于检测无效状态,同时保留通道中交易双方的隐私。如果 Mike 广播了无效状态(其中的押金将被锁定一段时间),Arjun 就有机会申领所有通道内的押金。

虽然有些人会认为这是一种「中心化」,但瞭望台并不是闪电网络的核心设计部分。它们将由第三方运行和操作(尽管高级用户可以通过自己搭建全节点来运行)。由于存在运营成本,瞭望台可能会收取一定的监视费用。在未来,瞭望台变成来自交易所或其他大型企业的服务,意在帮助用户加入闪电网络,虽然瞭望台本身的设计会引起一些隐私问题。

我迫不及待想看到闪电网络在 2019 年的发展,因为它最终从原始的基础设施搭建和结构设计的阵痛中破茧而出,并伴随着越来越快的发展和越来越高的流动性。那就请各位看官一起跟随闪电网络成长,并 stay#reckless 吧!

  • 二师兄个人号:esxqkl
  • 加区块链内部社群
  • weinxin
  • 二师兄区块链公众号:esxqkn
  • 推荐优质币&糖果
  • weinxin