9 月 14 日,一款名为“EOSPlay”的 DApp 游戏遭遇了新型随机数攻击,一共损失了数万个 EOS。
或许很多人对「随机数攻击」这个词已经司空见惯了,因为在 DApp 遭遇黑客攻击的事件中,随机数攻击占了很大一部分,很多 DApp 的随机数被黑客破解了。
你或许会问,随机数不是随机的吗?随机意味着不可预测,为什么还会被黑客破解呢?
这还得从随机数说起。
随机数可以分为真随机数和伪随机数。真随机数需要同时满足随机性、不可预测性、不可重现性,而伪随机数只需要满足随机性,或者是随机性和不可预测性即可。
观点:比特币不是通货膨胀的对冲工具:金色财经报道,Ecoinometrics发推表示,比特币不是通货膨胀的对冲工具。在2020年美联储注入数万亿美元时购买比特币的任何人都面临着通货膨胀的压力。[2023/7/10 10:12:41]
真随机数只存在于物理世界中,一般需要通过物理手段(包括量子过程)获得,比如我们日常见到的抛硬币、掷骰子,生成的随机数就是真随机数。但是,抛硬币、掷骰子这种随机数生成方法的缺点非常明显,那就是耗时、耗力,而且也无法满足现代的计算机世界对随机数的需求。
因为效率的缘故,现代的计算机软件主要依赖伪随机数。最早的伪随机数生成器由 20 世纪最重要的数学家之一冯·诺依曼创造,通过一个确定的随机数种子,由确定的算法生成伪随机数序列。现在的主流计算机编程语言,默认的是将 1997 年发明的梅森旋转算法作为生成伪随机数的方法。
印度早期风险投资基金pi Ventures获10亿卢比投资承诺,将专注区块链等创新领域:金色财经报道,印度早期风险投资基金pi Ventures宣布已经从印度小型工业发展银行 (SIDBI) 管理的初创企业基金 (FFS) 中获得 10 亿印度卢比(约合1200 万美元)的投资承诺,同时还得到了BII、Nippon India Digital Innovation AIF (NIDIA)、Accel、Colruyt、以及Binny Bansal、Varun Alagh等投资方的支持。pi Ventures宣布将利用这笔资金投资人工智能、区块链等跨行业深度技术的初创公司,目前旗下加密和区块链行业的投资组合包括Web3网络安全公司Silence Laboratories、工业技术公司SwitchOn、区块链B2B货币供应链管理平台OweMe等。(technode.global)[2023/4/13 14:01:47]
伪随机数最大的缺陷是,只要种子不变,生成的伪随机数序列也不会变。换句话说,只要你能拿到种子,你就可以破解随机数。
LSDx Finance推出治理代币veLSD:4月13日消息,全 LSD 超流动性协议 LSDx Finance 宣布其治理代币 veLSD 上线。用户质押 LSD 可获得 veLSD,Velsd 持有者享有协议提案、投票等治理权。
此外,LSDx 已启动财库,整个 LSDx 协议 50% 收入会分配给 veLSD 持有者,当前 veLSD 的 APR 为 711%。[2023/4/13 14:01:43]
计算机生成伪随机数的过程,或多或少与这台计算机的物理状态或运算状态有关。也就是说,同一套随机数算法,不同的计算机,或是同一台计算机在不同的时刻,生成的随机数是不一样的。
Hut 8在2022年第三季度开采了 982 个比特币:金色财经报道,Hut 8 Mining Corp宣布其截至 2022 年 9 月 30 日的季度(2022年第三季度)的财务业绩。报告显示,与截至 2021 年 9 月 30 日的季度(“2021 年第三季度”)的5030 万美元相比,2022 年第三季度的收入减少了1860 万美元至3170 万美元。公司在 2022 年第三季度开采了 982 个比特币,与 2021 年第三季度相比增加了 8.5%,原因是公司矿工队伍的扩张和采矿活动的哈希率增加。[2022/11/10 12:45:15]
然而,这种传统的计算机伪随机数生成方法虽然足够安全,却并不适用于区块链。区块链是一个分布式的系统,同一个 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 经常遭受随机数攻击的原因。
资产安全一直是区块链投资中最重要的问题,而钱包,则是用来存储资产,如果钱包出了问题,所有资产都将丢失,今天,我们来介绍钱包的种类.
1900/1/1 0:00:00一直以来,由于中心化机构未能以安全、公平和透明的方式,完成对社会基础设施和金融的监管,进而催生了Web3.
1900/1/1 0:00:00在创立 LayerZero 之前,Pellegrino 曾是一位职业扑克选手,成功地把一套自己编写的机器学习工具销售给了一支 MLB(美国职业棒球大联盟)球队,还在人工智能领域发表过期刊报告.
1900/1/1 0:00:00撰文:杨树千百年来,「签字画押」一直都是现实世界中最具法律效力的个人承诺形式,譬如常见的买卖合同、借贷协议、书信请帖等等,只要落款有个人签名,基本都直接代表签名方.
1900/1/1 0:00:00提到区块链,不得不提起比特币,毕竟“不知比特币,何论区块链”。当比特币以“数字黄金”的身份出现在大众视野时,一方面以其安全的点对点支付被人肯定,另一方面因浪费能源的挖矿方式和低效的转账时间被人所.
1900/1/1 0:00:00作者 | JackyLHH出品|白话区块链如果把比特币存放到自己的钱包,需要用到比特币的钱包地址;如果存放的是以太币,就需要以太坊的钱包地址。比特币钱包地址和以太坊钱包地址完全不一样.
1900/1/1 0:00:00