9 月 14 日,一款名为“EOSPlay”的 DApp 游戏遭遇了新型随机数攻击,一共损失了数万个 EOS。
或许很多人对「随机数攻击」这个词已经司空见惯了,因为在 DApp 遭遇黑客攻击的事件中,随机数攻击占了很大一部分,很多 DApp 的随机数被黑客破解了。
你或许会问,随机数不是随机的吗?随机意味着不可预测,为什么还会被黑客破解呢?
这还得从随机数说起。
随机数可以分为真随机数和伪随机数。真随机数需要同时满足随机性、不可预测性、不可重现性,而伪随机数只需要满足随机性,或者是随机性和不可预测性即可。
某聪明钱地址今日以1.5美元均价买入149万枚ARB:4月14日消息,据Lookonchain监测显示,某聪明钱巨鲸地址今日用1057枚ETH(约224万美元)购入149万枚ARB,平均购买价格为1.5美元。该巨鲸共交易过23种代笔,其中15个代币盈利,胜率为65%,总利润超过730万美元。
该聪明钱曾于2022年7月5日开始购买MATIC,以平均0.64美元价格买入总计1573万枚MATIC,并以0.84美元均价卖出,获利超过300万美元。后以0.74美元均价买入291万枚MATIC(约428万美元),按当前价格计算,利润为212万美元,投资回报率为98%。
今年1月初,该聪明钱在币安买入109万枚LDO,于1月30日以2.2美元价格卖出,获利109万美元。从2月23日到3月3日,他从币安以0.07美元均价买入2350万枚TRU,后在3月8日至10日以0.1美元出售,利润约为64.3万美元。[2023/4/14 14:04:20]
真随机数只存在于物理世界中,一般需要通过物理手段(包括量子过程)获得,比如我们日常见到的抛硬币、掷骰子,生成的随机数就是真随机数。但是,抛硬币、掷骰子这种随机数生成方法的缺点非常明显,那就是耗时、耗力,而且也无法满足现代的计算机世界对随机数的需求。
跨链互操作应用Avault已上线Arbitrum:2月7日消息,跨链互操作应用Avault已上线Arbitrum。Avault全链产品于2月6日上线,Optimism、BNB chain、Polygon的用户将可以与Arbitrum上的应用进行交互,实现一键完成跨链质押、复投、跟单等功能。
据悉,Avaul已联合LI.FI和Stargate在Galxe上发布了首个专属NFT,NFT持有者有机会获得Avault早期社区空投。[2023/2/7 11:52:28]
因为效率的缘故,现代的计算机软件主要依赖伪随机数。最早的伪随机数生成器由 20 世纪最重要的数学家之一冯·诺依曼创造,通过一个确定的随机数种子,由确定的算法生成伪随机数序列。现在的主流计算机编程语言,默认的是将 1997 年发明的梅森旋转算法作为生成伪随机数的方法。
Beeple与Metaplex合作,拟进军Solana链上NFT市场:11月7日消息,在里斯本举行的Solana BreakPoint会议上,Solana的NFT托管和铸造平台 Metaplex 的开发公司Metaplex Studios 的首席执行官Stephen Hess宣布已与Beeple达成合作,拟推动后者进军Solana链上NFT市场。
Stephen Hess在会议上披露了一项受Beeple启发的新功能,该功能将邀请用户使用Beeple Everyday创建自己独特的 NFT。关于该功能的详细信息将于本周发布。[2022/11/7 12:29:17]
伪随机数最大的缺陷是,只要种子不变,生成的伪随机数序列也不会变。换句话说,只要你能拿到种子,你就可以破解随机数。
富国银行:数字资产是“与互联网、汽车和电力相媲美的创新”:8月8日消息,美国第四大银行富国银行发布了一份题为“了解加密货币”的特别报告,将数字资产与“互联网、汽车和电力”的发明进行了比较,指出数字资产与互联网、汽车和电力一样具有创新性。报告称数字资产为“新互联网的基石”,数字资产的发展将带来“新的可能性和投资机会”。
富国银行还在报告中对当前版本的互联网如何改造邮局、音乐商店、固定电话和当地新闻进行了比较, 它利用这些比较试图解释“价值互联网”将如何重塑当地货币、支付网络、证券、财产和合约。 该报告指出,数字资产行业面临的主要风险是额外的监管、技术和业务失败、处理和存储数字资产的运营风险、价格波动以及有限的消费者保护。(Cryptoslate)[2022/8/8 12:09:09]
计算机生成伪随机数的过程,或多或少与这台计算机的物理状态或运算状态有关。也就是说,同一套随机数算法,不同的计算机,或是同一台计算机在不同的时刻,生成的随机数是不一样的。
然而,这种传统的计算机伪随机数生成方法虽然足够安全,却并不适用于区块链。区块链是一个分布式的系统,同一个 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 经常遭受随机数攻击的原因。
文:Levi随着以太坊合并的临近 (预计今年9月10日进行),以太坊即将从工作量证明(PoW)过渡到权益证明(PoS),关于以太坊硬分叉为PoS和PoW两条链的争论不绝于耳.
1900/1/1 0:00:00已经有许多技术博客发表了关于零知识证明(ZKP)的文章。最近,我自己写了一篇文章,比较了新的通用型 zk-SNARK。我注意到,用浅白的语言来解释 ZKP 用例的文章还寥寥无几.
1900/1/1 0:00:00本文转自:老雅痞 由于加密行业和DAO概念的兴起,目前的风险投资模式也正面临变革。在进行详细介绍之前,我们需要先介绍一下Ventures DAO.
1900/1/1 0:00:00熊市除了等待机会,也可以部署一些潜力赛道, 而近期最值得关注的赛道,一定是Layer 2!什么是Layer 2?我们时常看到layer0、layer1及layer2.
1900/1/1 0:00:00文章作者:Noah Smith原标题:对加密世界的经济误解现金不是储蓄,稀缺性本身不会创造价值。比特币和其他加密货币投资仍然在世界各地积极地进行宣传.
1900/1/1 0:00:00撰文:iambabywhale.ethMero 之前名为 Backd,官方于 7 月 26 日宣布将其从 Backd 更名为 Mero.
1900/1/1 0:00:00