引言
随着区块链技术的发展,可扩展性和可编程性仍然是关键挑战,尤其是对于采用 UTXO 模型的区块链。Kaspa 作为一个利用 BlockDAG 结构的一层公共区块链,实现了高吞吐量,但缺乏原生智能合约功能,这是其他 UTXO 系统(如比特币)也面临的限制。为了解决这一问题,Kaspa 生态开发了 Kasplex L2,一种通过基于 Rollup 架构来实现与以太坊虚拟机(EVM)兼容智能合约的二层解决方案。
在本文中,我们将从安全与研究机构的视角,对 Kasplex L2 进行技术分析。我们的目标是可观评估其设计、技术实现及其对 UTXO 区块链的影响。我们将探讨 Kasplex L2 的工作原理,将其与比特币的 Inscriptions(如 BRC-20)进行对比,并讨论其优点与局限性。此分析旨在为 UTXO 模型区块链的可扩展性解决方案提供更广泛的讨论参考。
了解 Kaspa 一级链:高吞吐量的 UTXO 区块链
Kaspa 是一个采用 BlockDAG 结构的一级区块链,允许多个区块并行产生。该设计由 GHOSTDAG 协议驱动,使 Kaspa 实现了10 BPS的高吞吐量。与基于账户的区块链(如以太坊)不同,Kaspa 使用 UTXO 模型,交易通过消耗未花费输出并创建新输出来进行验证,从而保证了高效的验证过程。
虽然这种架构在支付场景中表现出色,但它在可编程性方面存在挑战。UTXO 模型天生是无状态的,缺乏维护持久状态或执行复杂计算的能力——这些正是智能合约所需的关键功能。因此,Kaspa 的功能仅限于简单的转账,这也促使了二层解决方案的发展,以扩展其能力。
Kasplex L2:用于智能合约执行的基于 Rollup
Kaspa 生态探索了三种二层(L2)方案:Sparkle、Igra L2 和 Kasplex L2。Sparkle 仍处于理论阶段,Igra L2 仍处于开发阶段。我们的分析重点放在 Kasplex L2 上,因为它是迄今为止最接近成熟的实现。
Kasplex L2 是一种基于 Rollup 的二层扩展解决方案,它依赖于一级链进行交易排序和数据可用性,同时将计算负载转移到二层。在这种设计中,Kaspa 的一级链负责确定交易的标准顺序并确保其数据公开可查,而 Kasplex L2 则执行 EVM 字节码以实现智能合约功能。
技术设计与工作流程
Kasplex L2 的核心机制是在 Kaspa 一级链交易的负载中嵌入 EVM 字节码。其流程可分为以下几步:
-
交易提交:用户向 Kaspa 一级链提交交易,其中负载包含 EVM 字节码。例如,负载可能编码一个对 HelloWorld() 智能合约函数的调用。
-
一级链排序:Kaspa 的 BlockDAG 在其 DAG 结构内对交易进行排序,提供一个确定性的交易序列。
-
二层执行:Kasplex L2 作为索引器运行,扫描一级链上的带负载交易,提取 EVM 字节码,按照指定顺序执行它,并更新其状态。无效或冲突的交易(例如试图双重支付的交易)将被丢弃。
交易提交机制
Kasplex L2 支持两种交易提交方式,各有不同的影响:
-
规范提交(Canonical Submission):交易通过 Kaspa 兼容钱包直接提交到L1,这种方式无需中继节点,符合区块链系统的去中心化原则。
-
代理提交(Proxied Submission):交易通过中继器(Relayer)提交,以兼容像 MetaMask 这样的 EVM 工具。中继者将交易转发到 Kaspa L1,确保其被记录后再由L2 处理。这种方式以用户便利性为优先,但引入了对中继者的依赖。
代理提交机制通过要求所有二层交易都必须锚定在 L1 链上,从而保证了原子性。如果某个交易在 L2 上产生但尚未在一级链上有记录,中继者会将其提交到 L1 链进行确认。此设计防止了绕过 L1 链共识的“原生”的 L2 交易,避免了潜在的安全风险。下图说明了两种提交路径:
规范路径:钱包 → Kaspa L1 → Kasplex L2
代理路径:MetaMask → 中继器 → Kaspa L1 → Kasplex L2
您可能会注意到,交易实际上是先在 L1 上完成,然后才由 L2 索引器进行解读。这正是 Kasplex L2 的工作原理:L1 先最终确定数据,随后 L2 才读取该交易并更新状态。
与比特币 Inscriptions 的比较
为了更好地理解 Kasplex L2,将其与比特币 Inscriptions(特别是 BRC-20)进行对比非常有帮助。两者都旨在通过利用 L1进行数据存储和排序,来扩展 UTXO 模型区块链的功能,但在实现方式和目标上存在差异。
相似点
-
L1中嵌入数据:Kasplex L2 和 BRC-20 都将在一级链交易中嵌入数据。BRC-20 使用比特币的 Tapscript(由 SegWit 升级启用)存储代币元数据,通常通过“提交(commit,数据哈希)→揭示(reveal,数据本身)→花费(spend,代币转移)”三步流程实现。Kasplex L2 则将 EVM 字节码嵌入到 Kaspa L1交易的负载中,实现了类似的 L2操作锚定。
-
L1作为可信数据来源:在两种情况下,L1都提供了操作的排序。BRC-20 依赖比特币区块链为代币转移排序,而 Kasplex L2 则使用 Kaspa 的 BlockDAG 为智能合约执行排序。
-
对索引器的依赖:两者都依赖链下索引器进行处理。BRC-20 的索引器解析比特币交易以跟踪代币余额,而 Kasplex L2 的索引器则执行 EVM 字节码以维护智能合约状态。
差异点
-
实现效率:BRC-20 的三步流程是对比特币僵化协议的变通,而 Kasplex L2 得益于 Kaspa 更具合作性的L1,能够在单笔交易负载中嵌入数据,从而减少了复杂性和系统开销。
-
性能考量:比特币的吞吐量约为每秒 7 笔交易,平均每 10 分钟生成一个区块,使得 Inscriptions 过程既缓慢又昂贵。Kaspa 的 10 BPS 升级则提供了显著的性能优势,使 Kasplex L2 能够更高效地处理更大规模的交易。
-
范围与功能:BRC-20 主要聚焦于代币发行和转移,而 Kasplex L2 支持完整的 EVM 兼容性,允许运行诸如 DeFi 协议或 NFT 市场等复杂智能合约。
-
协议灵活性:比特币的设计强调不可篡改性,迫使 L2 解决方案必须绕开其限制。Kaspa 尽管同样采用 UTXO 模型,但其 L1 设计更为灵活,能够与 Kasplex 等 L2 解决方案实现更紧密的集成。
这一比较凸显了一个关键见解:尽管两者在利用 L1 进行数据存储和排序的理念上相似,但 Kasplex L2 利用 Kaspa 的架构优势,实现了比铭文更高的效率和更广泛的功能。
评估 Kasplex L2:优点与局限
从技术研究的角度来看,Kasplex L2 展示了以下几方面的显著优点和局限。
优点
-
功能扩展:Kasplex L2 通过支持与 EVM 兼容的智能合约,成功扩展了 Kaspa 的能力,使其能够承载去中心化应用和代币化等在一级链上无法实现的用例。
-
高效利用 L1:Kasplex L2 借助 Kaspa 的 BlockDAG 实现交易排序和数据可用性,将二层的计算负担降至最低,仅专注于执行层面。这种设计与 Kaspa 的高吞吐架构高度契合。
-
公开可验证性:由于所有交易都记录在 L1 上,Kasplex L2 上智能合约的执行可以通过按标准顺序重新运行 EVM 字节码来独立验证,从而保证了透明度。
局限与风险
-
索引器信任问题:L2 索引器在执行字节码和维护状态方面承担关键角色,但存在索引器恶意行为的风险,例如在对外提供的 Merkle 根的同时,私下维护伪造的状态。解决这个问题需要建立去中心化的索引器网络,并引入经济激励或惩罚机制。
-
重组挑战:Kaspa 的 BlockDAG 虽然高效,但因并行出块机制可能导致近期区块的重组。这会迫使L2回滚并重新执行交易,增加了系统复杂性,同时在L2产生一定的零确认双花风险。
对 UTXO 模型区块链的启示
Kasplex L2 为 UTXO 模型区块链的可编程性扩展提供了一个案例研究,对比特币等系统具有借鉴意义。Kaspa 和比特币在智能合约支持方面都受限于 UTXO 设计,但 Kaspa 更高的吞吐量和更灵活的L1架构,为L2解决方案营造了更有利的环境。
对于比特币而言,Kasplex L2 的设计提出了以下可探索方向:
-
中继器集成:代理提交机制展示了如何将 EVM 工具与 UTXO 区块链集成,这一理念可应用于比特币的 BitVM 等二层方案。
-
基于索引器的执行:利用索引器在链下执行计算并将数据锚定在 L1 上的方式,与比特币 Inscriptions 模型相契合,或可启发新的可编程性扩展思路。
从研究角度看,Kasplex L2 是一次有价值的实验,它展示了 UTXO 区块链在吞吐量和协议灵活性方面的差异,对 L2 解决方案的可行性产生了何种影响。其研究成果可为整个区块链生态中,尤其是那些以去中心化和安全性为优先而非原生可编程性的系统提供设计参考。
结论
Kasplex L2 是一种技术上可靠的基于 Rollup 的实现,通过利用 Kaspa 的L1进行交易排序和数据可用性,实现了对 EVM 兼容智能合约的支持。我们的分析突出了其在利用 Kaspa 高吞吐量 BlockDAG 方面的效率,以及通过 EVM 兼容性扩展功能的能力。我们认为 Kasplex L2 对于 UTXO 模型区块链的L2解决方案研究具有实用的贡献。与比特币 Inscriptions 的比较揭示了两者在共用原理上的相似性,以及 L1 设计对 L2 可行性的影响。对于研究人员和开发者而言,Kasplex L2 提供了一个观察可扩展性、可编程性与去中心化在区块链系统中交汇的视角。
参考
Kasplex Github. [Online]. Available: https://github.com/kasplex/indexer-executor
Kaspa Research, “On the Design of Based zk-Rollups over Kaspa’s UTXO-Based DAG Consensus,” 2024. [Online]. Available: https://research.kas.pa/t/on-the-design-of-based-zk-rollups-over-kaspas-utxo-based-dag-consensus/208
特别鸣谢我们 BitsLab 的研究员 @ZorrotChen,感谢你为本文做出的贡献!