前段时间,Axie Infinity的底层区块链网络Ronin Network失窃6亿美金,直到用户无法从跨链桥Ronin Bridge提款后盗窃案才被发现。跨链桥的资产安全问题再次引发热议。
事后,Sky Mavis COO Alexsander Larsen表示,“Ronin Bridge被攻击不是因为智能合约存在漏洞,而与社会工程和人为错误有关”。Axie Infinity的投资方Animoca Brands联合创始人Yat Siu曾在采访中提到,“如果一座桥梁能够铸造代币,那它就像铸造机一样……桥梁是权威,但如果它们设计不当或存在漏洞,就会对生态系统构成巨大风险。”
本文我们具体聊聊Tokenbridge的工作原理以及如何保证可靠性和安全性。
一、Tokenbridge的特性和模型
在ethereum生态中,tokenbridge允许用户在两条链上传输数据,并且提供了快速和安全的链接。tokenbridge作为主链和侧链之间的桥梁,对于资产和数据的转移起到了决定性的作用。
1. 链与网络的定义
Native(Home):本地链(侧链)是一个快速并且便宜的网络,所有收集validator的bridge操作都在native这一侧执行。
Swan Bitcoin CEO:银行业危机可能引发第一个持续时间更长的比特币牛市:金色财经报道, Swan Bitcoin 首席执行官 Cory Klippsten 在接受采访时表示,与 2013 年席卷塞浦路斯的上一次银行业危机期间相比,如今有更多人知道比特币是一种选择退出传统金融体系的工具。这意味着下一个比特币牛市可能会持续两到三年,而不是仅仅几个月。根据 Klippsten 的说法,比特币并未受到美国当前监管打击的威胁,他认为这是去年 FTX 崩盘后的自然反弹。比特币极端主义者支持美国证券交易委员会对山寨币的看法,它们应该作为证券受到监管。[2023/4/5 13:45:12]
Foregin(主链):这边可以是任何链,但通常是指以太坊的主网。
ERC20:在ERC20-ERC20bridge模式中,ERC667作为ERC20的实现可以在NativeSide端被创建和销毁。
2. Bridge Modes
bridge可以被配置成多种网络方式。当前支持的方式包括Native-to-ERC20?模式,ERC20-to-ERC20 模式,ERC20-to-Native模式和AMB(arbitrary message bridge)模式。
公链Sui推出Web3游戏预览Sui Capys:11月4日消息,据官方公告,公链Sui在测试网上推出Web3游戏预览Sui Capys,玩家可以购买、交易、繁殖和装饰Capys。Capys利用Sui面向对象的特性允许玩家可以交易和购买帽子、自行车和围巾在内的配饰,并根据父母属性生成新的Capys。作为Sui上的可编程对象,Capys展示了Sui上的资产所有权、可转移性以及动态字段等功能。开发者使用Sui Move语言开发Sui Capys需要定义基本模块、创建类型并构建注册表进行记录和验证。官方强调Sui Capys是一个专门用于激励Sui开发者社区的演示,并不是空投。[2022/11/4 12:16:55]
ERC20 to ERC20 :?兼容的ERC20 token被锁在 foreign network,同时在native边创建erc20token(erc677 token);当从navtive向foregin转移时,erc677token被销毁,erc20token(foregin)被unlock。
ERC20 to Native :coins被锁在foregin边,同时在native边创建erc20token。xDai用的是这种模式。
数据:比特币闪电网络容量突破4750枚BTC且重回1亿美元上方:金色财经报道,据1ML网站统计数据显示,比特币闪电网络锁定的比特币数量已突破4750枚(目前为4,750.93枚),创历史新高,价值约和103,870,405.35美元,过去30天增幅达到3.54%。此外,当前闪电网络节点数据为17,817,过去30天增幅为0.13%,通道数量为86,463,过去30天降幅为0.8%。[2022/9/12 13:24:09]
AMB Bridge :在两个链之间可以传递任意的数据。例如,允许传输nft token以及它们的metadata。
3. Bridge?Components
bridge也包括一些组件,内容如下:
tokenbridge:监听事件,发送交易去授权资产传输;
bridge ui application:在链之间传输tokens和coins的dapp gui工具;
bridge monitor:?检查余额和未处理的events的工具;
bridge deployment playbooks:可选的playbook。对于远程部署,可以管理token bridge的配置;
加密交易所AEX因短期流动性问题关闭提币功能:7月14日消息,加密交易所AEX在社群中表示,因为平台短期流动性问题暂未完全解决,AEX短期内无力兑付大家的提币需要,所以平台已经关闭了提币功能,并预计在其具备足够短期兑付能力之后会再次开放。
此外,AEX称:“此次危机仅仅只是短期流动性资金不足以完全兑付,我们的长期资金完全没有任何问题,足以轻松覆盖全部用户资产。所以,我们不仅不会跑路,而且会正常运营平台现有业务,并且不会停止一切正在对外的服务。[2022/7/14 2:13:12]
bridge smart contract:管理bridge的validator,收集签名和确认资产传递和丢弃。
为了方便理解,我们看一个user case:
这个ERC20-to-ERC20模式的token bridge,展现了用户如何在主链和侧链直接相互转账。具体流程如下:
1. 用户通过交易所购买了需要的tokens;
美股股指期货短线走低,标普500指数期货跌0.26%:行情显示,美股股指期货短线走低,纳指期货跌0.4%,道指期货跌0.18%,标普500指数期货跌0.26%。(金十)[2022/7/8 1:59:37]
2. 用户把购买的token 锁在 foregin bridge的智能合约里面,同时这个event会通过 token bridge进行传递,在native bridge contract中会创建erc677标准的token,同时发送到用户账号上;
3. 用户通过sidechain提供的dapp,使用dapp;
4. 用户想把sidechain的资产转移回主链,通过燃烧erc677 的token,token bridge把消息传递到foreign bridge contract,智能合约解锁token;
5. 用户把解锁后的token,通过交易所卖掉。
token bridge的基本定义,概念,流程都介绍完成了,那么如何去管理一个token bridge呢?包括对于token bridge的升级,维护,配置等等。这里就需要介绍token bridge中的角色。
二、Token Bridge Roles
tokenbridge上的管理员负责bridge的安全,升级和智能合约的部署。管理员的操作都是通过多签名来确保安全的。? ??
Administrative Groups and Roles
管理员负责管理bridge的智能合约,并负责validator的管理。管理员分为以下三个组:
1. Group A - 负责管理validator的集合
添加或者删除validators;
对于validators设置最小所需要的签名数量。
?2. Group B - 负责管理bridge的参数
对于user和validators设置每日限制;
设置每个transaction的min和max的限制;
设置gas price的fallback;
设置终止阈值。
?3. Group C - 管理升级
智能合约的升级;
解锁funds。
Validators Roles
提供100%的正常时间用于传递transactions;
在native side监听UserRequestForSignatures的事件,并签署一个批准对于传递的资产在foreign side;
在native side监听CollectedSignatures。一旦收集到了足够的签名,传输所有收集到签名给foregin side;
在foreign side监听UserRequestForAffirmation or Transfer事件并对于资产从foregin到native,发送一个准许给native side。
validator的主要作用一方面是监听两边的时间,另外一方面对于交易的传递做校验和传递。
Ronin被盗事件中,攻击者就是通过控制验证节点的方式盗取资产。Ronin链有9个验证节点,存、取加密资产需要9个验证者签名中的5个。攻击者设法控制了Sky Mavis的4个Ronin验证器,另一个被控制的是由Axie DAO运行的第三方验证器。Sky Mavis是Axie Infinity的开发商。
了解了跨链桥的工作机制后,对于如何规避Ronin事件类似的跨链桥安全问题的再度发生,从社会工程的角度,我们有以下几点思考:
跨链桥项目要关注签名验证节点的安全性,确保敏感信息安全存储;
如果跨链桥项目的签名是在线下进行的,网络必须更新签名的安全策略,关闭相关的服务模型,同时要考虑签名账户地址被泄漏的风险;
验证签名不仅要采取多重签名的方式,还要确保多签事实上属于执行隔离,签名内容的验证过程必须独立进行。
User Roles
这里就不做过多解释了,主要就是在主链和侧链之间发起资产传递的请求。
三、Component - Monitor
token bridge monitor的主要作用是识别tokenbridge oracle过程中出现的数据不一致和异常情况。monitor从tokenbridge contract 获取数据以及bridge中的transation,分析他们的健康状态,并通过Json的数据格式展现出来。
四、总结
我们从另外一个视角分享了sidechain和mainchain的关系,在两条链中资产和数据的传输是通过token bridge来保证的:
tokenbridge通过权限角色模型并借助多签的方式,管理bridge的角色和配置;
validators负责两边transaction的确认和传输;
monitor负责监控数据的一致性和异常情况。
但是这也暴露了一个问题,tokenbridge的管理权限在admin手中,而admin使用是通过多签的方式保证安全的,是一种弱中心化的管理方式。所以,对于admin私钥安全性的管理就成为整个tokenbridge最核心的安全问题。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。