作者:Roy Sheinfeld
来源:https://bitcoinmagazine.com/print/ark-and-spark-the-channel-factories-print
“通道工厂” 是在闪电网络起步阶段就诞生的一个愿景,为了解决闪电通道从一开始就面临的一些挑战。虽然闪电网络凭借即时和低手续费的支付功能,已经成为了比特币最成功的 layer-2 扩容方案,但它的扩容效果受制于其组成单元:支付通道。虽然闪电网络将绝大部分交易都转移到区块链外,每一条支付通道依然要在区块链内提交一笔交易才能开启,并且(通常来说)需要另一笔交易来关闭。随着采用量的增加,对区块链造成的压力也随之增加。显然,需要一种更可扩容的方法来管理通道。通道工厂就被认为能满足这样的需要,但它在哪儿呢?
在 2025 年,各式各样的子网络出现,携带着一些能够极大提升潜能的新细节,重新唤起了通道工厂的原动力。它们天生可以跟闪电网络互操作,并且,通过允许一群参与者共享一个多签名的 UTXO 并创建多条双向支付通道,它减少了需要在区块链内处理的交易的数量、提高了资金效率,实现了更大的扩容效果。通过减少复杂性来实现更大的扩容效果,Ark 构造和 Spark 构造通过新的设计与基于共享 UTXO 的额外能力,实现了跟通道工厂概念相同的功能。
通道工厂 101
“通道工厂” 的概念在闪电网络诞生时就出现了。一个工厂就是一个多方合约,多个用户(而不像 “ Dryja-Poon 支付通道” 那样仅仅是两个用户)在单个多签名 UTXO 中集体锁定资金。这样,这些用户就能在链外开启、关闭和更新通道,无需为每一个操作更新区块链。只有当参与者离开工厂,或者工厂解散时,才需要一笔链内交易。
通道工厂提供了一系列的重要好处。通过让一笔链内交易可以开启多条链外通道,通道工厂减小了基础链的负载。参与者们可以在彼此之间高效地重新平衡通道、完全无需触及区块链:新的通道也可以在工厂内按需创建,不涉及额外的区块确认手续费。可以调整通道与链内交易比例的能力,让通道工厂成了当前闪电网络可用的资金效率最高的扩容方法之一。
但是,尽管前景迷人,通道工厂还是很大程度上停留在草图阶段 —— 这并不是巧合。通道工厂通常要求所有参与者都在线,才能更新工厂的内部状态(从而在工厂内创建、关闭通道),除非有特殊的安排或者协议来处理异步性。比如说,闪电网络服务商(LSP)无法使用通道工厂来管理下游的跟用户的通道,因为在工厂创建的时候必须知道所有参与的对等节点。没有办法为一个现有的工厂添加增量的对等节点,所以,这个模式,对于其可扩展性内生于其商业模式的节点(在我们这个例子里是 LSP)来说,就不实用了。而且,要让用户从工厂退出,尤其考虑到参与者可能无响应或者带有恶意,就需要复杂的机制,可能要求参与者预先签名一大堆可能的退出交易、覆盖合作与非合作行为的每一种可能的组合。设想在一个五人的通道工厂,有一个参与者离线了,或者跑路了 —— 为了应对这种情形,剩余的参与者需要预先协商、预先签名一个退出路径;你再想想,不仅是某一个参与者可能离线,每一个参与者都有可能,那么就需要为每一种可能性都准备好退出交易。没有自动化和 “限制条款” 特性的支持,这些可能性会组合爆炸,成为运营种的噩梦。这些技术和使用体验上的局限性,使之很难推出一种流畅的用户体验,也很难让这样的系统拓展到进入生产环境。
从 2019 年以来,我们看到了多种优化通道工厂的提议,这说明兴趣是持续的,但很少见到真正进入生产环境的 —— 直到现在。
通道工厂提议简史
一份较早而且非常全面的通道工厂提议,来自 Conrad Burchert、Christian Decker 和 Roger Wattenhofer 在 2017 年发表的论文《比特币未支付通道网络的可扩展注资方法》。他们的设计允许一群参与者在一个多方 UTXO 中锁定资金、并在其中两两开启通道。每一次状态转换(开启通道、关闭通道、重新平衡)都需要形成完整的一组预签名交易。这保证了每个参与者都有一种密码学安全的方式随时退出工厂。
然而,Burchert-Decker-Wattenhofer 工厂构造有一个非常严重的可扩展性问题:工厂状态的每一次变更都需要全体参与者在线、签名变更。随着参与者数量的增加,需要预先签名的退出交易以及签名数量会指数型上升,互相协调的开销、存储负担和棘手概率也是如此。
提升这一模型的努力利用了更新的比特币特性。“ Taproot ” 通过允许将退出条件封装到一棵默克尔脚本树中(只有在花费时真正被使用的脚本才会揭晓),简化了退出交易的结构。这同时减少了交易体积和隐私泄露。“ OP_CHECKTEMPLATEVERIFY ”(OP-CTV,一个提议中的软分叉)则支持预先承诺退出路径且无需详尽的预先签名,从而可以极大地润滑通道工厂的运行。使用 OP_CTV ,一个工厂可以在创建时承诺一组退出交易;每个参与者都将明白自己可以按照一种恰当定义的方法来单方面退出;这样既减少了交互难度,又减少了操作复杂度。
虽然有这些进步,实践中的部署还是滞后。要求所有参与者在线交互以及复杂的签名方案所造成的障碍,尤其是在还没有 OP_CTV 的时候,确实是太高了。
Ark 和 Spark:下一代的通道工厂
近期的两个协议,Ark 和 Spark,通过不同的取舍,重新设想了通道工厂。虽然没有任何一个协议明确说自己是一种 “通道工厂”,它们的结构实际上就实现了早期的通道工厂提议致力的许多目标。因为两者都基于 “共享 UTXO”、都原生与闪电网络兼容,Spark 和 Ark 代表了利用了今天的工具和假设的、通道工厂的现代化身。至少! 两者都致力于保留通道工厂的好处(减少使用区块链、可扩展的流动性调配),同时解决围绕活性、交互需求和退出复杂性的关键弱点。最重要的是,两种协议都采用了一种务实的方法来实现扩容。它们都在比特币当前的公式规则下实现,无需软分叉加入新的操作码。
UTXO 分享
Ark 引入了一种围绕 “虚拟 UTXO(VTXO)” 的 UTXO 共享模式。Ark 不是给每个用户单独分配一个链上输出,而是让许多用户使用由一个 Ark 服务商管理的共享流动性池子,在链外交互。用户在发起交易时,向一个 Ark 服务商请求在下一个回合中包含一种新的 VTXO 分布,而这个 Ark 服务商就创建一笔交易(可以理解为一个 “Ark 区块”)来聚合近期的用户活动、同时将一个新的共享 UTXO 发布到区块链内。所以,Ark 协议让用户可以彼此传递 VTXO ,并通过定期在区块链网络中确认锚点交易、创造共享UTXO 来批量结算 VTXO 的分发。
用户也可以执行 “回合外交易”,就是在用户之间即刻移动 VTXO 、不等下一个回合的锚点交易。这时候,他们的 Ark 服务商要一起签名这笔回合外支付 —— 注意,这种支付是可以撤销的,如果这个 Ark 服务商和发送者一起勾结来重复花费这个 VTXO 的话。但是,接收者可以基于 Ark 服务商的声誉 来决定要不要接受这种风险:可以立即获得资金,也可以等待下一个回合。
Spark 则采取了另一条路径来分享 UTXO ,它建立在 “状态链(statechain)” 的概念之上。Spark 的共享签名协议的支点是 Spark 运营者们(SOs),他们会组成一个叫做 “Spark 实体(SE)” 的联盟。当一个用户加入 Spark 的时候,需要把资金存入一个由他们自己和 SE 一起控制的地址中。SE 和这个用户会预先签名一笔取款交易,确保这个用户总是可以单方面退出。每当一笔新的取款交易出现的时候,就发生了一笔支付,从而创建出了一个新的最新状态。随着时间推移,交易的历史会形成一个树状结构 —— 它从最初的共享 UTXO 中生长出来,而每一笔由某个用户持有的最末交易,就叫做一个 “叶子”。自然,在每一次变更状态之后,SO 们都必须删除自己与叶子的上一任所有者配对的密钥(也即删除旧的叶子),并且只要 SE 中的一个 SO 这样做了,就可以保证整个系统的安全性。这让 Spark 能够提供信任最小化、自主保管的链外支付,同时保持基础的 UTXO 不变。
(译者注:上面这段描述可能涉及两种不同的状态更新机制,一种是状态链原生的机制,即转移整个 UTXO;另一种则是用交易将一个 UTXO 分割成多个。前者只会涉及一个 UTXO 的控制能力变更,不会延伸树结构;后者则会造成树结构的延伸。作者说 “删除旧叶子” 的情形就是指前者:树结构不变,只是摘掉一个旧叶子,换成一个新叶子。)
与 Ark 一样,Spark 也引入了新的一些信任假设。Spark 要求至少一个 SE 中至少有一个 SO 是诚实的、删除了过期的取款交易(也可以配置成更高的阈值)。其结果是一种 “瞬时” 信任模式,也就是仅在转移资金的一刻要求信任:只要运营者删除了自己跟一笔转账相关的密钥,整个系统就保持了完美的前向安全性(forward security)。一旦这个密钥被删除了,那么即使这个运营者被劫持了,或是带有恶意,也无法追溯影响过去的交易或者盗窃资金,而且任意一个 SO 删除了就限制了同一 SE 中的所有 SO ,这就将责任分散在了多个运营者中。
闪电网络互操作性
为了跟闪电网络互操作,Spark 和 Ark 都依赖于由 LSP(闪电网络服务商)协助的互换。这些 LSP 必须参与到一个 Ark 或者 Spark 实体中,作为所在系统的桥梁:他们代替用户执行闪电支付,换得所在系统中的资产 —— Ark 中的 VTXO,或者 Spark 中的叶子。这个过程是由原子性保护的:这个 LSP 只有在可以证明闪电支付已经成功完成(出示支付原像)之后才能收到 VTXO (叶子)。这让用户自己无需运行闪电节点,就可以发起闪电支付。并且,这将这两种系统都连接到了更加广大的闪电网络生态系统种。
听起来像鸭子 ……
通道工厂通过利用共享 UTXO 来进一步提高闪电网络的可扩展性。从这个角度看,Ark 和 Spark 毫无疑问是通道通常,虽然它们在 VTXO 和状态链技术中拥抱了最新的潮流。给定这样的共享 UTXO 模式已经实现的效果,我们可以期待,通道工厂实验室在不远的将来还会出现好东西 —— 尤其是如果 L1 能够添加新的操作码的话。
Ark 和 Spark 从自身而言都是伟大的成就,但它们也都映出了闪电网络的伟大。如果不能跟其它的子网络 —— Liquid 侧链、Fedimint、Cashu 等等 —— 相互操作,这些改进型通道工厂的价值就要小很多。正是闪电网络,让它们可以跟比特币能去的几乎任何地方互操作。Spark 和 Ark 的出现并不是闪电网络遇上极限的征兆,而是它在今天的比特币经济中不可或缺的体现。
(完)