HTLC攻击事件分析跨链桥的比较Rollup Bridge 和跨链桥的不同
本文将介绍跨链桥是什么并将跨链桥进行分类与比较,搭配一些著名跨链桥攻击事件进行分析。
什么是跨链桥
跨链桥是一个在不同链之间负责传递「讯息」的桥,至于是什么样的讯息,接下来会介绍。跨链桥的例子包含Multichain、Celer、LayerZero、Nomad、Hop等等。
链是不知道彼此的存在的
大家熟悉的跨链桥使用场景绝大多数都是将资产例如ETH、BTC 进行跨链。但实际上「资产」是没办法跨链的,这是因为每一条链都是各自独立的,它们不会知道彼此的存在、彼此的状态。
至于Solana 上的ETH 或是ETH 上的BTC 是怎么来的?那些都是跨链桥铸造出来的,只要这些跨链桥是安全的,这些铸造出来的币就是安全的。
注:其他像是USDT 或USDC,有些是Tether 和Circle 到不同链上去铸造出来的,剩下则一样是由跨链桥所铸造。
传递什么「讯息」?
表面虽然是资产在跨链,但背后实际上就只是「讯息」在跨链而已。这些讯息像是「我在A 链上把X 资产锁住/烧毁了」或「我在B 链上把Y 资产解锁/铸造出来了」,讯息的接收方就按照讯息内容来执行相对应的处理。
例如当Alice 想透过一个跨链桥把USDT 从A 链「转移」到B 链,实际上背后发生的是:
-
跨链桥在A 链的合约把USDT 从Alice 身上转过来,并送出一个讯息:「Alice 在我这锁住了10 USDT」
-
讯息被带至跨链桥在B 链的合约,合约从自己身上转10 USDT 给Alice 在B 链上的地址
资产跨链实际上背后是单纯的讯息传递,中间省略许多细节
「讯息」的传递是跨链桥的核心,现在最常见的资产跨链只是其中一种用途而已,像Aave的V3 版本就是一个运行在多个网路之上的抵押借贷平台。
限制与挑战
但跨链桥并没有像上面那个例子这么简单。跨链桥的一个最根本的限制来自于「链不知道彼此存在」这个事实,因此它需要「相信某个人来传递讯息」。所以跨链桥的主要挑战就在于「要怎么验证一个送来的讯息的有效性」。
注:这里的「相信」讯息传递者并非指完全相信,后面的段落中会介绍到有些桥是不需要相信讯息传递者的。传递者可能是好人也可能是坏人,但对传递者(们)的特质会有一些其他的假设。
安全性
基本上一个跨链桥的安全性取决于:
-
需要放多少信任在讯息传递者身上?对讯息传递者的行为有没有一些假设?是否假设讯息传递者只能诚实地执行他的工作?
-
如何验证讯息的有效性?
接下来将介绍不同跨链桥的分类。
跨链桥的分类
1. Trusted Relayers
顾名思义,Trusted Relayers 就是信任讯息传递者。基本上相信讯息传递者后,也不需要再验证讯息有效性了,只要是信任的讯息传递者带来的讯息都相信是有效的。而自然地当有了信任及中心化的假设,架构就会简单许多,而且成本会很低、使用体验会很好。
Trusted Relayers 的技术没什么特别之处或亮点,就看这些讯息传递者的组成,可以是单个或多个(就像多签);每一个讯息传递者背后也可以是多签或是MPC。
这里必须要提到的一点是Trusted Relayers 的安全假设是Honest Majority,也就是过半数的讯息传递者必须是诚实的好人。如果超过一半的讯息传递者是坏人或被骇客入侵,则这个跨链桥的就不再安全。
另外要提到的是Layer Zero 也是属于Trusted Relayers,即便在他们的定义里讯息传递者的角色被分成「Oracle」及「Relayer」,但还是不改变整个桥的安全性仰赖这两个角色不能都是坏人。不过Layer Zero 相较于其他Trusted Relayers 桥的优点是:每个dApp 能自己客制化自己需要的安全性。如果你很需要安全性,你可以把「Oracle」及「Relayer」的数量设定的很高。另一个优点是:每个dApp 的安全性彼此是独立、不互相影响的。
2. Optimistic Verification
和Optimistic Rollup 的Optimistic 一样,都是先乐观地接受传递过来的讯息,但会验证讯息的有效性,如果发现是无效的则发起挑战。优点是绝大多数的时间系统都会是正常运作(因为作恶会被挑战并惩罚),讯息都是有效所以不需发起挑战,所以成本非常低,因为不需要在链上去验证讯息。缺点是必须要有一段挑战期(Optimistic Window),让负责验证的人有足够多时间验证并发起挑战。接下来会以Nomad为例,介绍Optimistic Verification 的运作。
Nomad 里有三个角色:Updater、Relayer 及Watcher。
-
Updater 抵押担保品,并负责为讯息签名做担保,例如「我以我的担保品发誓Alice 申请要从链A 送XXX 讯息到链B」
-
Relayer 单纯负责把讯息及Updater 的签名送到目标链(链B)上
-
Watcher 负责监督Updater,并在Updater 作恶时反应
正常情况
Updater 作恶
Watcher 发现后,先到链B 把讯息作废,再把证据(Updater 签名)送到链A,没收Updater 担保品
链A 的合约可以很清楚验证Updater 所签名的讯息到底存不存在,因为只有使用者亲自送请求到合约,讯息才会真的存在。所以当Updater 对一个不存在的讯息签名,这个签名就会变成作恶的Updater 百口莫辩的证据,用来没收Updater 的担保品。
证据只在讯息来源链(链A)有效
目标链(链B)永远没办法知道链A 上有谁要送什么讯息过来,所以链B 合约没办法知道Updater 担保的讯息到底是不是真的。
那链B 能怎么办?答案是需要引入Permissioned Watcher。Permissioned Watcher 有权利能作废任何一个讯息,避免伪造的讯息造成任何破坏。但相反地它也可以作废一个正常的讯息,也因此这个角色必须要是Permissioned,他需要是一个被信任的角色。
如果有Permissioned Watcher 乱搞,恶意作废正常的讯息,则这时候只能仰赖另一层信任,可能是Governance 或是一个多签Admin 之类的来介入,将恶意的Watcher 剔除。
只需要假设至少有一个Watcher 有在做事
和Trusted Relayer 的安全假设非常不同,相对于Trusted Relayer 需要假设有过半数诚实参与者,Optimistic Verification 只需要假设至少有一个Watcher 是好人即可。这表示要攻破Optimistic Verification,你需要攻破(例如骇入、贿赂、DoS)全部的Watcher。
30 分钟挑战期
不同于Optimistic Rollup 挑战期多达七天,Optimistic Verification 的挑战期只有30 分钟。这是因为Optimistic Verification 的挑战不需要挑战者与被挑战者之间来回交互,而是直接提交一个一次定生死的证据:「Updater 签名的讯息存不存在?(yes/no)」。
3. Light client + Trustless relayers
这种跨链桥的方式是让目标链成为来源链的轻节点,可以是链下运行一个轻节点,也可以是用链上合约模拟一个轻节点:合约里记录来源链每个区块并验证每个区块的标头档(Block Header)。除了验证标头档的内容是有效的之外,还需要验证共识,也就是PoW 的验算或PoS 的投票结果。PoW 的验算还算简单,但PoS 的投票结果就复杂许多,尤其是像Ethereum Beacon Chain 多达四十多万的Validator,要维护这些名单在合约或计票的成本都非常高。
另外每条链的区块内容和共识机制都不一样,因此要支援新的一条链并非简单的工作,再加上验证成本会比其他跨链桥高上许多,这些都是这种跨链桥的主要缺点。不过优点是它非常安全,它不需要相信负责带区块资讯来的Relayer,它会自己验证区块和共识。
ZNS Connect Streamlines Web3 Ecosystem in Collaboration with Conflux Network
With this collaboration, ZNS Connect will operate as Conflux Network’s name service provider to rede...
Join The Crypto Buzz This Month! Qubetics’ Presale Sets The Pace For Top Altcoins to Join This Month, While Bitcoin Faces Challenges And Cardano Works Toward Recovery
Qubetics’ $9.1M Presale Leads the Way as Top Altcoins to Join This Month While Bitcoin Struggles and...
Seize 2025’s Best Meme Coin Opportunities – Arctic Pablo’s 66% APY Staking Leads the Charge as Popcat and Ponke Light Up the Crypto Scene!
Discover the Best Meme Coins to Buy for 2025: Arctic Pablo's presale journey, Popcat's market surge,...