优惠论坛

标题: [解读合约审计]Harmony的跨链桥是如何被盗一亿美金的? [打印本页]

作者: 金色财经小编    时间: 2022-8-21 05:17

内容概要

2022年6月24日,由Layer1公链Harmony开发的,以太坊与Harmony间的资产跨链桥Horizon遭到攻击,损失金额约为1亿美元。

这到底是怎么回事?

虽然黑客攻击发生的当天就能断定属于“公证人私钥被盗”,既然贵客点开,不妨来展开聊聊,放心,有少数硬核源码但全篇讲白话,通俗易懂!

1、跨链桥技术原理

跨链,顾名思义是不同区块链之间资产信息如何转移的问题,也称之为互操作性,而目前有超50种跨链解决方案,其方案定义是多种多样的。

Pbicsjg4lK2V4lmlHVFakMseM9TPABqMTja3zarD.jpeg

1.1、跨链方案有哪些?

概括来讲,要实现资产价值在另一条链上恒定,有两种大路径按”价格”锚定和按”物理”锚定

乍一听复杂,其实按价格锚定就是在各公链上的USDT这种稳定币,他与美元1:1锚定,因此也属于跨链资产的一种。

抛开各类稳定币更直观一种跨链方案则是物理锚定,即流动性总量是恒定的,其方案也很多(公证人、侧链、中继链、哈希锁定等),咱们重点讲公证人模式。

公证人模式依据”公证人是谁“有三种区分:

锁定铸造型由于产生的是包装代币,因此往往是各公链具有一定公信力的官方桥才采用。

以上均各有优缺,或是怕交易所跑路,或是流动性枯竭,或是公证人私钥被盗,目前并没有完美实现不可能三角的跨链方案出现。

如下图是o3swap的流动性总量和交易量趋势,近半年已然跌去90%,或许是因为去年8月的质押资产被盗案导致不断式微吧。

IzYxBwxEL5qO3R4OPmUfBvCEDU6U5HjumB85PLCW.jpeg

1.2、Horizon桥的跨链原理

Harmony开发的Horizon桥是非常标准的公证人锁定铸造型。

为何锁定铸造可以被信任呢?

是由于区块链上的合约具有不可更改特性,如果不留后门的话,甚至一旦部署将无任何方式可以影响他的运作,正如无聊猿官方自己将所有权限转入0地址,放弃所有权后,无任何方式可以进一步铸造出新的猴子,其流动性总量将被锁死。

同理的,不同公链之间虽然合约不同,但如果在以太坊上用合约锁住10个ETH,在另一条公链上也以同样有公信力的合约,来释放10个wETH,这样一来其实全局上流动性是固定的,只要wETH可以随时转回以太坊并兑换得到ETH,那wETH就可以被认为是具有了ETH的等同价值。

因此其核心的操作就是

ULtaFwieporJFkr7az7MGlrPRZ3rFToGGDag1Jia.jpeg

有锁定自然衡量各个跨链桥规模的最佳方式就是TVL(总价值锁定),可以显著看到6.24之后,Horizon的TVL瞬间跌入谷底,当安全事故来临再多的TVL也就如流水一般,蜂拥而至也一哄而散。

sZl5T2TirJj0N6AFvnUupaPaIQs84Hs51Y4SrLrI.jpeg

2、Horizon桥的合约审计报告解读

一次事故对很多Web3项目而言,做不到100%安全就基本等于0的价值,因此为了检查合约的安全性,一般会测试模拟多种攻击场景,通过checklist进行安全审查,以确保合约安全

开发或许几天而已,但要足够可靠则流程多且昂贵(一般报价按时间衡量10W刀起步)

kh6StQm1vPw75jwjk9VUBZU70l4P2NDDuA17Rg3v.jpeg

审计报告的核心信息是:风险名称、漏洞描述、风险等级、安全建议、修复状态及审计结果等

而Horizon桥的合约审计报告是老牌审计公司PeckShield进行的,发现了5个漏洞风险

iuaz8y5TTod8BLIY8ijtekiBRhEyQ0DQfGseDqXh.jpeg

2.1、中低风险点1-兼容不足

是不是很难想象区区3行代码都能有bug?

qmtTQQAc7UkTJ42U7PTAzb9VJ8T650ZHqUqC9uYg.jpeg

其实锁定token的逻辑很简单,就是用户制定金额和目标地址,在授权代扣权限后,合约将USDT转入此合约锁定,并发出一个locked事件,让链下的公证人可以得知资产已经被锁定了。

FaatICcPxY9kN1yfsbZN1AZheQWlyZ9elPT004b8.png

但PeckShield审计发现LockToken锁定函数对通缩型token是不兼容的,用户传入的amount如果是100,自然Locked事件发出的是成功锁定100个

但是如果是”通缩型“的token呢?进行safeTransferFrom




欢迎光临 优惠论坛 (https://tcelue.tv/) Powered by Discuz! X3.1