Spark 和 Ark:看看我们最新的比特币 Layer 2 解决方案

  • BTCStudy
  • 发布于 4小时前
  • 阅读 41

本文深入探讨了比特币Layer 2网络Spark和Ark。它们旨在简化闪电网络的使用,并扩展其功能至支付以外的领域。文章详细介绍了Ark和Spark的架构、交易流程、信任模型、隐私性以及各自的优缺点,对二者进行了对比分析,并探讨了它们在比特币生态系统中的作用和未来发展。

作者:Seth For Privacy

来源: https://bitcoinmagazine.com/technical/spark-and-ark-a-look-at-our-newest-bitcoin-layer-twos

在我为 Cake Wallet 寻找最佳的解决方案、给用户提供友好、非托管的闪电网络使用体验时,我 深深 陷入了 Spark 和 Ark 的兔子洞。两者都是比特币 Layer 2 网络的非常新颖的方法,并且内核中都设计了通过闪电网络的支付、跟广大的比特币网络互操作。虽然两者都可以“仅仅”用于闪电支付,但两者都有可能在未来的几个月、几年中迅猛地生长,用在不限于支付的众多场景中。

先要说明的是,虽然 Spark 和 Ark 从表面上来看非常相似,它们的实际用法和实现方式是相去甚远的。

为什么我们需要新的 Layer 2 ?

究其核心,比特币是自由的终极工具,但因为区块空间约束,我们知道,不可能容纳地球上的绝大部分人口都在区块链上收发交易。因此我们有了闪电网络,它让一笔得到区块链确认的交易可以支撑几乎无数笔不在区块链内确认(即所谓“链外”)的交易,这就扩大了比特币基础层的有用性,也使得更多人能够使用比特币来收发交易。

虽然闪电网络在扩大比特币支付吞吐量上提供了一种很有前景的方法,最终人们意识到,最适合它的角色是称为一个互操作层,而不是作为终端用户工具。链上操作要求、流动性管理、在线要求,等等障碍,都让用户友好、自主保管的闪电网络使用体验近乎无法实现。这已经很明显了,因为绝大部分的闪电钱包和用户场景都使用了托管模式或者联盟托管模式,就是为了简化用户体验和实现难度。

Spark 和 Ark 给比特币世界带来的最大好处在于,它们在一开始就给了普通的开发者更加简单和轻松的方式来给用户提供闪电网络使用体验,同时,它们还可以大大拓展闪电支付以外的功能。

简单说 Ark

历史

“Ark”的概念诞生于 2023 年 5 月,由 Burak 提出(他是闪电网络的提倡者和开发者)。这一创造背后的推动力是,他意识到闪电网络的构造方式使之并不能高效地吸引普通个人使用,因为包括流动性管理在内的诸多要求,而且隐私性也常常缺失。虽然 Burak 发明了这套协议,两家公司(“ Ark Labs” 和 “ Second”)已经参与进来,将 Ark 协议打造成了终端到终端的 Layer 2 方案。

虽然两家公司的开发都围绕着同一个开源的 Ark 协议,他们的实现和目标也很不同。因此,我只能尽力提炼出下面的讲解。

术语

Ark:Ark 是一种在区块链外转移比特币的协议,它利用了用户与一位 Ark 运营者所组成的多签名装置和基于这种多签名的预签名的交易。你能用比特币交易做到的事,在 Ark 环境中都能做到,但速度会更快、手续费也会更低。

Ark 运营商:在一个 Ark 实例中运营着中心化的 Ark 服务端基础设施的实体,负责提前为用户 VTXO 提供流动性(在这些 VTXO 过期后收回)。

闪电网络网关:给一个实例中的 Ark 用户提供发送和收取闪电支付能力的实体,使用 Ark VTXO 的免信任原子化互换。这一功能可以由 Ark 运营商来一并提供,但往往由另一实体来提供,以分散对手方风险。

虚拟交易输出:也称为“VTXO”,在特性上与区块链网络内的 UTXO 非常相似,但却是 “虚拟的”,因为它们并不表现为链内的独特 UTXO,而是完全生活在链外。用户在 Ark 协议中发送和收取 VTXO 。

回合:在需要获得真正的终局性 以及/或者 刷新 VTXO 时,Ark 协议的用户需要参加回合,也就是跟所在实例中的其他 Ark 用户和 Ark 运营商合作,从而获得新的 VTXO(需要支付服务费)。

发起交易

Ark 的工作模式跟区块链内的比特币交易非常相似,也继承了许多相同的习惯,但同时又允许交易在 Ark 参与者之间近乎实时地确认,同时是信任最小化的。发送者跟 Ark 运营商一起签名,从而将自己的 VTXO 交给收款方(或者,在 Ark Labs 的版本中,是为收款方创建一个新的、串联的 VTXO)。这就提供了一种在许多方面都跟链内支付相似的用户体验,只是交易手续费更低、速度更快。当用户想要发送或收取闪电支付时,他们可以跟一家闪电网关合作,从而按需将 VTXO 原子化地换成闪电支付。当前,在 Ark 中还做不到离线收取闪电支付,但很有可能会使用跟 Spark 相似的信任最小化的方式来解决。

如果用户需要终局性(比如,在他们收到大额支付时),他们可以选择加入一个回合,从而终局化支付、获得跟链内比特币一样的终局性假设。回合发生的频率将因 Ark 运营商而异 —— 估计在每 10 分钟一次到每小时一次之间 —— 并且,回合需要在尝试参与的用户和 Ark 运营者之间完成一次比较耗时的协调签名流程。回合的频率可以根据需求而变化,并不是一个需要像比特币出块间隔一样定死的东西。

因为 Ark 直接从链内比特币处继承了比特币的脚本编程功能和 UTXO 模式,Ark 在未来有可能会拓展为支持 token 协议(比如 “Taproot Assets”)。

信任因素取舍

Ark 的目标是以一种信任最小化的方法了拓展比特币,在可用性和取舍上,站在了闪电通道和 Spark 的中间。还要提一句,作为一种协议,Ark 还在迅猛开发中,所以一部分牺牲也许能够通过使用新颖的链外方法(或者在 限制条款 在比特币上实现之后应用它)来解决。

“回合外” 交易缺乏终局性

Spark 缺乏可证明的终局性,Ark 则采用了一种中间立场。对于小额支付,用户可以依赖于“Ark 运营商不会与 VTXO 的前任发送者(所有者)勾结”的安全假设,从而获得即时支付,而不需要参与协调签名回合。注意,默认条件下,Ark 内的支付都将是这种缺失真正终局性的“回合外”支付;这一牺牲让 Ark 能在用户刚上手时就交付良好的用户体验。

话虽如此,需要/想要 真正终局性的用户,可以通过加入一个回合、从 Ark 运营商处收到一个新的 VTXO来获得它。实质上,收款方可以按自己偏爱的收款模式来选择。

VTXO 过期

Ark 运营商需要提供流动性来运营 Ark 实例,因此,TA 需要一种办法来定期回收流动性。为了允许这种回收,Ark VTXO 都带有过期时间(比如说,30 天,这个数值是由各 Ark 运营商自己设置的),从而,VTXO 的主人(在 VTXO 临近过期的时候)要么加入一个回合来刷新 VTXO,要么就有完全失去资金控制权、让 Ark 运营商获得它的风险。虽然 Ark 运营商有强大的激励不拿走它,而是在遭遇超时的用户回到线上之后向 TA 发放新的 VTXO,但在发放新的 VTXO 给用户之前,Ark 运营商和该用户都能花费这笔资金。

为了避免资金过期,用户需要在过期之前刷新自己的 VTXO,要么是直接参与回合,要么是 外包给一个代理中文译本)。此外, Boltz 这样的实体可以提供原子化互换服务,将一个即将过期的 VTXO 换成一个延长了生命周期的 VTXO ,但当前尚未实现。

复杂的回合用户体验

如果你曾经在比特币上尝试过使用 CoinJoin,你就知道,跟其他比特币用户协调签名一笔交易是多么麻烦而又不可靠。在 Ark 中,为自己的 VTXO 谋求真正终局性的人需要保持在线,直到一个回合签名流程完成,而这顺利与否将严重依赖于其他参与者的行为(保持在线并妥善签名)。虽然这对于一个运行在永续在线服务器上的钱包软件来说只是小菜一碟,但移动平台上的钱包软件想要可靠地执行,是非常困难的,尤其是,iOS(iPhone 手机的操作系统)并不保证任何 app 的后台执行(因此并不能保证在需要签名的正确时间能够在线)。

因为这一复杂的用户体验,“Ark Labs” 提出了 一套系统中文译本),让用户可以用信任最小化的方式我托第三方来执行刷新,也就是将在线要求外包给第三方。虽然这样的第三方无法盗窃资金,如果他们离线或者拒绝刷新某个 VTXO(不管出于什么原因),这个用户都将被迫(在过期之前)自己参与一个回合。为了缓解这种风险,用户可以委托多个代理人,从而将信任假设转变成 1-of-N 假设 —— 只要这 N 各代理人中有一个是诚实的,那么这个 VTXO 就可以妥当地刷新。

“Second”也有一种相似设计的系统,支持免信任、非交行的回合,允许任意数量的参与者在一个回合中为一位用户签名(即,包括钱包供应商和第三方的代理人),只要任意一方妥当地签名,用户的 VTXO 就可以妥当地刷新。

注意,虽然这两种方案都 可以 刷新即将过期的 VTXO ,但光凭委托这个操作 无法 给予用户真正的终局性 —— 必须经过回合才行。

最后,有必要指出,只要一种限制条款可以部署到比特币熵,回合过程的绝大部分复杂性就可以在整体上缓解,从而为 Ark 带来用户体验的极大提升。

隐私性取舍

Ark 继承了比特币的糟糕的隐私性,而且,作为一种协议,并不能提供任何显著的隐私性提升。但是,它将交易的执行转移到链下、拓展了比特币的功能,所以,现有的、创新的隐私性协议都可以建立在它之上,而限制条款可以完全解锁这种潜能(比如,在 Ark 内实现隐私回合)。

短期内,Ark Labs 计划使用类似于 WabiSabi 的盲化证书(blinded credentials)来提升用户在参与回合时应对运营商的隐私性。

交易可见性

虽然 Ark 内部的所有交易不需要发布到区块链,提供了一些松散的临时屏障,但是,所有交易的细节对 Ark 运营商都是可见的,不应看成是真正隐私的。相反,将 Ark 所提供的临时的隐私性看成跟私人虚拟网络(VPN)类似(将交易的可见性从对比特币区块链公开,转移为对一个受信任的第三方公开),会是有用的视角。

此时,尚不清楚“Ark Labs”和“Second”会让交易数据保持隐私,还是公开发布,但作为私人虚拟网络的用户,不应该完全指望靠服务商不公开的承诺就能获得隐私性。

了解更多

简单说 Saprk

历史

Spark 网络在今年早些时候由“Lightspark”(一家有着有趣经历的比特币相关公司)启动。从 “UMA”(为他们的银行业伙伴提供原生集成的合规特性的用户名系统)到跟 失败的“Libra”货币 的关联,他们在开发工具上有一些奇怪的激励,跟比特币自身更多是密码朋克的起源不太沾边。不过,当我把他们的奇怪记录摆在一边、专心看 Spark 协议的实际内容时,我发现,它是一个相当有用、务实而且强大的工具。

Spark 的内核采用了来自“ statechains”( 中文译本)的许多有用特性;后者是比特币的一种新颖的 layer 2 构造,由 Ruben Somsen 在 2018 年提出。Spark 专门用“叶子”的想法拓展了 statechain;“叶子”让用户可以在一笔交易中发送任意数额,而不是只能转移整个 UTXO —— 这是 statechain 迄今为止的最大问题。

术语

Spark 实体:运行一个 Spark 实例的实体,比如 “Lightspark”,由一群 Spark 运营者组成。因为 Spark 是一种开源的协议,任何人都可以开创自己的 Spark 实体,但每一个 Spark 实体都控制着自己的运营者的准入。

Spark 运营者:每一个 Spark 实体都由一个乃至多个 Spark 运营者组成,每一个都负责所在 Spark 实例内的用户的验证和签名操作,包括转移资金和 token 、发行新 token ,等等。运营商可以是跟 Spark 实体重合的实体,或者(希望)在社会关系和司法辖区上与 Spark 实体有别。当前有两家 Spark 运营者,分别是“Lightspark”自己和“Flashnet”,但预计会有更多运营者加入近来。

Spark 服务供应商:一家实体,向 Spark 用户提供多种服务,包括使用原子化互换功能来代表用户发送和收取闪电支付(这是免信任的)。

Spark 叶子:Spark 引入了“叶子”的概念,解决了在 statechain 中必须转移整个 UTXO 的问题。叶子也可以理解成类似于比特币中的 UTXO ,因为它可以自由分割成任意数额。

发起交易

简单来说,Spark 的工作原理是,它让用户可以在 Spark 内近乎即时地转移比特币,办法就是跟 Spark 运营者合作,以信任最小化的方式转移单个叶子的所有权给另一个人。这种转移不需要区块链、区块确认以及发送者和接收者同时在线,从而支付变得简单又快捷。当用户希望发起闪电支付时,就发起原子化的互换:把一个(或者多个)叶子支付给某个 Spark 服务商,该服务商会代表用户发送支付(只是收取一些手续费)。

在转让一个 Spark 叶子时,发送者通过联合(运营者)签名,将这个叶子的所有权从“他们自己 + Spark 运营者”切换为“新的所有权人 + Spark 运营者”。结果是,只要这个 Spark 运营者和发送者中的任何一方诚实地删除了自己用在联合签名操作中的密钥碎片,那么这个叶子就完全由接收方拥有、不可能被重复花费。由于这个操作只需要 Spark 运营者和发送者的协调,不涉及其他 Spark 用户,这些签名操作是非常快的,而且能够抵抗 DoS 攻击。

Spark 也为离线收取闪电网络支付引入了一种 1-of-N 信任模式。离线收取闪电支付是对标准的闪电钱包的一个关键的用户体验提升,在移动端钱包上尤其重要,因为移动平台无法保证后台执行,也无法保证全天候的完美互联网连接。

除了常规的支付,Spark 还拓展成了包含 原生的 token 支持,其核心关注点是让 USDT 和 USDC 这样的稳定币可以在 Spark 网络中发行并无缝地转移。Token 转让跟标准交易使用相似的信任模式,也都保持单方面退出到区块链网络的能力。

最后,Spark 中的用户可以随时退出到区块链网络内,具体做法就是发布一笔预签名的退出交易。虽然退出的代价并不是恒定的,会因为叶子深度和链内手续费率这样的因素而变化,但它是一个关键的工具,可以保证在 Spark 实体萌发恶意或无法响应时取回资金。

信任因素取舍

为了解决当前击败闪电网络和比特币使用体验的问题,Spark 作出了许多非常务实的取舍。话虽如此,相比于区块链内的比特币和闪电网络,Spark 的使用体验有一些重大区别。我倾向于使用“信任最小化的”这个术语来描述 Spark(以及其它大部分 layer 2 网络),因为只有自我保管的链内比特币可以完全视为“免信任的”。

缺乏真正的终局性

在 Spark 中,完全自治的核心风险在于,Spark 叶子缺乏真正的终局性,用户永远无法 确证 他们的资金无法被重复花费(涉及该叶子的以往发送者和 Spark 运营者中没有任何一对会勾结)。在 Spark 内,终局性(知道你的资金只能被你自己的密钥转移)的存在取决于任何一个 Spark 运营者都会在签名一笔 Spark 交易之后删除自己用来签名的密钥碎片 —— 也就是说,可能存在,但却是无法证明的。相反地,如果所有 Spark 运营者都是恶意的,而且拒绝删掉自己的密钥碎片, 并且跟你现在持有的叶子的以往发送者相勾结,那他们就能重复花费这个叶子(实质上就是盗窃你的资金)。

虽然在实际场景中,我认为这个 1-of-N 信任假设是合理的,但它确实远远低于常规的、链内比特币的信任假设(默认具有真正的终局性)。还值得指出的是,由于 Spark 交易的假名属性,前任发送者可能就是 Spark 自己。

可能中心化的 token 控制

虽然 token 的转让跟常规的 Spark 支付一样使用 1-of-N 信任假设,token 自身却是可以随时冻结的,只要发行者决定启用这个功能。虽然这类似于许多中心化控制的稳定币(比如 USDT,经常出于法律原因而遭冻结和罚没),还是有必要指出。这项特性可能会在许多合规的稳定币(比如 USDC 和 USDT)中启用。

离线收取闪电支付的安全性:1-of-N 模型

离线收取闪电支付并不像标准的闪电支付那样是信任最小化的,但是偷盗资金需要所有 Spark 运营者勾结来偷取一笔闪电支付,这是很不划算的,因为闪电支付的数额较小、而运营商将面临巨大的声誉风险,并且,即使盗窃成功,用户也是很容易发现的,因为闪电网络本身就提供了支付证据。

隐私性取舍

Spark 自身不应被看成是一种隐私性工具,因为它继承了比特币基础层的核心隐私性问题,并且一开始在隐私性上作出了一些糟糕的设计选择。话虽如此,Spark 的核心技术可以拓展成拥有令人赞叹的隐私性 —— 只要 为所有交易使用盲化签名、为 token 转移隐藏数额并引入其他隐私技术,这些在比特币生态系统中也是难能做到的。

交易可见性

虽然 Spark 内的交易不会像链内交易那样全部公开到区块链,所有的 Spark 运营者都能看到自己所在 Spark 实例内的所有交易。理论上,这种模式可以提供临时的屏障,只要 Spark 运营者使用了不公开日志的使用条款,但在实际场景中,当前,“Flashnet”(其中一个 Spark 运营者)将处理过的所有交易数据都发布到了 一个网站。这意味着外部的观察者也能轻松查找 Spark 地址并看到所有交易的细节、token 余额,甚至使用时机和数额分析、将闪电支付关联到 Spark 地址。

注意,Spark 正在为钱包开发者添加这种数据发布的可选关闭功能(通过将交易标记为私密的),这(在关闭时)就退回了跟 Ark 同样的类似于 VPN 的信任模式(前面已经讲过)。如果一个钱包开发者使用了这个功能(我希望他们全部都使用),那么 Spark 运营者将承诺不会公开发布相关的交易数据,但是他们依然能够在本地存储这些数据。

缺乏地址轮换

在当前的版本中,Spark 并不支持在一笔交易中花费来自多个 Spark 地址的资金。虽然 预计这个问题会得到修复,并且众所周知它是 Spark 的一个关键短板,但是当前,这意味着绝大部分的 Spark 实现,都将让用户为所有交易使用一个静态的地址,这使得当前的 Spark 的隐私性甚至比普通的链内比特币还要差。地址重复使用、所有数额都公开,这两者意味着攻击者可以对支付轻松执行 时机 + 数额 启发式分析,从而弄清楚哪一笔闪电支付发送到哪个 Spark 地址。

Spark 地址泄露

仿佛是为了创造出隐私性问题的三连击,“Spark”所提供的核心 SDK(软件开发工具)(以及来自“Wallet of Satoshi”钱包的最常用的 Spark 实现)都默认在 BOLT11 闪电发票中包含用户的 Spark 地址(这本来是没有必要的)。这意味着,任何能够解码 BOLT11 发票的人都能在有关的发票中了解相关用户的 Spark 地址、进而了解该地址的所有交易 —— 这都仰赖于前面提到的设计:使用静态地址,以及,将所有交易细节都公开。

注意,这个特性并不是绝对必要的,钱包开发者可以简单禁用它,并且,在使用 Spark 协议的“ Breez Nodeless SDK ”中已经移除了(这个 SDK 正迅速获得采用)。但无论如何,有必要专门指出。

了解更多

结论

虽然 Spark 和 Ark 都代表着比特币可用性和可扩展性的一个令人激动的新时代,它们也有属于自己的牺牲。虽然两者都不是完美的解决方案,令人激动的是,钱包开发者们终于有了两个相互竞争而且有趣的选项,可以在他们的软件中实现闪电支付、原生 token 和其他功能,并且无需面对一向跟闪电通道相关的复杂性。Spark 和 Ark 都是扩容比特币的务实结果,代表着一种艰辛但务实的路径,在信任最小化要求、用户体验和扩容效果之间取得平衡。

因为两者都是迅捷演化中的协议,我希望这两种解决方案的取舍,都可以在接下来几个月、几年中迅速优化和缓解,让更多人能够持有非托管的比特币,同时拓展我们可以在比特币上建构的东西。

衷心感谢来自 Spark、Ark Labs、Second、Breez、Spiral 和 Bitcoin QnA 的朋友为本文提出的意见!了解这些创新系统的所有的信任假设和取舍要花费大量的时间,我非常感激贡献出自己宝贵时间的每一位朋友。

(完)

  • 原文链接: btcstudy.org/2025/10/28/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
BTCStudy
BTCStudy
https://www.btcstudy.org/