okx

区块链入门:DApp随机数攻击现象剖析

时间:2023-08-03|浏览:237

作者:李火华

9月14日,一款名为“EOSPlay”的DApp游戏遭遇了新型随机数攻击,一共损失了数万个EOS。

或许很多人对「随机数攻击」这个词已经司空见惯了,因为在DApp遭遇黑客攻击的事件中,随机数攻击占了很大一部分,很多DApp的随机数被黑客破解了。

你或许会问,随机数不是随机的吗?随机意味着不可预测,为什么还会被黑客破解呢?

这还得从随机数说起。

随机数可以分为真随机数和伪随机数。真随机数需要同时满足随机性、不可预测性、不可重现性,而伪随机数只需要满足随机性,或者是随机性和不可预测性即可。

真随机数只存在于物理世界中,一般需要通过物理手段(包括量子过程)获得,比如我们日常见到的抛硬币、掷骰子,生成的随机数就是真随机数。但是,抛硬币、掷骰子这种随机数生成方法的缺点非常明显,那就是耗时、耗力,而且也无法满足现代的计算机世界对随机数的需求。

因为效率的缘故,现代的计算机软件主要依赖伪随机数。最早的伪随机数生成器由20世纪最重要的数学家之一冯·诺依曼创造,通过一个确定的随机数种子,由确定的算法生成伪随机数序列。现在的主流计算机编程语言,默认的是将1997年发明的梅森旋转算法只要种子不变,生成的伪随机数序列也不会变。换句话说,只要你能拿到种子,你就可以破解随机数。

计算机生成伪随机数的过程,或多或少与这台计算机的物理状态或运算状态有关。也就是说,同一套随机数算法,不同的计算机,或是同一台计算机在不同的时刻,生成的随机数是不一样的。

然而,这种传统的计算机伪随机数生成方法虽然足够安全,却并不适用于区块链。区块链是一个分布式的系统,同一个DApp在不同的节点上运行,采用的随机数必须要一致,这样才能让各个节点进行验证。所以,DApp的随机数来源,不能是运行这个DApp的计算机自动生成的,因为这样的话,不同的节点计算机运行的结果就不一样了。

那么,区块链上的DApp随机数从哪里来呢?主要有以下三种方法:

第一种方法是通过可信第三方提供随机数。比如说专门提供随机数的网站random.org,我们可以通过独立于区块链之外的Oraclize预言机为以太坊区块链上的DApp获取随机数。当然,这种依赖可信第三方的方法有违区块链去中心化的精神。

第二种方法是不同的参与者一起合作生成随机数。比如以太坊区块链上的RANDAO,任何人都可以提交一个数字,RANDAO将所有提交的数字集合作为种子,生成随机数,其他DApp可以付费调取RANDAO生成的随机数,这些费用会奖励给那些提交了数字的用户。因为以太坊的去中心化,你不知道别人提交了什么数字,所以要破解RANDAO的随机数种子难度很大。

第三种方法是采集区块链上的信息作为种子。这也是目前大部分DApp所采用的随机数生成方法,缺陷是随机数的种子“几乎是”透明的。以本文开头提到的EOSPlay为例子,这款游戏的随机数采用的是未来某个区块的ID(哈希值)作为随机数的种子。

那么,黑客是如何实现攻击的呢?根据区块链安全公司慢雾科技的分析,可能使用了以下的方法:

1、黑客为自己和项目方租用了大量的CPU;2、黑客发起大量的延迟交易;3、由于以上两点原因,导致CPU价格被拉高,从而导致其它用户CPU不足;4、因为CPU不足的原因,其他用户难以发送交易,黑客得以使用自己的交易占满区块;5、根据提前构造的交易内容,黑客可以成功预测出区块哈希。

也就是说,虽然哈希算法不可逆,但是黑客可以通过控制输入实现输出的控制:控制区块内的交易内容,从而控制区块信息,进而控制区块哈希值,最终达到预测开奖结果的目的。

最后,我们总结一下:

随机数可以分为真随机数和伪随机数,真随机数只存在于物理世界中,一般需要通过物理手段获取。为了效率,计算机主要采用伪随机数,然而由于区块链的分布式特性,足够安全的传统计算机伪随机数生成方法并不适用。大部分DApp采用的是收集区块链上的信息作为伪随机数的种子,而要想设计足够安全的伪随机数,难度非常大,这就是为什么很多DApp经常遭受随机数攻击的原因。

——End——

热点:EOS 区块链

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

« 上一条| 下一条 »
区块链交流群
数藏交流群

合作伙伴

币圈论坛 爱网站 数字财经 玩票票财经 装修装饰网 非小号行情 妈妈知道 代特币圈 币圈交流群 今日黄金 借春秋 借春秋财经 秒懂域名 宠物丫 旅游资讯网 玩合约 宝宝起名 币圈官网 趣开心资讯 皮卡丘资讯 谈股票 周公解梦 黄金行情 天天财富 趣玩币 金色币圈 去玩呗SPA 二手域名 百科书库 减肥瘦身吧 谷歌留痕 百悦米 元宇宙Web 兼职信息网 美白没斑啦 聚币网 培训资讯网 茶百科 币圈ICO官网 數字黃金
非小号交易所排名-专业的交易行情资讯门户网站,提供区块链比特币行情查询、比特币价格、比特币钱包、比特币智能合约、比特币量化交易策略分析,狗狗币以太坊以太币玩客币雷达币波场环保币柚子币莱特币瑞波币公信宝等虚拟加密电子数字货币价格查询汇率换算,币看比特儿火币网币安网欧易虎符抹茶XMEX合约交易所APP,比特币挖矿金色财经巴比特范非小号资讯平台。
非小号行情 yonghaoka.cn 飞鸟用好卡 ©2020-2024版权所有 桂ICP备18005582号-1