合约审核解读| 区块链,链条

2022 年 6 月 24 日,由 Layer1 公链 Harmony 开发的以太坊和 Harmony 之间的资产跨链桥 Horizo​​n 遭到攻击,损失约 1 亿美元。

到底发生了什么?

虽然黑客攻击发生当天,但可以断定属于“公证人私钥被盗”。 既然尊贵的客人点击了它,你不妨开始聊天。 别着急,有一些硬核的源码,但整篇文章都是白话易懂的

智能合约审计服务 分类和技术原理

Horizo​​n合约审计报告解读

盗窃原因分析总结

一、跨链桥技术原理

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

1.1。 有哪些跨链解决方案?

简而言之,要在另一条链上实现资产价值不变,主要有两条路径,以“价格”为锚点,以“实物”为锚点

乍一看很复杂,但其实价格锚定的就是各个公链上的稳定币USDT。 它与美元1:1锚定,因此也是一种跨链资产。

除了各种稳定币,更直观的跨链解决方案是物理锚定,即总流动性是恒定的,解决方案有很多(公证人、侧链、中继链、哈希锁等),我们专注于公证人模型。

公证人模式以“谁是公证人”为基础,分为三个区别:

交易所作为担保类型:比如币安币,各种交易都在中心化交易所进行,币兑现

流动资金矿池过桥类型:如过桥。 接下来,o3swap

合约锁铸:各种官方桥梁通用解决方案polygon/arbitrum/avax/celer,今日主角和谐

由于锁定铸件类型生成打包代币,因此经常被各公链具有一定公信力的官方网桥使用。

以上各有优劣,还是怕交易所跑路, 智能合约审计 要么流动性耗尽,要么公证人的私钥被盗。 目前还没有完美实现不可能三角的跨链解决方案。

下图显示了o3swap的总流动性和交易量的趋势,在过去的六个月里下跌了90%,可能是因为去年8月质押资产被盗案件的持续下跌。

1.2. 地平线桥的跨链原理

Harmony 开发的 Horizo​​n 桥是一种非常标准的公证锁铸造类型。

为什么可以信任锁定铸造?

这是因为区块链上的合约是不可变的。 如果没有后门,一旦部署就无法影响其运行。 就像官方无聊把所有权限都转移到0地址一样,放弃所有权之后,就没有办法影响了。 任何进一步铸造新猴子的方式,流动性总量都将被锁定。

同理,虽然不同公链之间的合约不同,但是如果你在以太坊上用一个合约锁定 10 个 ETH,你可以在另一个公链上用一个相同可信度的合约释放 10 个 wETH。 事实上,整体流动性是固定的。 只要 wETH 可以随时转回以太坊并兑换成 ETH,那么 wETH 就可以认为具有与 ETH 等值的价值。

所以它的核心操作是

Lock-and-Mint:A链锁定代币流动性+B链发行等量的可交易打包代币

Burn-and-Release:B链销毁打包代币+A链解锁等量基础代币的流动性

公证人:发现A链的Lock锁事件后,去B链Mint铸造锚通证,并转移到目标地址。

自然衡量每个跨链桥的规模的最好方法是 TVL(total value lock)。 可以看到,6.24之后,Horizo​​n的TVL瞬间跌至谷底。 当安全事件来临时,无论有多少TVL来,它都会像流水一样。 蜂拥而散。

2、天桥合约审计报告解读

对于很多 Web3项目来说,如果一个事故不能 100% 安全,基本上就等于 0 值。 因此,为了检查合约的安全性,一般会测试和模拟各种攻击场景,并通过检查表进行安全审查,以确保合约的安全性。

开发可能只需要几天,但如果足够可靠,过程多且昂贵(一般以时间10W刀开始报价)

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

Horizo​​n Bridge的合约审计报告由资深审计公司PeckShield进行,发现5个漏洞风险。

2.1. 中低风险点1——兼容性不足

是不是很难想象,连 3 行代码也会有 bug?

其实锁定token的逻辑很简单,就是用户指定数量和目标地址,授权代扣权限后,合约将USDT转给该合约进行锁定,并发送锁定事件,这样链下的公证人可以知道该资产已被锁定。 锁定。

但是,PeckShield 审计发现 LockToken 锁定功能与通货紧缩令牌不兼容。 如果用户传入的金额为100,则发出自然Locked事件,成功锁定100个代币。

但如果它是一个“通缩”代币呢? 如果在 safeTransferFrom 期间金额减少,我该怎么办? 存在锁仓量低于B链释放量的风险

参见上一篇文章: [Source code interpretation] 你买的 NFT 是什么? bsc 智能合约审计

在标准协议中,使用虚函数作为钩子,在传输前后添加逻辑。 一些代币可能会增加这里的交易损失_beforeTokenTransfer,从而控制流通达到通货紧缩。

当然,和谐最终还是要修改优化的,实际锁仓量是通过转账前后两次读取余额来计算的。

声明:以上内容采集自VOCAL,作品版权归原创作者所有内容均以传递信息为目的,不代表本站同意其观点,不作为任何投资指导。币圈有风险,投资需谨慎
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢