文章很长,建议先收藏再阅读

原用标题:又一跨链项目 Wormhole 被盗,跨链真的是伪命题吗?

封面图片:Photo by sebastiaan stam on Unsplash

背景

2 月 3 日,正当我们在开心过年的时候,Crypto 行业却再次发生了天价黑客攻击事件,跨链协议 Wormhole 遭到黑客攻击,损失高达 12 万枚 wETH(约合 3.2 亿美元),是继 PolyNetwork 这个 DeFi 史上最大被盗案之后,被盗金额第二大的事件了。 

而无独有偶的是,DeFi 史上第一大和第二大的被盗案都是发生在跨链的项目上,这不禁让众人担心起来,跨链是否有必要,或者说,为了安全性就不应该有跨链。而这样的担心很容易让大家想起前段时间引起多方讨论的 V 神的观点 “未来将是多链的,对跨链应用持悲观态度。” 

此次被盗事件究竟是怎么回事,跨链真的会像 V 神那样吗?波卡生态的从业者又会如何看待这次的被盗事件,容我们一一道来。

被盗不是跨链的罪,跨链市场依旧有前景

那么 Wormhole 被盗到底是怎样一回事呢?Wormhole 的被盗是否说明 “跨链” 市场的末日已至?在解释这两个问题之前,我们先来回顾一下 Wormhole 到底是什么? 

Wormhole 是 Solana、以太坊的第一个双向跨链桥。Wormhole 允许用户将 ERC20 通证锁定在以太坊智能合约中,并在 Solana 上铸造相应的 SPL 通证。作为 Solana 上最大的跨链桥,Wormhole 还具备 NFT 认证工具,能够跨链发送以太坊和 Solana 的 NFT,包括当下最火的 NFT 之一 CryptoPunks。 

当前 Wormhole 锁定的价值超过了 10 亿美元,并支持 Terra、Solana、Ethereum、Binance Smart Chain、Avalanche 和 Polygon 等六大公链。作为备受瞩目的明星项目,Wormhole 的未来似乎一片光明,直到此次被盗事件的发生。 

一夕之间,12 万 wETH 被盗,价值约 3 亿美元,一跃成为了 DeFi 史上的第二大黑客事件。 

而 Wormhole 事件与 PolyNetwork 事件都发生在跨链协议上,是否说明了跨链协议就是原罪?来让我们对事件进行简单的还原。 

最开始攻击者在 Solana 上铸造了 0.1 Wormhole ETH,得到了 “transfer message” 合约中的 “post_vaa” 函数,然后通过加载一个外部的合约绕过了签名检查合约,生成了 Wormhole 函数 “complete_wrapped” 所需的参数,进而进行了无限铸币。而发生这一切的根本原因是 Wormhole 使用了过期的系统合约,而没有对参数所需的合约进行最新的升级。 

一句话概括就是黑客通过一次很小金额的尝试就获得了一个函数,并通过外部的合约绕过 Wormhole 的协议验证进而骗取了 120,000ETH(wETH),并成功转走了 93,750ETH,剩下的 wETH 被紧急锁定在了 Solana 中。而这不仅给 Wormhole 带来了损失,甚至可能会导致 wETH 的贬值,最终导致一些基于此的项目方资不抵债。 

Wormhole 事件为我们再一次拉响警钟,将跨链协议的安全性问题推向了历史舞台。引发了社区的热议,V 神年初对 “跨链” 的论断再一次被大家从故纸堆里翻了出来,似乎是一条神预言。 

V 神在其发布的 Reddit 中指出,“想象一下如果你将 100ETH 移到 Solana 上的一座桥上以获得 100Solana-WETH,然后以太坊受到 51% 的攻击,会发生什么情况?

攻击者将一堆自己的 ETH 存入 Solana-WETH,然后在 Solana 方确认后立即在以太坊方恢复该交易。Solana-WETH 合约现在不再完全支持,也许你的 100Solana-WETH 现在只值 60ETH。即使有一个完美的基于 ZK-SNARK 的桥梁来完全验证共识,它仍然容易受到此类 51% 攻击的盗窃。” 

然而真的如此么?可实际上 V 神提出的问题和 Wormhole 事件毫无关联。 

V 神指出了,由于跨链产生了许多相互依赖的 DApp,在任何一条链受到 51% 攻击时,都有可能导致系统性的传染,继而威胁整个经济系统的经济。他认为以太坊上的应用程序应该彼此紧密连接,Avax 上的应用程序应该彼此紧密连接,而不是跨链。跨链使得整个区块链系统抵御 51% 攻击的能力下降。 

Wormhole 事件并不存在 51% 攻击,也不是系统性传染导致的被盗,而仅仅是合约漏洞。被盗不是跨链的罪。 

虽然我们不得不承认一点,“在以太坊上持有以太坊原生资产或在 Solana 上持有 Solana 原生资产总是比在 Solana 上持有以太坊原生资产或在以太坊上持有 Solana 原生资产更安全。” 

毕竟在这个世界上没有完美的代码,跨链协议需要不断的升级延化。可是跨链市场的存在依旧非常的重要。随着 DeFi 赛道的高速发展,我们需要跨链协议来满足快速膨胀的资金量。 

跨链资产被盗事件的背后不是跨链之罪,而是其飞速发展的锁仓量和复杂的流程。巨大的资金量和具有挑战性的破解流程就像一个巨大的蛋糕吸引着黑客们的目光。 

Wormhole 事件和 PolyNetwork 事件就是合约中的漏洞导致,这也进一步让项目方去思考,在跨链交易事件的验证及合约权限管理的设计上似乎需要更加的谨慎小心。

生态如何看待此次跨链被盗?

那么波卡作为大家最熟知的跨链项目之一,想必大家也会非常关心波卡的情况,我们盛情邀请了 Acala 联合创始人陈锡亮、Moonbeam 中文社区的 Yuki、以及 Astar 中文区负责人宋明时,看看他们是如何看待此次跨链被盗的。注:以下仅为个人观点。 

Acala 联合创始人陈锡亮:

目前来说,大家普遍认为以后的区块链生态会是一个多链的生态。因为不同的区块链可以针对各自的应用场景进行不同的优化,所以从技术上来说应该是不可能有一条单一链从全方位角度优胜于所有的其他的链。

每一条链就类似一台服务器,固然可以运行各种各式各样的应用,但我们能有今天的互联网,从字面上来说,就是因为各个服务器直接是互联互通的。

跨链桥就是让不同区块链互联互通的技术之一。包括 Wormhole 在内,主流的桥都是基于门限签名的半中心化技术,如果签名人联合作恶,或者私钥泄露,或者签名验证方案有漏洞(本次 Wormhole 漏洞),就会导致攻击者可以几乎无限制的增发跨链资产,造成严重损失。

那么这说明什么呢?是 Wormhole 团队技术不行么?为什么明知道这种半中心化跨链技术有这么大的安全隐患,几乎所有的主流跨链桥都还使用这种技术呢?

最主要的原因其实是包括比特币和以太坊在内,很多 L1 本身在设计的时候,其实是没有考虑到跨链的兼容性的,导致非常难实现更加安全的跨链技术。

主流 L1 都是 EVM 环境,而 EVM 支持的加密算法非常有限,而直接用 EVM 实现需要大量计算的加密算法又会导致 gas 非常高,甚至超过一个区块支持的最大 gas。这使得简单容易实现的多签桥成为了性价比最高的选择。  类似 Wormhole 的多签桥可能是目前的最优解,但并不说明这个会是一个最合适的长期方案。

波卡的共享安全设计从共识层面就解决了处理跨链消息最难的问题之一:回滚攻击。如果要回滚一条平行链,就要回滚波卡主链,那么同时也会回滚所有其他平行链,如果大家都一起回滚,就不会有数据不一致的问题。

W3F 还为波卡设计和实现了 XCM 跨链消息通用格式,为更复杂的跨链交互打下了基础,包括跨链合约调用,超过两条链的跨链消息等等,为跨链技术提供了一个扎实的基础。 

Acala 团队是最早参与到 XCM 版本的设计和测试之中的,第一个实现了测试中的跨链转账,Karura 也是第一个在 Kusama 中实现跨链功能的网络。

目前在 Karura 上已经出了可以通过 XCM 和 Kusama, Statemine, Bifrost 等链进行安全的跨链转账,也通过 XCM 实现了完全去中心化的跨链质押衍生品产品 LKSM,让用户可以在享受 Kusama 质押收益的同时可以通过 LKSM 参与 Karura 上面的各种不同 DeFi 协议。 

随着跨链技术的成熟和完善,我们将会在波卡生态中看到更多不同类型的跨链应用,真正的实现 Web3 中区块链互联网的愿景。 

Moonbeam 中文社区经理 Yuki:

区块链间的信息孤岛逐渐减弱,开发者正快速意识到跨链桥在多链世界中的机遇。使用者对跨区块链使用资产的需求越来越大,跨链桥作为跨不同生态并承载资产流动的 “外交官 “,是保障使用者在安全、低成本的前提下获得和使用跨链资产的关键因素。 

在 Moonbeam 生态中,我们很高兴看到许多为安全和互操作性努力的跨链桥开发者,比如 Nomad、Axelar、Cbridge、Multi-chain、Connext 等团队,期待未来能出现更多解决使用者实际需求的跨链桥项目,提升不同链间的互操作性和安全性能。 

Astar 中国区负责人宋明时:

Wormhole 跨链被盗事件的起因是黑客通过欺骗监护人签名在 Solana 上铸造 wETH 并解锁盗走以太坊上 ETH 资产,再次敲响了跨链安全性的警钟。 

目前最常见的跨链解决方案仍然是通过公证人机制实现的异构跨链桥,通过在链 A 上锁定资产并在链 B 上 1:1 映射发行新资产实现,主流跨链桥包括 Multichain、cBridge 等等都是利用公证人方案。

但公证人方案在工程实现有很多有较高风险的步骤,包括充币合约权限漏洞、多签验证漏洞、公证人信任问题等等。从 Wormhole 被盗事件中,我们看见的并不是 “跨链是伪需求”,而是日益增长的跨链需求和异构跨链桥安全风险之间的矛盾。 

异构跨链桥的安全风险本质上是来源于链 A 链 B 的安全性不同状态不一致,相比之下,Polkadot 的 XCMP 跨链机制完全消除了这样的问题。

Polkadot 平行链间的安全性是共享的,平行链间的消息和资产转移信息会由平行链收集人打包到输入输出队列,再由中继链验证人验证,整个过程由同一组验证人同时保证跨链消息的正确和链的安全,无需信任第三方验证人,也不涉及安全性差异。从这样的角度来看,Polkadot 的跨链机制能够很好解决多链背景下互操作性和跨链安全性的困局。

挫折无法阻止历史的车轮

尽管,已经有多起跨链项目被盗事件,并且金额巨大,又因为涉及多条链和应用,影响甚广,但是如果从科技进步和商业发展的角度来看,历史上还没有因为黑客问题而阻碍发展的前进的。

黑客事件是由于设计机制或者代码层面有漏洞,被黑客加以利用从而造成财产损失。它是一种人为的事故,不是因为遇到技术瓶颈突破不了的困境,因此有非常多的方式来消化和处理这类问题。主要是事前预防、事后补救和新的解决方案。

事前预防

代码审计已经是当前项目方正式推出项目前所必须要经过的一个步骤,可以发现并解决大部分低级错误和避免出现以前出现过的漏洞,以大幅提高项目的安全性。

但是,代码审计主要还是出于防守和比较靠经验值,面对一些新兴的技术解决方案,往往作为进攻方的黑客能够在已经被审核过的代码中找到一些新的漏洞,但是技术的成熟往往是通过不断地打磨和迭代的,当越来越多的漏洞问题被发现并解决,一项技术足够成熟了,那么出现黑客事件的概率就会降低许多。

当然,这其中还有一个最重要的前提是,这个市场是真实有效的,不会因为黑客事件而被打击到消亡,那么只要需求还在,就依然会有应用朝着这个方向去发展,在前人的基础之上做到更好更安全。如此,才能让这个技术更加成熟。

事后补救

① 直接有效,用钱解决

事后补救,虽然略有一点马后炮的感觉,但是如果换个角度来讲,又可以看作是亡羊补牢为时不晚。

支付宝在刚开始做的时候,由于技术比较新有非常多的漏洞,所以时常发生被盗事件,而当时的支付宝就是采用的金钱大法,让大家放心使用,有损失他们全赔,相当于用钱来保障这个技术能安稳的度过新手期走向成熟,如今的支付宝已经构建出一个庞大的安全堡垒,固若金汤。

同理,面对 Crypto 领域里发生的被盗事件,如果本身的业务没有问题,并且市场很大,发生了因为漏洞而导致的损失,那么如果赔付了这些损失并修复了漏洞,自然还是可以继续运营的。

而此次跨链协议 Wormhole 发生 3.2 亿美元的黑客攻击事件便是用的同样的方法解决的。就在攻击发生后,Jump Crypto——Jump Trading 旗下加密投资部门,及时介入,自掏腰包地补充了 120,000ETH,短短一天后,Wormhole 桥便重新上线。

② 用技术方式来解决

项目方可以将区块链回滚的方式,回到被攻击前,从而避免黑客得逞。比如基于 Monero 的隐私稳定币协议 Haven Protocol 就通过回滚的方式解决被黑客攻击的影响,并修复铸币漏洞。

又比如最经典的以太坊 “The DAO” 黑客攻击事件,最终通过将当时的以太坊硬分叉,回滚交易,就将被盗的资产给召回了,不过以太坊也因此分拆成为两个不同的项目以太坊经典(ETC)和如今大家熟知的以太坊(ETH)。

③通过治理的方式

当下,各个公链都在朝着去中心化治理的方式来管理该链未来的发展和处理相关事务。比如 EOS 就曾经成立了一个 ECAF 组织(The EOS Core Arbitration Forum,EOS 核心仲裁组织),处理过被盗的资金。

所以,链上治理会是一个非常值得挖掘的方向,甚至会成为未来区块链领域的重要组成部分。如何通过去中心化的方式去仲裁一些行为,并对一些不好的行为进行积极干预,从而保障生态的健康发展,这将会是一个不小的难题,但是一旦有成功的可行方案,将会很快地扩散到各个区块链中,为各条链的发展保驾护航。

④发动社区的力量

黑客攻击造成的被盗对所有 Crypto 从业者都是有伤害的,所以往往遇到这些事情后,会有非常多从业者积极参与其中发动各方力量来解决被盗带来的影响。

比如一些加密资产是通过中心化机构背书而发行的,比如 USDT,那么便可以通过联系这些机构对被盗的资金进行冻结。又或者利用一些圈外的治理力量,比如警察等行政力量,对黑客施压甚至追踪到黑客,从而逼迫黑客退回资金,或者抓住黑客等等。

DeFi 史上最大被盗案 PolyNetwork 能顺利解决,社区的力量功不可没。

新的解决方案

老的解决方案有问题,但是技术还在进步,也许以前的问题会随着新技术的推出而不再是困难。比如波卡所推出的更加去中心化的跨链交互方式,就是值得重点跟踪的。

又比如在机制设计方面,不一定非得要唯 “去中心化论”,还可以考虑有许多偏半去中心化的技术解决方案,又或者在设计时联合多条公链的治理方,共同拿出一部分治理资金构建一些保险资金池机制,或者建立一些遇到类似联合处理预案(比如发生跨链被盗就同时回滚)。

小结

还是那句话,只要市场依旧存在,就挡不住历史车轮的前进。黑客问题不只是区块链领域的问题,只要有新的技术,它便会如影随形,但是也正因为有这些事件的发生,才会让我们更加积极地去迭代技术,相信最终区块链世界也一定会发展成为固若金汤的成熟技术。

后记

提到前几天 Gavin 对 XCM 的新升级,提到波卡跨链相关技术正不断迭代,需要密切关注其发展。

上周波卡创始人 Gavin Wood 在推特上分享了波卡的最新技术进展,他表示,XCM v3 版本桥的基础设施几乎准备就绪,这意味着在波卡上的平行链能将 XCM 发送给彼此,也可以发送到 Kusama 上的平行链。

我们知道 XCM 作为波卡跨链协议的重要构成部分,其技术开发难度也不容小觑,XCM 是 Cross-Consensus Message Format 的简称,也就是跨共识消息格式,简单来说,XCM 的定义就像一种广义的语言一样,只要语言基本定义相同,任何人(代指区块链网络)都可以实现在该模块下的跨链,不管是信息还是资产,都可以无缝衔接。

因此,波卡的跨链或许将会给跨链发展带来新的故事,毕竟现阶段的跨链确实存在一些不容忽视的安全问题,但我们有理由相信随着 XCM 的完善,跨链流程也会迎来转变,这才是我们在区块链技术发展上需要关注和期待的东西,而不仅仅局限于 Crypto 市场本身,毕竟价值与价格之间往往需要时间来平衡。

当然,像 Wormhole 这样的事件或许还会发生,除了技术上的进步与发展,还需要整个区块链行业的参与者共同加入到安全防护的阵营中,毕竟天下没有密不透风的墙,只有共同努力把这堵安全之墙搭建好,才能保证行业参与者的资产安全,也才能促使行业发展的更好。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。