原文标题:《跨链桥为什么这么多事故?》
原文作者:0xScope团队
前言
近期频发的跨链安全问题吸引市场的广泛关注,本文希望从产品设计的角度入手,给读者讲述为什么这个赛道的产品安全问题这么多。需要声明的是,文章中所指出的问题并不是每个项目都会存在的,大部分问题在设计时都已经有了相关的应对策略,本文的目的主要还是希望更多人可以理解这个赛道的复杂程度。
文章的撰写逻辑是:先讲清楚通用的跨链桥都是怎么设计的,加深读者对跨链桥的理解,再总结这些跨链桥可能会遇到的安全问题。
一:万变不离其宗的跨链方案
之前的研报实际上已经向大家阐述过几种不同类型的信息跨链方案,不论最终的呈现是什么样的,从产品设计的角度来说,只有侧链,哈希时间锁定,公证人这三种机制。
侧链
这三种方案中侧链方案的安全性最高,比如各种不同的rollup和polkadot的平行链。主链和侧链之间共享安全性。
但是侧链方案一般要求原链和目标链同构,这样一来可适用的场景就要少得多。这也是为什么V神认为赞同多链,但不认可跨链的原因所在,因为无法共享安全性的跨链方案实在是问题太多了。
哈希时间锁定
这种方案号称是点对点的最去中心化的异构跨链方案,但是成本较高,用户等待时间过长,导致当前的采用率并不高。且当我们依然需要一个第三方充当换币中间节点时,也需要一个所谓的中间共识层去满足安全性和去中心化的要求。
公证人机制
dYdX社区开启关于“V4采用与将DYDX迁移到dYdX链”提案投票:8月30日消息,Snapshot页面显示,dYdX社区正在对“V4采用与将DYDX迁移到dYdX链”提案进行投票,将于9月2日7:49结束,目前支持率为100%。该提案由加密做市商Wintermute向dYdX社区发起,提议包括:
1. 采用dYdX v4开源软件作为dYdX协议的下一版本;
2. 采用DYDX作为dYdX链的L1代币;
3. 采用dYdX基金会委托开发的智能合约,在以太坊和dYdX链之间建立DYDX的无许可自治单向跨链桥;
4. 建议dYdX链验证节点在dYdX链上分发DYDX时参考上述智能合约;
5. 在dYdX v3上,wethDYDX将与基于以太坊的DYDX具有相同的治理和应用功能。[2023/8/30 13:05:46]
这是当前最常用的异构跨链桥方案,市场上的大多数产品基本都同根同源,从产品设计的角度来说几乎没有区别。主要的区别可能集中在信息校验的方式步骤,公证人的共识算法,托管钱包的签名算法等。从使用体验和安全性上的差别也都不太大。因此,从安全的角度来说,所面临的安全风险也是有很多共性的。
本文将着重总结和分析公证人机制的跨链桥所面临的一些具有共性的安全风险。
?二:公证人机制的产品逻辑流程
在了解公证人机制所面临的各类风险之前,我们需要先了解这种类型的方案从产品的角度来看,主要是什么样的设计逻辑。
简述
这种方案从设计哲学的角度来说其实非常简单。当我们面向异构资产跨链的需求,最直观的方案其实是“映射”。映射的意思是当用户A将ETH从以太坊跨到Fantom上时。我们并不需要将资产实际转移,或者在Fantom上重新发行。而是先将用户A的ETH存到一个不能移动的地址,然后根据存在这个地址中用户A的ETH数量,再在Fantom上发行对应的1:1的映射资产。映射资产代表了以太坊原链上那些ETH的使用权。因为有1:1的锚定,Fantom上的用户也认可这个资产的价值。
《最高人民法院关于加强区块链司法应用的意见》发布:金色财经报道,最高人民法院今日发布《最高人民法院关于加强区块链司法应用的意见》提出,到2025年,建成人民法院与社会各行各业互通共享的区块链联盟,数据核验、可信操作、智能合约、跨链协同等基础支持能力大幅提升,司法区块链跨链联盟融入经济社会运行体系,主动服务营商环境优化、经济社会治理、风险防范化解和产业创新发展,服务平安中国、法治中国、数字中国和诚信中国建设,形成中国特色、世界领先的区块链司法领域应用模式。《意见》明确要求人民法院加强区块链应用顶层设计、持续推进跨链协同应用能力建设、提升司法区块链技术能力、建设互联网司法区块链验证平台、建立健全标准规范体系。[2022/5/25 3:40:30]
最简化的跨链流程
设计的难点
这里面会存在很多问题,其中最大的问题是多签钱包的管理问题,因为ETH从以太坊跨到Fantom上是充币,而如果用户A还想跨回来那就会涉及到提币的问题。
充币和提币的去中心化和安全性就成为了最大的难点。
1:谁来管钱?
2:谁来发起?
3:谁来监听交易?
4:怎么确认确实有用户转钱进来了?
5:怎么确认用户的钱确实是用户本人想提出去?
6:怎么防止重放攻击?
7:发起失败的交易怎么再次提交?
8:多签管理者作恶怎么办?
9:宕机怎么办?
不敢想,越想感觉越复杂。跨链桥的技术不仅仅涉及到多签,还涉及到资产发行,跨链监听,异步验证,甚至需要发行一个独立的中间共识层。
欧洲立法者将于4月25日展开关于Web3时代加密税收的讨论:金色财经消息,欧洲立法者将于4月25日讨论如何收紧Web3时代的税法和程序。
欧洲议会葡萄牙议员LídiaPereira编写的一份报告草案表明,国家税务机关有权交换个人持有的加密资产数据,一些人认为这是不合理的窥探。此外,立法者也认为区块链技术技术可以帮助完善税收制度,区块链公共分类账本可以提供一种自动化税收征管的新方法,让居民在无需大量填写表格的情况下支付所欠款项。(CoinDesk)[2022/4/22 14:41:52]
因此为了进一步简化用户的理解难度,我将整个跨链的流程分为充币和提币两个部分进行讲解。以帮助大家更进一步了解:
流程的进一步细化
1:充币
先声明一下,下图所画的流程只是我自己经过推演后的设计方案,没有经过仔细的论证,目的是为了探究设计逻辑中所可能出现的安全问题,并不可以作为成型的方案去采用,全是瞎扯。
如图所示:一笔从原链到目标链的充币交易原则上会包含这些步骤:
用户充值到托管地址
监听器监听到这笔交易后由BP发起交易
合约验证BP签名的正确性
是否有通过节点容错机制
如果没有打回去,如果有的话根据映射地址的关系为目标链地址充值
BP确认这笔充值交易
通过拜占庭后将映射代币转给用户在目标链上的地址
需要特别注意的是,这个流程旨在讨论通用的异构跨链,所以相比于anyswap等方案增加了一步在中间共识层上让用户绑定地址关系的步骤。这主要是不同异构链交易附带信息的方式不一样,为了统一处理,干脆先让用户绑定好映射关系。
Algorand创始人发布关于Algorand去中心化治理的提案:11月24日,Algorand创始人Silvio Micali教授发布了关于Algorand去中心化治理的提案,面向全球社区征集反馈。该提案的目标是实现Algorand的去中心化治理,并将网络奖励与治理模式结合起来。更确切地说,它所提出的机制和激励措施,确保了治理模式同我们的共识协议一样,是去中心化的、安全的和有效的。参与治理将是完全自愿的。选择参与的账户,即治理账户,或者更简单地说,治理人(Governor),需要将其持有的通证锁仓一定的时间(目前暂定为一年)。对为生态贡献的治理账户,应当给予奖励。我们预计治理账户所获得的奖励将高于它们现在的网络生态奖励。
治理机制都应遵循以下指导原则:投票会议、投票截止日期、透明度、没有审查、没有垃圾信息、投票选项、投票有效性、投票权重和结果、监测、方便快捷和单独的治理秘钥。
治理奖励机制提议以一种去中心化的方式来选择治理账户的治理奖励率。更确切地说,我们提议在基金会决定的参数范围内,由治理账户自己通过荷兰式拍卖的方式来决定。[2020/12/4 23:02:54]
如果处理的都是EVM链的交易则不需要这步,直接在发起交易时附带目标链地址即可。
回到正题:从上述的流程中可以看出,从第二步开始,就会遇到各类的逻辑验证问题,和不同情况下的处理问题。
主要的验证逻辑包括:
监听到交易后对发起资产映射和转出到用户A的目标链交易的验证
目标链交易的发起以及交易结果的验证
当然除了我流程中所画的验证逻辑之外,还应该包括对假币充值问题的校验,以及调用不同token时所需做的特殊处理问题。
ebtcbank发布关于量化链(QAS)首期回购方案的公告:ebtcbank发布关于量化链(QAS)首期回购方案的公告称,目前量化链项目运行良好,经量化链项目基金会批准,量化链运营团队将依照白皮书上的约定开启第一次回购,运营团队会将运营所得利润的20%用于公开回购,回购所得QAS将在区块链上销毁。[2018/5/11]
为了在后续更好的总结可能会出现的安全隐患,我们先继续来理解提币的流程。
2:提币
提币所演示的流程是目标链映射资产换回原链资产的逻辑,需要特别注意的是,当前很多代币都发现了多个链的版本,也就是说很多代币都在多个链上拥有原生代币。因此,一些桥的项目往往会设立资产池。在资金池充足的情况下,让用户感受不到anyDAI这样的映射资产的存在,而是直接换成目标链版本的token,但这并不影响整体的逻辑。所以,分析继续:
如图所示:一笔从目标链提币到原链的交易流程如下:
用户发起交易
验证BP身份,由某个BP发起提币请求
确认提币权限和签名
通过拜占庭后完成请求在原链提币,把钱从原链的托管钱包里转出来到用户A
如果这中间因为节点验证出错或者宕机等问题还要回滚重新发起
从上述流程可以看出,这里面涉及的主要验证逻辑有:
发起和签名权限的验证
问题出现后的容错机制
安全风险
1:设计逻辑上的安全问题
较为仔细的了解了跨链桥的设计后,我们可以发现在设计逻辑上跨链桥面临的挑战非常多,总结一下主要包含三个方面的问题
充币
a)充币合约权限漏洞,导致充进去的钱直接被转走。这是一个几乎所有合约项目都会遇到的愚蠢的问题,
b)假币充值问题,某些项目未对跨链Token的真实性做验证,导致fakeTOKEN->realTOKEN,说实话这个也有点蠢。
d)假币充值问题,ETH等原生资产不同于ERC20合约,很多攻击都是由于对ETH特殊处理不当,导致fakeETH->realETH,这也是为什么WETH等wrapped资产流行的原因。
c)不同的Token虽然都是ERC20标准,但具体的实现方式不一样,或者额外有别的逻辑,开发者没有在适配时做好调研,像
跨链消息转移
在a链充币完成后,到b链资产到账前,跨链桥的处理像是一个独立的区块链系统,即需要一个共识机制,一般用dpos,以下都是假设用dpos的情况下需要考虑的问题,但我怀疑所有的节点都是项目方的,首先就具有中心化风险。
a)充币消息监听,谁来第一个发起跨链处理提案,随机?还是轮流?还是按照中间共识层的出块顺序?。
b)多个公证人如何验证充币的正确性,倘若数据源都来自infura等数据提供商,则infura是一个单点风险,最稳妥的是各自维护节点,这样成本巨大。
c)如何确认跨链处理完了,没处理完有几种情况:
i.跨链桥没有发起处理
ii.跨链桥发起处理了,但是验证&共识没有通过
iii.跨链桥验证通过,但没有在b链上发起交易
iv.b链上有交易,但失败了
多重签名验证问题
问题多发的重灾区,大多数都是代码逻辑问题
a)3/5签名,我随便构造不在多签列表里的签名,也算+1。
b)中心化问题,名义上是多签,其实掌握在项目方手中,巨大的中心化风险
c)签名验证方法,不同链上的开发模式不一样,导致开发者在对接的时候难免会有遗漏,wormhole例子:solana上的验证签名函数是系统合约里的一个函数,正常应该去调用系统合约,系统合约的地址应该写死在代码里,他们这里把系统合约地址是当做参数传进来的,黑客提币时传了个假的系统合约地址,就绕过了验签,顺利把币提走。
退款
a)如同-c中讨论的,跨链状态有很多种可能,在任何情况下都需要给用户提供一个退款的方式,比如anyswap在充币时会先在源链上给用户发anyToken,然后再在目标链上给用户发anyToken,然后把源链的anyTokenburn掉,这样的目的就是不管问题出在哪,用户都可以通过持有anyToken表示自己持有的资产。这个过程中有3条链和4个资产,非常容易出现代码逻辑的问题。
b)Thorchain在2021.7.23爆出的漏洞,黑客利用代码逻辑问题,构造了一笔巨额假充值,跨链桥无法处理,就进入了退款逻辑,导致黑客拿到巨额退款。
2:其他的安全风险
但是通过逻辑流程所能展示的问题只是业务逻辑上的问题,并不是全部。
从安全的角度出发,我们还应该考虑另外三个方面的风险:
系统性的风险
比如原链的充币一开始成功,后来回滚了,这是一个巨大的问题,v神讨论过,资产从Solana跨到Ethereum,跨链完成后solana回滚,则用户资产翻倍,没有任何解法。
但比如rollup这种和Ethereum共享安全性的layer2,就不会有这种问题。
前端的风险
a)伪造的网址,比如oxdao.fi0xdao.fioxdai.fi等
b)Xss攻击,即跨站脚本攻击,是一种代码注入攻击,比如www.xxxx.finance/?params=hackerscode12345,虽然网址确实是官方网址,但是网址中携带了黑客的代码,如果前端开发没有注意防止xss,则这段代码会在页面上执行,导致用户对黑客的转账交易授权签名,因此不要打开来历不明的链接。
c)Cors跨站服务攻击,在严格的同源策略中,浏览器只允许加载来自本站点的内容,即www.xxxx.finance站点显示的所有内容、调用的接口,都应该来自于xxxx.finance域名下,但目前绝大多数项目,都允许跨站调用,即xxxx前端可以调用quickswap的接口,反之亦然,这给开发上带来了便利,但也带来了风险:
假如我访问了xxxx.finance,在浏览器缓存里存入了一些敏感数据,然后我访问了一个恶意网址,如果xxxx的同源策略没有限制,则这个恶意网址可以随意获取xxxx存在缓存中的数据。
额外功能的风险有些跨链桥项目,不止提供资产跨链,还提供跨链合约调用,这就带来了额外的复杂性。
攻击者在a链发起一笔对b链上x合约的调用,跨链桥不管x合约是啥就直接调用了,没想到x合约是跨链桥在b链上的多签合约,这笔调用是将多签账户改为攻击者自己的地址,执行成功后,黑客可以随意支配跨链桥在b链上的资金了。
三:结语
1:本报告的目的在于帮助用户较为明确的理解跨链桥的安全风险所在,并非恶意的渲染跨链桥有多容易遭受攻击。
2:公证人机制的跨链桥方案至少从目前来看是体验最好,适用范围最广且成本最低的方案。并且任何产品都会经历从伤痕累累到成熟的过程,区块链产品所遭受的攻击往往都是“逻辑问题”。这些问题随着时间的推移和经验的增加一定会越来越好。
标签:ETHTOKENKENLFIethnographyinbusiness答案GNY Tokenimtoken币被盗怎么办BLFI币
来源:WEB3MKT 作者:Zolo,深潮TechFlowWeb3的Marketing应该怎么做,与Web2市场的思维方式有什么不同?带着这样的问题,最近阅读了很多相关的内容.
作者:MetaAttack由一站式区块链游戏加速器GStar孵化,全链游戏发行平台Gmetrixs提供技术支持的PlaytoEarn游戏MetaAttack即将问世.
作者:SergioGallardo编译:0x214,BlockBeats除去大家耳熟能详的加密市场工具Nansen、Dune、DefiLlama和Parsec等.
作者:VitalikButerin原标题:《OnPathIndependence》发表时间:2017年7月22日假设有人走到你面前,开始对你大喊,他认为他已经想出了如何创造无限自由能量的来源.
作者:火币研究院 摘要 加密市场进入熊市已经成为了所有投资者和从业者的共识。而冬天正是为春天的播种做准备的时候。未来会结出什么果实,当然要问播种的人.
文章作者:SamiKassab文章编译:Blockunicorn 关键的见解 Burn-and-MintEquilibrium(BME)模型和Stake-for-Access(SFA)模型是We.