​Multichain倒下了,拿什么拯救跨链桥?

avatar
0xmiddle
1年前
本文约3792字,阅读全文需要约5分钟
一个人成年的标志是:不再考验人性。

Multichain 出事了,现在事件的进展还扑朔迷离,真相还未完全浮出水面。可以确定的是,为 Multichain 提供流动性的 LP 们、以及持有 Multichain 发行的映射资产 anyToken 的用户,恐怕是要遭殃了。这回受影响的资产数额太大,不知道会不会有人出来兜底。

7 月 6 日,超过 1.26 亿美元的资产从 MPC 托管地址中被人为转出,根据合约审计团队 Beosin 的分析,资金的转出完全是人为操作,与合约漏洞无关,证明 Multichain 的 MPC 托管地址私钥已经被外力掌控。

在 7 月 14 日 Multichain 发布的官方声明中,明确宣布了 Multichain 创始人 zhaojun 已经在 5 月 21 日被警方带走的消息。然而令人大跌眼镜的是,声明中提到,Multichain 的 24 个 MPC 节点私钥全部由 Zhaojun 掌握,且所有节点服务完全在其个人服务器中运行!WTF!!!

​Multichain倒下了,拿什么拯救跨链桥?

现在事件的进展还扑朔迷离,真相还未完全浮出水面。可以确定的是,为 Multichain 提供流动性的 LP 们、以及持有 Multichain 发行的映射资产 anyToken 的用户,恐怕是要遭殃了。多签桥的中心化风险,就像一只肥硕的灰犀牛,它就在那里,大家都能看到,但又选择性的忽略。关键这头犀牛还驮着数百亿美金的巨额资产!

​Multichain倒下了,拿什么拯救跨链桥?

目前,市面上 TVL 靠前的跨链桥几乎全部都是多签桥。在 Multichain 之前,已经发生过 Axie Infinity 官方桥 Ronin Bridge、Harmony Chain 官方桥 Horizen bridge 因私钥泄露而爆雷的事件,分别造成 6.2 亿美金和近 1 亿美元的损失。

多签桥为什么不值得信任?

一般而言,跨链桥分为三种,分别是轻客户端型(原生验证)、见证人型(外部验证)、基于哈希时间锁的原子交易型(本地验证)。

其中基于哈希时间锁的原子交易,由于其用户体验欠佳(需要用户进行 2 次以上的操作),以及无法支持任意消息传递,鲜有采用。轻客户端型跨链桥则由于其工程实现上相对困难、兼容新链的成本较高,目前仅被应用在一些仅需支持少数链的专用桥当中。见证人型跨链桥则开发实现较为简单、可以轻易的进行多链适配,且性能较好(速度快,费用低),而成为大多数项目的选择。

见证人型桥通过一组外部的 Bridge Nodes 对跨链消息进行共识签名,以此来验证消息的真实性,因此我们也称之为多签桥。跨链桥一般采用 lock-mint 逻辑来链间传递资产,用户通过 lock 源链上原生资产(例如 USDC ),来 mint 目标链上的映射资产 (例如 anyUSDC),这些 lock 的资产会成为桥的 TVL,一旦被盗,用户或者 LP 手中的映射资产将与原生资产脱锚,无法足额赎回。但这些外部的 Bridge Nodes 如果串谋,或者他们没有保管好自己的私钥碎片导致其中 2/3 以上被黑客获取,这样的事情就会发生!

大多数多签桥,少则只有个位数的 Bridge Nodes,多则也就 2 0 多个。在 TVL 较低时,这些主体可能不会去串谋作恶,但当多签桥的 TVL 达到数亿美金时,没有人保证他们不会动心。如果利益足够大,串谋 20 个节点,并不算很困难。这还没有考虑到,很多跨链桥的诸多节点往往都是利息高度相关的“友商”,甚至一些跨链桥存在一个主体控制多个节点的情况,例如,Ronin Bridge 的 9 个节点中有 4 个控制在 Star Mavis 公司手中, Multichain 的情况则更加过分, 1 人掌握所有的 24 个节点 !

一个成年人的标志是,不再相信人性经得起考验。

跨链桥将如何改进?

Mulitichian 的事件对于跨链桥领域,或许将成为一个转型的契机。当大家都不再愿意容忍中心化带来的安全风险时,“多签桥”自然就玩不下去了。 如果说“多签桥”主导的时代是跨链桥的 1.0 时代,那么 1.0 时代正在加速离去,跨链桥 2.0 时代的主角必然属于更加安全的跨链桥。

那我们应该用什么样的跨链桥呢,跨链桥如何改进,才能在保证性能可接受的情况下,消除中心化风险呢?我们观察到,业内主要有三个方向,分别是 ZKbridge、Optimistic Brige 和 TEE Bridge。

​Multichain倒下了,拿什么拯救跨链桥?

ZK Bridge

由于 ZK 叙事的升温,近期将 ZK 技术用于跨链的探索也倍受关注,已经有不少该方向的项目获得融资。

ZKBridge 是一种将 ZK 技术用于轻客户端扩容的跨链桥方案。我们知道,轻客户端跨链桥有着极高的安全性,其本质是由目标链的共识层直接验证来自源链的消息,不引入任何第三方的信任假设,但轻客户端需要不断维护源链的区块头序列,此间需要对每个新区块头执行验证,这带来两大难点:

  • 巨大的链上开销,可能会使得桥不具备经济可行性

  • 如果要做一个通用桥,每新增支持一条链,都需要至少开发两个新的轻客户端,兼容新链的成本较高,很难做成真正的通用桥。

引入 ZK 技术之后:

  • 可以在链下验证新区块头,并将新区块头及其有效性证明(Zk Proof)一并提交到链上,链上可以直接验证 ZK Proof,即可等效于验证新区块头,但开销可以大幅缩减。更进一步,还可以把用区块头对交易执行 SPV 验证的过程也放到链上;

  • ZK 技术简化了轻客户端的开发,链上轻客户端仅需验证 ZK proof,比验证新区块头的合约逻辑要简单许多。

但 ZKbridge 的性能极限依旧弱于多签桥,以 EVM 为例,验证一个 ZK proof 的成本最低也在 500 k gas,和多签桥只需验证一个签名的 21 k Gas 相比,高了了将近 25 倍,这最终还是会转化为前端用户高昂的跨链费用。尽管通过批处理,可以让多笔交易分摊一次处理的成本,但这又会带给用户较长的等待时间。

此外,Zkbridge 作为轻客户端桥,需要接入链支持智能合约,BTC 类的非智能合约链是无法接入的。

Optimistic Bridge

Optimistic 桥是对多签桥信任根的改良。Optimistic 桥在多签桥的基础上,引入了挑战窗口期的概念和一个名为“挑战者”的角色。

我们知道,一个消息在多签桥中的传递过程是这样的

① 发起:用户在源链通过与 Source dApp 交互,发起跨链消息传递

② 链下签名:消息被传递给 Bridge Nodes,完成共识签名之后传递到目标链

③ 链上验证签名:目标链验证该消息是否由正确的 Bridge Nodes 的签名

④ 执行:验证后的消息被提交给 Taregt dApp 进行执行

在 Optimistic Bridge 中,消息在完成第 ③ 步之后,不会立刻进入第 ④ 步,而是会进入一个计时环节,计时结束后,如果没有挑战者对该消息提出质疑,该消息才会进入执行环节,被 Taregt dApp 执行。

如果挑战者对消息进行质疑,那么该消息将被标记为“不可信”,“不可信”消息将不会进入执行环节,挑战者将会把它提交会源链,由源链的仲裁合约进行仲裁,如果消息在源链真实存在则证明挑战者误报,如果消息在源链并不存在则证明 Bridge Nodes 欺诈,签名了虚假的消息。仲裁结束后,会给诚实的一方奖励,而惩罚不诚实的一方。

通过该机制,Optimistic bridge 将多签桥的信任根从 m-of-n,提升到了 1-of-n,只需要有一个诚实的挑战者,桥就是可靠的。

Optimistic Bridge 的缺点在于增加了用户的等待时间,该时间一般会在 30 min 左右,用户必须等待挑战窗口期的结束,才能完成完成跨链操作,这在很多场景下都是行不通的,用户并没有这个耐心。实践中, Optimistic Bridge 往往采用双模型机制,小额转账或是非敏感操作会直接跳过挑战窗口期,只有大额转账或者敏感操作,才会有挑战窗口期,具体阈值可以由应用程序自定义,或是由用户在前端自己选择。

Optmistic Bridge 的机制无疑是对多签桥的巨大改良,既保障了安全,也兼顾了性能。但可惜的是安全和性能并没有真正意义上兼得,只是把安全优先还是性能优先的选择权交给用户,不能算是完美的解决方案。

此外,由于必须通过合约实现链上仲裁,该方案依旧不能支持 BTC 类的非智能合约链。

TEE Bridge

TEE Bridge 是指在多签桥的基础上,要求所有节点必须使用 TEE 设备接入网络。TEE 全称为可信执行环境 (Trusted Execute Environment),它是给定设备上运行的与主操作系统隔离的计算环境,就像一块飞地 (Enclave),这种隔离是通过硬件强制实现的。

在 TEE Bridge 中,节点使用 TEE 设备保管私钥碎片,签名程序也完全在 TEE 中运行,外部黑客将很难窃取。与 ZKbridge、Optimistic Bridge 不同的是,TEE Bridge 是通过节点硬件来提升跨链桥的安全性,而非改变链上的验证机制。

TEE Bridge 的优势在于

  • 在提升安全性的同时,完全没有在多签桥的基础上牺牲性能

  • 可以兼容 BTC 类的非智能合约链

但 TEE Bridge 依然存在内部串谋的风险。2/3 多数的节点如果串通,依然可以对桥发起攻击。

BOOL :ZK-TEE Bridge

接下来,我要介绍一种更加巧妙的的跨链桥范式:ZK-TEE Bridge,它由跨链桥项目 Bool Network 首创。Bool  Network 在 TEE Bridge 的基础上,结合 ZK 技术,实现了节点的完全匿名,从而无法串谋,保障了桥的超高安全性。

Bool Network 本身是一个众多 TEE 节点构成的非许可网络,任何主体都可以通过 Bool Network 申请建立一个或多个 DHC(Dynamic Hidden Committee)。如果某个主体需要建立一座支持 10 条链的跨链桥,那就申请 10 个对应的 DHC 就可以了,每个 DHC 都管理着一组 MPC 私钥分片,他们将会负责验证和签名跨链消息。

一个 DHC 一般会包含 10 到 20 个 TEE 节点成员,具体由 DHC 的创建者来设置,签名阈值一般是 2/3 ,但 DHC 的创建者也可以设置更高的阈值。

Bool Network 会随机的为所有 DHC 分配成员,并且会定期洗牌,重新分配。借助 ZK 技术,Bool Network 可以实现分配成员的过程是完全随机的,且分配完成之后,每个 TEE 节点都不知道自己被分配到了哪个 DHC,也不知道自己和哪些节点分到了一个 DHC,更不知道别的节点被分配到了哪个 DHC。这种感觉,就像参加假面舞会一样,谁也不知道谁是谁!

​Multichain倒下了,拿什么拯救跨链桥?

这是通过 Bool Network 的 Ring VRF 算法实现的。具体来说,Ring VRF 在 DHC 分配节点成员的时候,会赋予每个 TEE 节点一个临时身份,该临时身份表现为一个 ZK proof,可以证明某个节点属于当前 DHC,但不暴露节点的具体信息。DHC 成员之间将通过临时身份相互识别,并通过加密通讯完成 MPC 签名的工作。在当前 Epoch 结束之后,Ring VRF 会重新洗牌所有 DHC 的成员,此时所有临时身份都会失效,Ring VRF 将为每个节点分配新的临时身份。

总之,Bool Network 通过 ZK 技术与 TEE 技术的巧妙结合,实现了节点之间的完全匿名,杜绝了串谋的可能,在 TEE Bridge 的基础上进一步提升了安全性。

​Multichain倒下了,拿什么拯救跨链桥?

小结

ZKbridge、Optimistic Bridge、TEE Bridge 都是很不错的方案,它们都在试图构建更加 Trustless 的跨链桥,消除中心化风险,提高跨链桥的安全性。但 ZKBridge、Optimistic 依旧存在性能上的牺牲和可扩展性上的短板,TEE-Bridge 则存在串谋攻击的可能。

BOOL Network 提出的 ZK TEE-Bridge 则是一个从各方面都无可挑剔的方案,它的优势包括:

  • 不牺牲的性能,跨链消息传递的速度和费用保持和“多签桥”同一水平

  • 支持非智能合约链,且适配新链的工程量较低

  • 杜绝了 TEE 桥中可能存在的串谋风险,实现了不亚于轻客户端桥的超高安全性

  • 本质上是一个去中心化的、Trustless 的签名机,将不限于应用在跨链领域,而是可以扩展到预言机、分布式私钥管理等领域

原创文章,作者:0xmiddle。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选