9 月 14 日,一款名为“EOSPlay”的 DApp 游戏遭遇了新型随机数攻击,一共损失了数万个 EOS。
或许很多人对「随机数攻击」这个词已经司空见惯了,因为在 DApp 遭遇黑客攻击的事件中,随机数攻击占了很大一部分,很多 DApp 的随机数被黑客破解了。
你或许会问,随机数不是随机的吗?随机意味着不可预测,为什么还会被黑客破解呢?
这还得从随机数说起。
随机数可以分为真随机数和伪随机数。真随机数需要同时满足随机性、不可预测性、不可重现性,而伪随机数只需要满足随机性,或者是随机性和不可预测性即可。
真随机数只存在于物理世界中,一般需要通过物理手段(包括量子过程)获得,比如我们日常见到的抛硬币、掷骰子,生成的随机数就是真随机数。但是,抛硬币、掷骰子这种随机数生成方法的缺点非常明显,那就是耗时、耗力,而且也无法满足现代的计算机世界对随机数的需求。
Terra生态DAO管理平台Packs已上线Terra 2.0:金色财经消息,Terra生态DAO管理平台Packs已上线Terra 2.0,支持用户使用多重签名创建DAO,并管理LUNA资金和进行共同决策。[2022/6/9 4:11:44]
因为效率的缘故,现代的计算机软件主要依赖伪随机数。最早的伪随机数生成器由 20 世纪最重要的数学家之一冯·诺依曼创造,通过一个确定的随机数种子,由确定的算法生成伪随机数序列。现在的主流计算机编程语言,默认的是将 1997 年发明的梅森旋转算法作为生成伪随机数的方法。
伪随机数最大的缺陷是,只要种子不变,生成的伪随机数序列也不会变。换句话说,只要你能拿到种子,你就可以破解随机数。
计算机生成伪随机数的过程,或多或少与这台计算机的物理状态或运算状态有关。也就是说,同一套随机数算法,不同的计算机,或是同一台计算机在不同的时刻,生成的随机数是不一样的。
优盾钱包CMO孟春东:DeFi未来发展不会只局限于自动化做市商、借贷稳定币:优盾钱包CMO孟春东近日表示,回顾DeFi这波行情大事件,可以看到DeFi热潮源于流动性挖矿和Compound分发的治理代币,其实流动性挖矿的实质就是将一些项目后期收益通过代币先分发给用户和社区,好处是能快速获取用户,这是正常的互联网营销行为,但随着有很多项目模仿就将市场推向了非理性程度。
作为领先的数字资产管理系统,优盾钱包团队近期深入分析,DeFi未来发展不会只局限于自动化做市商、借贷稳定币等,它应该会散发出一些新东西,比如跨界跨境金融,所以我们也投了一些涉及到跨境跨界汇款、转帐的产品,除了稳定币的机会外,这也是一个大机会。
优盾钱包,是一款领先的企业级数字资产管理系统,以安全完善的技术重新定义数字资产钱包,为比特币、以太坊等100多种币种提供API接入;顶级私钥BOSS自主掌握,子私钥动态计算不触网,硬件加持,纯冷操作;多级财务审核策略,资产动向、操作日志一目了然;海量地址统一管理,余额一键自动归集。[2020/10/13]
然而,这种传统的计算机伪随机数生成方法虽然足够安全,却并不适用于区块链。区块链是一个分布式的系统,同一个 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 经常遭受随机数攻击的原因。
标签:DAPPAPPDAP区块链区块链dapp开发合法吗币赢网app下载Dapper Labs区块链证据保全怎么操作视频
所谓分摊是合约交易中的隐形成本。即扣除分摊后的盈利才是用户真正的盈利。 那为什么要先进行分摊呢?分摊产生于穿仓,一般而言,因用户强平单未能及时成交而造成的平台损失是穿仓,穿仓发生时,平台会优选使用风险准备金来弥补自身损失,如果风险准备金不足,则需本周所有的盈利用户按照一定比例摊派来弥补平台的损失,这就是分摊的过程。 这其中又涉及到强平单、保证金。
主讲人:资深文化产业投资人,千程投资CEO, 北京链上文投信息技术有限公司联合创始人,张元林。
比特币的出现是一场全球数字货币启蒙的开端,之后,中本聪的继承者们不断改进虚拟币,有的改进大,有的改进小,比如LTC,只是小参数上的调整,比如BCH,区块大小的调整,对其改进最大的当属ETH。
在前面的文章《向父母介绍区块链的正确打开方式》中,我们向长辈们介绍完什么是区块链后,若对方追问:"区块链到底有什么用?能应用到什么领域?",这时我们就可以简单的介绍以下区块链在四大领域中的应用。 说到区块链的应用领域,不用我说,大伙儿应该都会想到金融服务领域,比如大家熟悉的火币交易平台。
基本词 仓位:指投资人实有投资和实际投资资金的比例。 全仓:就是全部资金买入虚拟货币。? 减仓:就是把部分虚拟货币卖出。 清仓:就是把全部虚拟货币卖出。 重仓:就是某种虚拟货币买的很多。 轻仓:就是某种虚拟货币买的很少。? 建仓:就是买入虚拟货币。 补仓:就是接着买入虚拟货币。 全仓:就是一次性全部买入虚拟货币。
导 读 浙江卫视《今日评说》栏目推出系列公开课节目——《讲“数”》第二季《秒懂区块链》,邀请区块链领域权威专家、著名企业家等,为大家普及区块链的相关知识,探讨区块链技术给我们未来带来的无限可能。 第二期节目邀请到的嘉宾是万向创新聚能城首席创新官王允臻。他目前主要的任务是打造一座智慧城市。