Sui 基金会支持的 MPC 网络 Ika —— 全面技术与投资评估
简介
Ika 是一个由 Sui 基金会战略支持的并行多方计算 (MPC) 网络。Ika 前身为 dWallet Network, 旨在以高速和大规模实现零信任的跨链互操作性。它允许智能合约 (尤其是在 Sui 区块链上) 安全地控制和协调其他区块链上的资产,而无需使用传统的跨链桥。本报告从创始人的视角深入探讨 Ika 的技术架构和密码学设计,并对其团队、融资、代币经济学、采用情况和竞争格局进行商业和投资分析。报告还包含一个 Ika 与其他基于 MPC 的网络 (Lit Protocol、Threshold Network 和 Zama) 的总结对比表,以供参考。
技术架构与特性 (创始人视角)
架构与密码学原语
Ika 的核心创新是一种新颖的 “2PC-MPC” 密码学方案——即在多方计算框架内的两方计算。简单来说,签名过程始终涉及两方:(1) 用户 和 (2) Ika 网络。用户保留一个私钥分片,而由许多独立节点组成的网络则持有另一个分片。只有在双方共同参与的情况下才能生成签名,这确保了网络本身永远无法在没有用户参与的情况下伪造签名。网络方并非单一 实体,而是由 N 个验证者组成的分布式 MPC,它们共同扮演第二方的角色。这些节点中至少有三分之二的门限必须达成一致 (类似于拜占庭容错共识),才能生成网络的签名分片。这种_嵌套式 MPC_ 结构 (用户 + 网络) 使得 Ika 非共谋:即使所有 Ika 节点合谋,它们也无法窃取用户资产,因为用户的参与 (他们的密钥分片) 在密码学上是必需的。换句话说,Ika 实现了**“零信任” 安全**,维护了 Web3 的去中心化和用户所有权原则——没有任何单一实体或小团体可以单方面危及资产。
图:Ika 的 2PC-MPC 架构示意图——用户作为一方 (持有一个私钥分片),由 N 个验证者组成的 Ika 网络通过 MPC 门限协议 (t-out-of-N) 构成另一方。这保证了用户和去中心化节点的超多数必须合作才能生成有效签名。
从技术上讲,Ika 是一个从 Sui 代码库分叉出来的独立区块链网络。它运行自己的 Sui 高性能共识引擎实例 (Mysticeti,一种基于 DAG 的 BFT 协议) 来协调 MPC 节点。值得注意的是,Ika 版本的 Sui 禁用了智能合约 (Ika 链仅用于运行 MPC 协议),并包含了用于 2PC-MPC 签名算法的自定义模块。Mysticeti 在节点之间提供了一个可靠的广播通道,取代了传统 MPC 协议使用的复杂点对点消息网格。通过利用基于 DAG 的共识进行通信,Ika 避免了早期门限签名方案的指数级通信开销,后者要求 n 方中的每一方都向所有其他方发送消息。相反,Ika 的节点通过共识广播消息,实现了线性的 O(n) 通信复杂度,并使用批处理和聚合技术,使得即使 N 变得很大,每个节点的成本也几乎保持不变。这代表了门 限密码学的一大突破:Ika 团队用高效的广播和聚合取代了点对点的“单播”通信,使得协议能够支持成百上千的参与者而不会减速。
零知识集成: 目前,Ika 的安全性是通过门限密码学和 BFT 共识实现的,而非明确的零知识证明。其核心签名过程不依赖于 zk-SNARKs 或 zk-STARKs。然而,Ika 使用链上_状态证明_ (轻客户端证明) 来验证来自其他链的事件,这是一种密码学验证形式 (例如,验证区块头或状态的 Merkle 证明)。该设计为未来集成零知识技术留下了空间——例如,在不泄露敏感数据的情况下验证跨链状态或条件——但截至 2025 年,Ika 公布的架构中并未包含任何特定的 zk-SNARK 模块。其重点在于通过 2PC-MPC 方案实现的“零信任”原则 (即无信任假设),而非零知识证明系统。
性能与可扩展性
Ika 的一个主要目标是克服以往 MPC 网络的性能瓶颈。传统的门限签名协议 (如 Lindell 的 2PC ECDSA 或 GG20) 难以支持超过少数几个参与者,通常需要数秒或数分钟才能生成一个签名。相比之下,Ika 的优化协议实现了亚秒级延迟的签名,并且可以并行处理非常高的签名请求吞吐量。基准测试声称,Ika 可以在大型节点集群中扩展到约每秒 10,000 次签名,同时保持安全性。这得益于前述的线性通信和大量使用批处理:网络可以在一轮协议中并发生成许多签名,从而极大地摊销了成本。据团队称,在负载下,Ika 可以比现有 MPC 网络**“快 10,000 倍”。实际上,这意味着实时、高频的交易 (如交 易或跨链 DeFi 操作) 可以得到支持,而不会出现门限签名通常的延迟。延迟在亚秒级最终性**的量级,意味着签名 (以及相应的跨链操作) 几乎可以在用户请求后立即完成。
同样重要的是,Ika 在实现这一点的同时,还扩展了签名者的数量以增强去中心化。传统的 MPC 设置通常使用一个由 10-20 个节点组成的固定委员会,以避免性能崩溃。Ika 的架构可以扩展到成百上千的验证者参与签名过程,而不会出现显著的减速。这种大规模的去中心化提高了安全性 (攻击者更难腐蚀大多数节点) 和网络鲁棒性。其底层共识是拜占庭容错的,因此网络可以容忍多达三分之一的节点被攻破或离线,并仍然正常运行。在任何给定的签名操作中,只需要一个 t-of-N 的节点门限 (例如 N 的 67%) 积极参与;根据设计,如果太多节点宕机,签名可能会延迟,但系统被设计为能够优雅地处理典型的故障场景 (类似于区块链的共识活性和安全性属性)。总而言之,Ika 同时实现了高吞吐量和高验证者数量,这一组合使其区别于那些不得不在去中心化和速度之间做出权衡的早期 MPC 解决方案。
开发者工具与集成
Ika 网络被构建为对开发者友好,特别是对于那些已经在 Sui 上构建的开发者。开发者不是在 Ika 本身上编写智能合约 (因为 Ika 的链不运行用户定义的合约),而是从其他链与 Ika 交互。例如,一个 Sui Move 合约可以调用 Ika 的功能来签署外部链上的交易。为方便这一点,Ika 提供了强大的 工具和 SDK:
-
TypeScript SDK: Ika 提供了一个 TypeScript SDK (Node.js 库),其风格与 Sui SDK 相似。该 SDK 允许构建者创建和管理 dWallets (去中心化钱包),并从他们的应用程序向 Ika 发出签名请求。使用 TS SDK,开发者可以生成密钥对、注册用户分片,并调用 Ika 的 RPC 来协调门限签名——所有这些都使用了 Sui API 中熟悉的模式。该 SDK 抽象了 MPC 协议的复杂性,使其变得像调用一个函数来请求 (例如) 一个比特币交易签名一样简单,只要有适当的上下文和用户批准。
-
CLI 和本地网络: 为了更直接的交互,提供了一个名为 dWallet CLI 的命令行界面 (CLI)。开发者可以通过分叉开源仓库来运行一个本地 Ika 节点,甚至是一个本地测试网络。这对于在开发环境中进行测试和集成非常有价值。文档指导用户如何设置本地开发网络、获取测试网代币 (DWLT——测试网代币) 以及创建第一个 dWallet 地址。
-
文档和示例: Ika 的文档包括针对常见场景的逐步教程,例如**“你的第一个 dWallet”**。这些教程展示了如何建立一个对应于另一条链上地址的 dWallet (例如,一个由 Ika 密钥控制的比特币地址),如何加密用户的密钥分片以安全保管,以及如何发起跨链交易。示例代码涵盖了诸如通过 Sui 智能合约调用转移 BTC,或安排未来交易 (Ika 支持的一项功能,即在特定条件下预先签署交易) 等用例。
-
Sui 集成 (轻客户端): Ika 开箱即用地与 Sui 区块链紧密集成。Ika 网络内部运行一个 Sui 轻客户端,以无需信任地读取 Sui 链上数据。这意味着一个 Sui 智能合约可以发出一个事件或调用,Ika 将通过状态证明识别其为执行某个操作的触发器。例如,一 个 Sui 合约可能会指示 Ika:“当事件 X 发生时,签署并在以太坊上广播一笔交易”。Ika 节点将使用轻客户端证明验证 Sui 事件,然后共同为以太坊交易生成签名。签名的有效载荷随后可以被传递到目标链 (可能由链下中继器或用户传递) 以执行所需的操作。目前,Sui 是第一个完全支持的控制链 (鉴于 Ika 起源于 Sui),但其架构是天生多链的。支持其他链的状态证明和集成已在路线图上——例如,团队提到将 Ika 扩展到与 Polygon Avail 生态系统中的 Rollup 合作 (在以 Avail 作为数据层的 Rollup 上提供 dWallet 功能),以及未来支持其他 Layer-1。
-
支持的加密算法: Ika 的网络可以为几乎任何区块链的签名方案生成密钥/签名。它最初支持 ECDSA (比特币、以太坊的 ECDSA 账户、BNB 链等使用的椭圆曲线算法)。在短期内,计划支持 EdDSA (Ed25519,被 Solana 和一些 Cosmos 链等使用) 和Schnorr 签名 (例如比特币 Taproot 的 Schnorr 密钥)。这种广泛的支持意味着一个 Ika dWallet 可以在比特币上有一个地址,在以太坊上有一个地址,在 Solana 上有一个地址等等——所有这些都由同一个底层的分布式密钥控制。因此,Sui 或其他平台上的开发者可以通过一个统一的框架 (Ika) 将这些链中的任何一个集成到他们的 dApp 中,而无需处理特定于链的桥或托管方。
总而言之,Ika 提供了类似于与区块链节点或钱包交互的开发者体验,抽象了繁重的密码学。无论是通过 TypeScript SDK 还是直接通过 Move 合约和轻客户端,它都力求使跨链逻辑对构建者来说**“即插即用”**。
安全性、去中心化与容错性
安全性在 Ika 的设计中至关重要。零信任模型意味着用户在任何时候都无需信任 Ika 网络单方面控制其资产。如果用户创建一个 dWallet (比如一个由 Ika 管理的 BTC 地址),该地址的私钥绝不会由任何单一实体持有——甚至用户自己也不单独持有。相反,用户持有一个秘密分片,网络则共同持有另一个分片。两者都是必需的才能签署任何交易。因此,即使发生最坏的情况 (例如,许多 Ika 节点被攻击者攻破),他们_仍然无法移动资金_,因为没有用户的秘密密钥分片。这一特性解决了传统桥梁中的一个主要风险,即一定数量的验证者可以合谋窃取锁定的资产。Ika 通过从根本上改变访问结构来消除这种风险 (门限的设置使得网络_本身_永远不够——门限实际上包括了用户)。在文献中,这是一种新的范式:一个非共谋的 MPC 网络,其中资产所有者通过设计成为签名群体的一部分。
在网络方面,Ika 使用委托权益证明模型 (继承自 Sui 的设计) 来选择和激励验证者。IKA 代币持有者可以将权益委托给验证者节点;权益加权排名前列的验证者成为一个纪元 (epoch) 的权威,并且在每个纪元中都是拜占庭容错的 (2/3 诚实)。这意味着系统假设少于 33% 的权益是恶意的以维持安全性。如果一个验证者行为不端 (例如,试图产生不正确的签名分片或审查交易),共识和 MPC 协议会检测到它——不正确的签名分片可以被识别出来 (它们无法组合成有效的签名),而恶意节点可以被记录下来,并可能在未来的纪元中被罚没或移除。同时,只要有足够多的节点 (>67%) 参与,活性就能得到维持;即使许多节点意外崩溃或离线,共识仍能继续最终确定操作。这种容错性确保了服务的鲁棒性——不存在单点故障,因为有数百个位于不同司法管辖区的独立运营商参与。参与者的数量进一步加强了去中心化:Ika 不局限于一个固定的小型委员会,因此它可以接纳更多的验证者来提高安全性,而不会牺牲太多性能。事实上,Ika 的协议被明确设计为**“超越 MPC 网络的节点限制”**并允许大规模的去中心化。
最后,Ika 团队已将其密码学提交给外部审查。他们在 2024 年发布了一份详尽的白皮书,详细介绍了 2PC-MPC 协议,并且迄今为止至少进行了一次第三方安全审计。例如,在 2024 年 6 月,Symbolic Software 的一次审计审查了 Ika 的 2PC-MPC 协议的 Rust 实现及相关的加密库。该审计会重点验证密码学协议的正确性 (确保门限 ECDSA 方案、密钥生成或分片聚合中没有缺陷) 并检查潜在的漏洞。其代码库是开源的 (在 dWallet Labs GitHub 下),允许社区检查并为其安全性做出贡献。在 alpha 测试网阶段,团队也提醒说该软件仍处于实验阶段,尚未经过生产环境审计,但在主网上线前,持续的审计和安全改进是首要任务。总而言之,Ika 的安全模型是可证明的密码学保证 (来自门限方案) 和区块链级别的去中心化 (来自 PoS 共识和大型验证者集) 的结合,并经过专家审查,以提供对外部攻击者和内部共谋的强大保障。
兼容性与生态互操作性
Ika 是专门为成为一个互操作性层而构建的,最初是为 Sui 设计,但可扩展到许多生态系统。从第一天起,它与 Sui 区块链的集成最为紧密:它实际上充当了 Sui 的一个附加模块,赋予 Sui dApp 多链能力。这种紧密结合是设计使然——Sui 的 Move 合约和以对象为中心的模型使其成为 Ika dWallets 的一个良好“控制器”。例如,一个 Sui DeFi 应用程序可以使用 Ika 随时从以太坊或比特币获取流动性,使 Sui 成为多链流动性的中心。Sui 基金会对 Ika 的支持表明了一种将 Sui 定位为_“所有链的基础链”_的战略,利用 Ika 连接外部资产。实际上,当 Ika 主网上线后,一个 Sui 构建者可能会创建一个 Move 合约,比如说,接受 BTC 存款:在幕后,该合约会通过 Ika 创建一个比特币 dWallet (一个地址),并在需要时发出移动 BTC 的指令。最终用户体验到的就好像比特币只是 Sui 应用内管理的另一种资产,尽管 BTC 在一个有效的门限签名交易移动它之前,一直原生存在于比特币上。
除了 Sui,Ika 的架构还支持其他 Layer-1 区块链、Layer-2,甚至链下系统。该网络可以同时托管多个轻客户端,因此它可以验证来自以太坊、Solana、Avalanche 或其他链的状态——从而使这些链上的智能合约 (或其用户) 也能利用 Ika 的 MPC 网络。虽然这些功能可能会逐步推出,但其设计目标是_链无关_。在此期间,即使没有深度的链上集成,Ika 也可以以更手动的方式使用:例如,以太坊上的一个应用程序可以通过 Oracle 或链下服务调用 Ika API,来请求一个以太坊交易或消息的签名。因为 Ika 支持 ECDSA,它甚至可以用来以去中心化的方式管理一个以太坊账户的密钥,类似于 Lit Protocol 的 PKP 的工作方式 (我们稍后会讨论 Lit)。Ika 还展示了诸如