重新思考闪电网络:全力实现比特币扩容梦想

《Rethinking Lightning》

作者:benthecarman

编译:BTCStudy

过去几个月来,我感觉比特币社区对闪电网络越来越感到厌倦。说实在的,这完全说得过去。在 2017 年,我们得到的承诺是,这会是一个去中心化的支付网络、永远能提供便宜的支付、而且每个人都能运行自己的节点。今天,闪电网络的普通用户实际上并不使用闪电网络,他们只使用一款托管钱包;而其中少数运行闪电节点的用户常常发现这是一个繁重的任务。我们 Mutiny Wallet 的同仁,一直在通过尝试开发轻量的自主保管钱包来改变这一切,而且,我认为,我们已经很好地实现了这个梦想。在本文中,我将分析这些问题,并提出一种新的理解闪电网络的视角,然后论辩这对比特币的未来意味着什么。

闪电网络的用户体验挑战中的第一个也是最艰巨的一个,就是通道流动性。(译者注:这意味着,用户不仅有余额即支付额度,还有收款额度。)今天,除了闪电网络,没有其它支付系统存在这样的问题,所以这常常会让许多用户感到困惑。更糟糕的是,我们没有任何实用的诀窍可以解决这个问题。Muun Wallet 使用「一个链上钱包 + 潜水艇互换」的模式绕过了这个通道流动性问题,这个解决方案在平时工作得非常好,直到手续费涨起来的那天,每个用户都会意识到它并不是一个真正的闪电钱包。(译者注:在这种模式下,用户并不跟任何人创建通道,只通过链上资金与链下资金的互换来实现闪电支付;每当用户需要发起闪电支付时,都要做一笔链上交易。所以用户的支付成本是跟网络手续费率挂钩的,在费率上涨的时候就会暴露出来。)更好的解决方案是 JIT 流动性,就像我们在 Mutiny 的做法,或者是通道拼接技术(Phoenix 已经实现了)。(译者注:「JIT」是「Just in time」的缩写,意为「随时获取」,大致做法是,当超出收款额度的支付到达时,会导致新通道的建立,从而使用户获得足够的收款额度。)这些解决方案部分地抽象掉了流动性问题,但还不够,我们常常会遇到用户在客户支持频道中提问,为什么某一些支付有手续费,而另一些没有。事实就是,通道流动性对于绝大部分终端用户来说不是一种可用的用户体验。

闪电网络的另一个主要痛点是离线收款问题。根本上,你必须在线,使用你的私钥来签名并申领一笔支付。技术上来说,有一个持续进展的规范提议可以解决这个问题(本质上是创建一个通知系统,告知用户何时应该上线收款),但也并不能解决根本的问题,也依然有局限性。也有一些解决这个问题的尝试,最著名的当属 Zeus Pay 的闪电地址。本质上,它只是创建一笔卡住的支付,然后等待收款方上线来接收支付,这给人们带来了不计其数的问题,甚至迫使我们 Mutiny 禁止用户向他们支付,因为它导致了许许多多的强制关闭通道事件。这是一个难题,因为其余所有的比特币/密码货币 生态的工作模式都是你只需 复制-粘贴 一个地址,然后就可以随时给这个地址支付,不会有任何警告要求你提醒自己的朋友记得打开钱包。闪电地址这样的东西甚至让它进一步恶化,因为它从一开始就需要一个网络服务器来使你能够获得发票。

我认为,通道流动性问题和离线收款问题,是自主保管的闪电钱包没法流行起来的两个最显著的理由。绝大部分用户听到这两个问题中的任何一个,都会想「算了」,然后转去使用一款托管钱包,因为那实在是容易太多了。如果我们只有这两个问题,我认为自主保管的闪电钱包还是好的,也许不会成为人们使用闪电网络的主流方式,但我们可以让用户体验足够好,好到能让大一部分人群以自我主权的方式使用闪电网络。然而,表象之下还有更多的问题。

通道流动性是一个问题,但它也有欺骗性。在你拥有 10 万聪的收款额度时,你会认为自己最多可以收到 10 万聪的支付,但不是这样的,你常常收不到任何支付。这是因为链上手续费。在闪电通道中,每当你发生一笔支付时,你都需要创建一笔新的预先签名交易,而这笔交易需要为每一笔正在处理(还未完成)的支付安排一个输出,这些输出会影响交易的体积,因此需要为之提供手续费;网络手续费率越高,你的流动性就越少(被分配给了手续费)。在我们解决了 Mutiny 的大部分导致强制关闭通道的问题时,这个问题就成了数量最多的客服请求。即使你做对了一切事情、理解了流动性并你的支付准备了足够多的流动性,支付依然可能不成功,因为链上手续费太高了。这总是让人失望,因为,闪电网络的全部意义不就在于你不必非得支付链上手续费吗?基本上,当前所有的闪电通道,都可以因为链上手续费率变得足够高而沦为无用之物,因为一次支付需要太多准备金。显然这只是一种夸张,但我希望我表达清楚了:链上手续费不仅影响开启和关闭通道的代价,即时你是一个勤奋的节点运营者,仅在手续费率低的时候开启通道,那也不够,你的通道需要足够大,大到足以在未来的任何时候、链上手续费率的任何水平、为你的每一个 HTLC 支付链上手续费。随着链上手续费不断上涨,这个问题只会变得更加严重。

为这个保证金问题而提议的解决方案是「锚点通道」、「交易包转发」、「一次性锚点」,等等。这些想法都有价值,也不错,但一定程度上只是掩盖了问题。它们确实能够让手续费保证金变得非常低,甚至可以是零,然而,其取舍在于,你需要可以使用的链上资金来为你强制关闭通道的操作追加手续费,这样交易才能得到区块确认。(译者注:这里解决方案的核心是「CPFP」,使用高费率的子交易提高父交易的吸引力;因此,父交易,在这里是通道的承诺交易,可以不准备任何手续费,也就没有资金占用问题。但取舍如作者所述。)这又一次打破了自主保管钱包用户的使用体验,因为他们必须在闪电网络资金之外持有链上资金,这样他们才可以追加手续费。而需要准备的链上资金的规模依然动态地取决于链上手续费率。解决这个问题的方法包括让其他人来帮你追加手续费,但这会引入一个受信任的第三方,所以并不理想。

当我们列出一个闪电节点需要做的所有权衡、尤其是高手续费环境对它的影响时,我不禁思考,我们到底在干什么?我们走的路是错的吗?闪电网络依然从头到尾是一个极为强大的支付协议,但它的局限性在于它需要 扩大规模。基本上我列举的每一个问题,在你拥有一个大闪电节点时都会消失不见——你有大量的流动性和高运行时间。我们应该优化这一切。市场一直在教育我们,这么多年了,90% 以上的闪电用户都在使用托管式钱包,因为它在扩大规模上就是做得更好。那么,我们如何能够不使用托管钱包而用上大规模的闪电节点?

遗憾的是,结合现有的大体量的闪电网络基础设施以及自主保管解决方案,依然力有不逮。到目前为止,做到这点的唯一真实的方法是我们前面提到的 Muun Wallet,但它并不真的解决了问题,因为所有一切都只是链上交易。但是,Muun 做对了一些事情。设计一个通向闪电网络的更简单的协议接口的架构,是一种天才的想法,而且给了我们两个世界里最好的东西。我们可以发起快速而便宜的支付,并让那个大男孩通过运行闪电节点来收取手续费。刚刚启动的 Aqua Wallet 本质上也是一个 Muun Wallet,只不过是在 Liquid 上,这是一个很好的权宜之计,但并不能从根本上解决问题。

在我们继续前进之前,我们应该后退一步,分析一下我们要尝试解决什么问题。比特币有一个根本上的扩容限制:其区块大小。如果我们可以拥有无限的区块大小,那我们就不需要任何 Layer 2 解决方案了,因为我们只需要链上支付。然而,我们生活在真实世界中,而且有 1 MB 的区块体积限制,它限制了我们可以在链上确认的交易数量。闪电网络是对比特币的巨大提升,因为我们不需要将每一笔 交易都发布到链上,我们只需要开启一条通道,然后就可以发起几乎无限笔支付。那么,闪电网络怎么没有一剑封喉?因为闪电网络让我们可以将支付转移到链下,但没有做到能让我们将所有权转移到链下。根本上,闪电网络依然依赖于,最终的最终,一个 UTXO 会归属于某一个用户。所以,即使链上的每一笔交易都属于某一条闪电通道,我们依然会撞上一个限制——能够拥有自己的通道的人的数量终究是有限的。我们需要的是另一种 Layer 2,可以扩展 utxo 的所有权,并且可以跟闪电网络交互,这样我们就有办法在扩大支付容量的同时扩大所有权的容量。

那么,我们如何扩大所有权的容量呢?简单来说,今天的答案是托管(custody),无论是纯粹的托管商(比如 Wallet of Satoshi)或者处于灰色地带的(比如 fedimint 和 Liquid),今天我们能用的唯一办法就是托管或者联盟桥。在比特币上,唯一能够将一个 UTXO 的所有权委托给多方的办法就是多签名,然而,它要求任何一个用户希望交互时,每一个用户都在线,而且,当你沿着这条路走得足够远,最终你只会重新发明闪电网络。

那么我们注定要失败吗?没有能够以自我主权的方式扩展比特币的方法吗?幸运的是,答案是否定的,但我们需要一些软分叉。限制条款(covenant)就是扩大所有权容量的办法。有许许多多的限制条款提议,但归根到底,它们所提议的都是添加一种办法,让你可以拥有一种比特币地址,可以限制其中的资金被花到哪里去、怎么花。这看起来似乎很奇怪,但我们今天的比特币上已经有这种东西了,OP_CTLV(CheckLockTimeVeiry),是在 2016 年的软分叉中激活的,它仅允许你使用具有给定 locktime 数值的交易来花费一个比特币地址中的资金,所以它让你可以把关可以花费一个 UTXO 的 时间。当前的限制条款提议所做的是让你可以把关可以花费一个 UTXO 去哪里。有这个简单的元件,我们就可以开发出许多不同的协议,允许扩大所有权的容量。

不过,未来并不灰暗,即使没有限制条款,我们依然可以扩容比特币,只不过不是以理想的方式。在 Mutiny,我们正在全力推进在钱包中实现 fedimint,我个人(以及我们团队中的其他人也)认为,这是比特币当前最好的扩容解决方案。Fedimint 给了我们可以动态地跟一群人分享所有权的能力,而且可以通过网关跟闪电网络交互。这是当前技术下比特币扩容梦想的顶峰,我们将不遗余力帮助它成为现实。

原文链接

文章来源于互联网:重新思考闪电网络:全力实现比特币扩容梦想

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策井自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场

上一篇 2024年1月12日 下午4:56
下一篇 2024年1月12日 下午7:10

相关推荐

  • Sui公布首批「Builder Hero」获奖名单:20个OG项目,围绕DeFi赛道

    《 盘点 Sui 生态首批 20 个「Builder Hero」获奖项目 》 作者: Azuma,Odaily星球日报 今日凌晨,Sui 公布了该生态「Sui Builder Hero」奖项的首批获奖名单,该奖项旨在表彰那些基于 Sui 网络构建工具和应用,并通过参与讨论、推广教育以及其他形式对 Sui 生态建设作出贡献的项目方和开发者,获奖者除了可获得一定…

    2023年2月22日
  • 深入探讨重入攻击如何盗走Curve池7000万美元

    《A Deep Dive Into How Curve Pool』s $ 70 Million Reentrancy Exploit Was Possible》 作者:CyberPunkMetalHead 原文翻译:Odaily 星球日报 近期的 Curve 池漏洞与我们在过去几年里看到的大多数加密货币黑客事件有所不同,因为与之前的许多漏洞不同,这一次并不直…

    2023年8月7日
  • 回归初心,我们需要什么样的DApp应用?

    作者:JX,OFR 合伙人 What kind of DApp do we need? 如果你是一个理性客观的投资人,应该感觉到我们已经不需要更多的基础设施项目了,至少目前不太需要。 当前的基础设施到下一次牛市甚至下下次牛市(如果有的话)都 tm 够用了。 可扩展性来说 – 我们有 Solana,正统性上 – 有 ETH L2 Rol…

    2023年9月5日
  • 律动早报|Binance将上线Celestia (TIA);Starknet将向早期贡献者分配5000万枚STRK代币

    精选要闻: 1.Bigtime 项目方钱包向两个新地址转入价值 276 万美元 BIGTIME 代币; 2.Starknet 将向早期贡献者分配 5000 万枚 STRK 代币; 3.Binance 将上线 Celestia (TIA); 4.知情人士:a16z 计划为下一个早期基金筹集 34 亿美元; 5.英国财政部发布加密资产监管最终提案,加密公司需获得…

    2023年10月31日
  • 0xScope:部分协议在 Euler 中有数百万美元及以上的牵连资产

    ChainCatcher 消息,据 0xScope Protocol 监测,部分项目及巨鲸地址在 Euler Finance 被攻击事件中遭到了波及,其中 Angle Protocol 在 Euler 中有 1760 万美元 USDC;Idle DAO 在 Euler 中有 460 万美元 USDC;SwissBorg 在 Euler 中存入了 6357 枚…

    2023年3月13日
返回顶部