宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 火必APP > 正文

如何防范对智能合约的审查攻击?

作者:

时间:1900/1/1 0:00:00

编者按:本文来自:以太坊爱好者,作者:EdFelten,翻译&校对:IANLIU&阿剑,Odaily星球日报经授权转载。在智能合约系统的设计中,一种常见的模式是要求客户端在某个时间节点前采取某些行为;如果客户端超过这个时间点没有响应,则智能合约会采取一些替代行动,而且通常来说是对逾时的客户端不利的行动。本文中,我的关注点是交互式rollup协议会用到的类似模式——由某一方提出“断言”,其他人如果觉得断言有问题,可以在“挑战窗口期”内提出挑战;如果挑战期内没有人提出任何挑战,则这个断言就会被视为有效的。这种设计模式在实践中会遇到的问题是审查攻击——攻击者阻挠其他人在时间窗口内提出挑战。在交互式rollup协议中,攻击者可能会提出虚假的“断言”,同时阻止其他人在窗口期发起挑战,最终导致虚假的断言反倒成为合法的。我们也假设,攻击者必须先投入一笔资金,一旦攻击失败,它会失去这笔钱;这样一来,我们不需要让系统被成功攻击概率为零,而只要确保攻击成功概率足够小,就不会有人愿意去尝试攻击整个系统。下文,我会总结有关审查攻击的知识,以及如何对抗审查攻击,最后给出我对这种风险的看法。审查攻击的类型

Safe:将通过SafeDAO决定如何处置初始分配的ARB代币:5月11日消息,数字资产管理平台Safe(原GnosisSafe)表示,将代表Safe生态接收Arbitrum基金会初始分配的ARB代币,并将在Safe DAO论坛上发帖,以决定如何分配这些资金,同时公布了资金接收地址。此前报道,Arbitrum面向DAO的空投总计1.13亿枚(1.13%),其中Safe获得257540枚。[2023/5/11 14:56:14]

审查攻击主要有四种:分叉:矿工串通弃置包含正常挑战的区块,并通过分叉,使另一条没有包含任何挑战的区块链被接受。闪躲:矿工密谋在出块时不打包正常的挑战。干扰:攻击者通过传统的拒绝服务攻击,使得其他人无法提出挑战。速攻:攻击者在很短的时间内提出大量的链上断言,让其他人来不及在时间窗口内对所有断言进行检查和挑战。我们一个一个分别讨论。分叉攻击

Stargate DAO成员在社区会议上讨论如何处理即将收到的160万枚ARB:3月30日消息,Stargate DAO成员在周三社区电话会议上讨论如何处理160万枚Arbitrum(ARB)代币的预期分配,这些代币价值不到200万美元。LayerZero Labs的员工MaxPower表示,这些代币尚未收到,但当收到时将必须决定是否持有、出售、部署或委托这些代币。

一些与会者建议,DAO应该将ARB代币分发给用户,或将其部署为流动性激励。与此同时,其他治理代币持有者建议委托ARB代币,以便Stargate DAO可以参与Arbitrum治理。

据DeFiLlama的数据,Stargate的总锁定价值(TVL)为3.64亿美元,其中近22%来自Arbitrum平台。(CoinDesk)[2023/3/30 13:34:35]

分叉攻击是指在工作量证明区块链上,攻击者获得大多数挖矿算力,并根据需求使用这些算力来孤立包含挑战的区块。因为这类攻击要求攻击者控制绝大部分算力,所以很难发起——如果攻击者能够轻易获得大部分算力,表示这条区块链本身就有很大的问题。或者换个角度想,一个能够控制绝大部分挖矿算力的卡特尔,一方面会导致大家不信任他们所在的区块链,另一方面,可能也会有比审查攻击能更快从系统中榨出油水来的办法。你可能会说,慢着!算力垄断者可能并不会高调地声张,只是偷偷摸摸地搞审查;如果攻击者有能力这么做,他们可能会在避免整个区块链信誉受损的前提下,通过分叉进行审查攻击。这里引出第一个问题:审查攻击对于旁观者来说,是否易于察觉?为了证明分叉攻击是显而易见的,我模拟了分叉。假设攻击者控制了60%的算力,在前三十个区块中,出现三条分叉链,长度分别是1、6、5;这和一般的区块链完全不同。我又做了一次模拟,这次攻击者控制55%的算力,这时候一个较早期的分叉可长达48个块。根据简单的数学模型预测,当垄断了60%的算力,则每2.5块会发生一次分叉,分叉导致的孤链平均长度为5;当垄断了55%的算力,则每2.2块会发生一次分叉,分叉导致的孤链平均长度为10。可以看到,随着垄断的算力下降,分叉发生的频率及孤链长度反而增加了;但无论分叉长短,它们的共同之处是:在孤立分支上的首个区块一定包含有效挑战,而最终成为主链的分支则绝对不会包含这个挑战——提出该挑战的人一定会发现这点!所以审查攻击一旦发生,就一定会被人发现。我不知道你会怎么想,但如果我发现区块链中存在算力垄断现象,而且垄断者会时不时使用算力干扰应用层协议,我会感到非常担忧。如果其他人也有这种疑虑,整个区块链将不再被用户所信任——任何51%算力攻击皆会导致这个结果。换言之,这种攻击的问题并不是有人会审查你的应用层的交易,而是你所处的区块链存在算力垄断者,它可以为了利益不受约束地破坏规则。对于任何区块链应用来说,不论TA是否采用窗口期设计模式,只要出现了这种算力垄断,就是毁灭性的打击。如果你所在的区块链可能出现分叉攻击,你应考虑转移到其他区块链。闪躲攻击

“比特币是如何制造出来的”排名微博热搜榜第29位:微博热搜显示,“比特币是如何制造出来的”排名微博热搜榜第29位。[2021/5/21 22:28:16]

如果算力垄断者不采用容易被发现的分叉攻击,还有别的诡计吗?有的,就是闪躲攻击。恶意矿工只要在出块时,拒绝打包包含挑战的交易就行了;只要确保挑战窗口期内所产的区块,都由恶意矿工产出,攻击就能成功。闪躲攻击成功的可能性有多大?可以这么解释:当垄断者控制的算力比例为f,挑战窗口期为n个区块,则攻击成功率为fn。举例来说,垄断者控制了90%的算力,挑战窗口期为50个区块,则攻击成功率为0.5%。如果攻击者要为攻击失败支付大量罚金——就像rolluo协议所设计的那样——他们就不会肆无忌惮地攻击;而且如果罚没的钱能返给受害者,大家还会喜闻乐见这些未遂的攻击。所以应对闪躲攻击的办法是确保挑战窗口期足够长,使得攻击成功概率低至用户能接受的范围;假设你能接受的攻击成功率为r,攻击者至多能控制f的算力,则安全的挑战窗口期为log(r)/log(f)个区块。这个建议在现实中也是合理的;假设攻击者能够垄断99%的算力,要保证攻击成功率低至0.1%,则挑战窗口期至少要等于log(0.001)/log(0.99)=687个区块,对于以太坊来说只需要不到三小时。干扰攻击

现场丨Cdot创始人刘毅:公链发展面临的核心问题是如何突破性能瓶颈:金色财经现场报道,10月11日,由金色财经、Candaq和哼哈互动联合发起的金色沙龙第55期“Polkadot-波卡万物生长与跨界破圈对话”在北京正式举行。在本次沙龙上,Cdot创始人刘毅指出,公链发展面临的核心问题,是如何突破性能瓶颈,同时保持可组合性,不过度牺牲去中心化。目前解决方案有跨链、Layer2、超级Layer1和分片。Polkadot也是分片,但它是处在多链和分片之间的。分片最难的是跨片智能合约调度问题,Polkadot也面临这个问题。此外,他表示,Polkadot的成功非常依赖于共享安全,共享安全成不成立确定了Polkadot整个设计成不成立。[2020/10/11]

在干扰攻击情况下,攻击者通过“传统的拒绝服务攻击”,来阻止其他人发出挑战;也就是“以DoS进行审查攻击”。干扰攻击的问题是,攻击者必须阻止“所有”可能提交挑战的参与方,如果这些参与方足够多,则干扰攻击就很难成功。对于攻击者来说还有个坏消息是,其他利益相关方可能会暗中雇用监视者——一个暗中观察协议运行的中间方,在参与者来不及或难以发出挑战时介入,对无效的断言发起挑战。攻击者没办法辨别这些潜伏的监视者,也就没办法对他们发起DoS。综上,对于攻击者来说,干扰攻击似乎不是个好选择。速攻

动态 | 更多人想通过谷歌知道如何购买XRP:据dailyhodl报道,在谷歌2018年最热门\"How to”搜索中,“How to Buy Ripple”(如何购买XRP)排名第四,“How to Buy Bitcoin”(如何购买BTC)排名第八。[2018/12/14]

速攻指的是,攻击者发布大量的断言,使得其他人来不及在挑战窗口期内检查所有断言。任何的rollup协议都需要有防御速攻的机制,其中一种方法是对提出断言的频率进行限制,保证协议在设定的挑战窗口期内的任何时间点,全网都有足够的能力去检查待处理的断言或挑战。这类机制会在一条rollup区块链上,针对智能合约的处理能力实施一种“速限手段”——即使存在某个能快速提出大量断言的人,他最终也不得不慢下来,确保其他正常参与者能跟上。所以要衡量一个rollup系统的可扩展性,其中一个很重要的指标就是它在保证安全的前提下的最大速度限制;速限指的是一个系统能安全处理事务的速率,而不是某个参与者能够产出断言的极限速率。总结

综上所述,有三种审查攻击能够通过合理的设计或实践来避免。防范闪躲攻击:评估攻击者的资源和风险承受能力,制定合理的挑战窗口期。防范干扰攻击:自行雇用潜伏的监视者,当你出差池的时候这些监视者能够代替你发起挑战。防范速攻:更细致的设计rollup协议。关于分叉类型的审查攻击则很难分析;因为某种程度上来说,成功的分叉攻击会留下明显的证据,证明该链上存在算力垄断者,而这些算力垄断者会更愿意采取其他更快获得收益的攻击——比如双花。任何存在算力垄断的区块链都已经病入膏肓,那又何必为这种情况下的审查攻击而操心呢?

标签:区块链ARBROLLDOT区块链工程专业学什么及就业方向Carbon Neutralityroll币能出坐骑吗HDOT

火必APP热门资讯
?如何实时查询合约调用交易

在以太坊智能合约开发中,合约调用交易经常发生。合约调用交易包括三种,创建合约交易,调用合约交易和直接向合约地址转帐的交易.

1900/1/1 0:00:00
2020斯坦福区块链大会精华:覆巢式51%攻击或成PoW致命威胁,远程侧信道攻击可破解Monero匿名性

2020年2月19日至2月21日,由PoS公链Findora团队成员DanBoneh和BenediktBünz联席举办的学术会议——“2020斯坦福区块链大会”在硅谷落下帷幕,会议重点关注区块链系统中的安全工程和风险管理的方法.

1900/1/1 0:00:00
如果Defi长期发展良好,以太坊的产业价值将达到1万亿美元

编者按:本文来自巴比特资讯,编译:CaptainHiro,星球日报经授权发布。据AMBcrypto2月26日报道,对于那些刚刚进入数字资产市场、不了解任何行业信息的新投资者来说,他们可能会更倾向于购买以太坊.

1900/1/1 0:00:00
加密货币钱包全景概览:生态系统、用户界面及最新进展

钱包是密码学货币世界里重要的基础设施。所有跟密码学货币相关的操作,包括买卖密码学货币、持有密码学货币、转账,乃至质押获利,多多少少都跟钱包相关。就像web浏览器是Web的门户一样,钱包好比Web3的门户.

1900/1/1 0:00:00
比特币秘史(二十五):中本聪怎么才能自证身份?

关于如何证明你是中本聪的问题,答案其实非常简单;只要证明者能够从创世地址或者社区公认由创始人控制的14个地址内转出比特币,就足以证明他的身份。但时至今日,所有站出来承认自己是中本聪的人都采取了迂回战术来解决问题.

1900/1/1 0:00:00
比特币并非不稳定

编者按:本文来自星传媒STARMEDIA,作者:雪穗,Odaily星球日报经授权转载。这几天开单开的有点心烦意乱,一天之内频频插针,上午插,下午插,晚上插,半夜还插,一天好几次,搞得你受不了,明明说好的牛市,你已经身心俱疲.

1900/1/1 0:00:00