撰文|?NESTResearch研究组,Yuheng?&Yuyi
出品?|NEST爱好者授权发布
分析案例:针对NEST预言机的矿池拒绝打包攻击
一、引言
与单纯基于可信任第三方的中心化预言机不同,NEST分布式预言机希望能够让尽可能多的链上用户参与到价格转换关系确定的过程中来,从而进一步提升预言机输出数据结果的可靠性以及整个预言机系统的安全性。
而正是因为这种特性,分布式预言机往往会遇到数据无法得到有效验证的问题,比如有恶意矿工提供恶意报价来影响价格。为了解决这种问题,NEST设计了报价—吃单的提交验证机制,即允许验证者根据报价的价格进行交易得到报价者所抵押的资产,并重新提出一个报价进行修正。通过这种方式,NEST分布式预言机能够在一定程度上有效地对恶意报价进行限制,同时也能够及时地对恶意报价进行修正。
WalletConnect 发布钱包开源解决方案 Web3Modal v2.0 版本,新增 ENS 域名解析等功能:9月17日消息,Web3 基础设施 WalletConnect 发布钱包开源解决方案Web3Modal v2.0版本,新功能包括可自定义的UI、支持上百个钱包、最终用户登陆、可定制的条款和条件、ENS域名解析,未来几周内也计划添加和增强更多功能,包括支持React和Vanilla等多种框架、为账户地址和实时余额等功能预建组件、支持非EVM链等。[2022/9/17 7:02:59]
然而,这种针对于价格修正方式的顺利运行基于的是吃单交易以及新的报价交易能够在验证期内及时地出现在链上的新区块当中。众所周知,目前整个区块链网络中的矿工群体早已不是像最开始那样单独工作了,为了保证收益的稳定性,矿工们会组织在一起形成矿池来达到算力的整合,因为在工作量证明的共识下,更大的算力也就代表着获得收益的概率越高。
BitDNS入选火种源计划,将为BitCherry生态应用提供域名解析服务:据官方消息,2021年4月14日,BitDNS成为首批加入BitCherry分布式商业生态的合作伙伴。BitDNS将为BitCherry链上应用提供分布式域名解析服务,实现一键去中心化,帮助企业和个人用户更加便捷、安全的参与数字资产交易,管理链上价值数据信息。BitCherry将携手BitDNS打造去中心化的网络生态系统,建立安全便捷的链上分布式商业生态体系。[2021/4/14 20:18:34]
矿池的出现所引发的本质问题是其对交易打包权的垄断。因为在公有链中只有挖到区块的矿工或者矿池能够决定下一个区块中应该包含哪些交易,而矿池相较于单一的个体矿工又往往具有压倒性的算力优势,在这种情况下那些具有算力规模更大的矿池会选择打包一些对自己有利的或者交易费较高的交易,即使这些交易可能并不是最先被公布到链上的。
V神:预测市场的结果解析层和市场层正在分离:V神在推特表示,预测市场正在分离:结果解析层(如果发生某些事件,给1美元的代币,没有发生返回0代币)与市场层(如何交易这些代币)分离。[2020/9/26]
而当这种情况出现在NEST分布式预言机中时,则会导致提交的新报价无法在验证期内得到及时地验证,最终会导致NEST输出错误的价格数据,从而使得部分矿池捕捉到套利机会,进而威胁到整个DeFi生态的环境安全。本文接下来会具体介绍这种针对NEST分布式预言机的矿池拒绝打包攻击的详细内容。
二、攻击流程及分析
为了方便讲解这种攻击方式,我们首先假设所有参与挖矿的成员都是矿池,各个矿池具有不同大小的算力占比,且彼此之间都知道各自的算力占比。
动态 | 以太坊域名服务ENS将加入多代币支持,未来可解析至比特币地址:go-ethereum和以太坊域名服务(ENS)核心开发者Nick Johnson今天在Twitter 宣布,已经提交了ENS以太坊域名的多代币支持,该提议通过后ENS以太坊域名将支持解析域名到多个区块链地址,其中甚至可以包括比特币地址。这也意味着,ENS以太坊域名将可能成为跨链的域名系统,用户可以通过一个域名在多个区块链间互通,未来只需要向其他人展示自己的ENS以太坊域名即可。目前已经有多个数字加密货币钱包支持ENS以太坊域名,在使用以太坊钱包进行转账时,不需要再输入冗长的以太坊0x 地址,而只需要输入短地址即可。[2019/9/9]
首先在发动攻击之前,恶意矿池可以通过闪电贷等方式预先囤积好之后用于套利的加密货币。例如,恶意矿池会预先囤积大量的ETH,紧接着操纵ETH和USDT之间的价格比例来实现套利。
接下来,恶意矿池会向NEST提出一个报价,该报价会和当前的实际市场价格存在着巨大的差别。由于该报价和实际市场价格之间存在着巨大的差别,也就代表着存在着巨大的套利空间。因此在持续时间为S个区块的验证期内,根据NEST本身的吃单验证的协议,必然会有验证者提出吃单的交易并对该报价进行最合理的修正以获得最大的收益。
而此时,在组装每一个验证期的区块时,所有的挖矿矿池面对着两个相同抉择,将该交易打包进自己组装的下一个正在组装区块当中或者不将该报价打包进下一个正在组装的区块中。由于各个矿池都知道彼此之间的算力占比以及彼此之间所能够采取的策略选择,因此在验证期内,每个矿池是否选择对该报价进行修正实际上可以看成所有矿池所一起进行的多次相互独立的完全信息静态博弈。而能够决定整博弈最终结果的,也就是所谓的纳什均衡点,则是每个参与者在各种决策组合情况下的收益,因为每个参与者都会选择在各种情况下自己收益都最大化的决策。囚徒困境就是一种典型的完全信息静态博弈。
如果一个矿池选择对于该报价进行修正,那么很明显该矿池能够立即得到收益,我们假设修正报价对应的收益为a。而如果一个矿池不选择对于一个报价进行修正,看似该矿池无法立刻得到收益,但是该矿池也可以根据该恶意报价所涉及到的加密货币进行囤积,最终在报价成立之后进行套利,我们可以设这个最终的收益为b并且通常有b>a。
但是我们需要注意到,在区块链中只有挖到新区块的矿池能够获得记账权,也就是说即使一个矿池选择立刻修正该恶意报价,它也只能在一定概率下获得a的收益,并且这个概率是和该矿池的算力成正比的,因此我们可以将一个矿池选择修正报价的收益表示为Pia。同样的如果不修正报价,在报价成立之后,一个矿池所能够得到的收益也为Pib。但是由于一旦报价被修正,那么之后的博弈也就不再存在,意味着所有的矿池都不会获得b收益,因此实际上在验证期矿池决定每个区块的交易内容时,其所考虑的两种收益实际如下:
其中T代表矿池的决策,Y代表修改该报价,N代表不修改该报价;Pn代表接下来所有验证期区块都不会出现修改报价的概率。
在组装验证期内对应的每一个区块时,所有的矿池都会比较这两种收益来选择自己的决策。最后根据自己的算力占比,以及两种收益a、b之间的比例关系选择是否对于该报价进行修正,从而最终达到纳什均衡状态。
三、分析总结
正如上述所说,矿池有可能会凭借着自身算力的优势对于报价的修正更新进行延迟和阻碍,从而利用NEST预言机进行套利。但是这也不仅仅是NEST预言机所面临的问题,实际上整个区块链的去中心化理念都在受到矿池这一现象的冲击,因此如何解决好矿池所带来的问题,是我们在走向真正的去中心化道路中不可避免的一个挑战。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。