近日,OG无涯社区联合创始人红军大叔受邀在PlatON中文Telegram群参加快闪活动,向社区成员分享了关于随机数的小知识,我们将其分享内容奉上以餮读者。
01?什么是随机数?
在参与抽奖或抽样的过程中,我们经常听到“随机数”这个词。随机数在密码学中有着非常基础且重要的地位,常用于密钥和安全参数生成。而在日常生活中,随机数也是保障公平性的重要手段,广泛应用于抽样、抽签、抽奖等场景当中。随机数在区块链中也应用广泛,除了密钥生成等传统安全场景,在共识机制、零知识证明等热门场景中也发挥着重要的作用,保护着区块链的安全。
TAAL提交新专利申请 专利涉及生成高质量的随机数:TAAL分布式信息技术公司(TAAL)宣布,其运营子公司已经向英国专利局提交了一份专利申请。TAAL认为,除了生成区块和保护区块链之外,部署在数据中心(即矿场)的计算能力还可以用于其他用途。据悉,该专利涉及生成大量高质量的随机数。过去,由于需要随机的环境输入,这些随机数的生成既繁琐又昂贵。反过来,这些高质量的随机数有多个用例,可用于复杂的计算应用程序,如可用于科学、医疗跟踪研究的人工智能(AI)建模场景以及高需求的金融计算机模拟。(美通社)[2020/4/3]
首先我们来说随机数是什么。随机数并不是一个具体的数,而是在通过随机数生成器产生的一个或一组数的序列。这个序列所能出现的元素来自确定的集合,每次选出的元素不可预期,但元素出现的概率恒定的。譬如说扔一枚六面均匀的骰子,结果不可预期,但每个面的概率都是相等的,每次掷出的结果就可以作为一个随机数生成的方法。
动态 | EOS DApp EOSPlay 遭遇新型随机数攻击:据慢雾区情报,EOS DApp EOSPlay 中的 DICE 游戏于昨晚遭受新型随机数攻击,损失数万 EOS。目前项目方已经把游戏暂停。经过慢雾安全团队的分析,发现攻击者(账号:muma******mm)可能使用下列方式达到攻击目的。
1、攻击者为自己和项目方租用了大量的 CPU
2、攻击者发大量 defer 交易
3、由于以上两点原因,导致 CPU 价格被拉高,从而导致其它用户 CPU 不足
4、因为 CPU 不足的原因,其他用户难以发送交易,攻击者得以使用自己交易占满区块
5、根据提前构造的交易内容,攻击者可以成功预测出区块哈希
由于项目方采用的是使用未来区块 id 的方式开奖,通过控制区块内的交易内容,就能控制区块信息,进而控制区块 id,达到预测开奖结果的目的。慢雾安全团队建议 DApp 开发者使用更为安全的随机数生成方式,避免遭到随机数攻击。同时,特别感谢 WhaleEx 在此次分析过程中提供的帮助。[2019/9/14]
真随机数一般来自物理世界的随机行为,需要进行噪声搜集,而在计算机科学中,一般使用确定性的算法来模拟随机数的生成,也称伪随机数。对伪随机数的检测非常重要,全面、完备的检测可以避免算法缺陷或人为后门造成的风险。目前常用的随机数检测标准有NISTSP800-20和GB/T32915-2016等。
动态 | 慢雾区再发预警,请 DApp 开发者自查随机数:知名 DApp EOSDice 再次由于随机数问题被黑,攻击者是之前攻击 EOSDice 及 FFGame DApp 的黑客,攻击手法也是由于使用了可控的随机数种子,在之前(11-8号)慢雾已经预警过攻击手法,请各位 DApp 开发者仔细核对自己的随机数种子和算法是否可被预测,勿存在任何侥幸。[2018/11/10]
需要补充的是,在NIST这份标准提供的参考实现中,就曾被怀疑植入过后门。
Dual_EC_DRBG,目前该推荐实现已经被删除。而在密码学重要会议Crypto2020中,也有一篇对NISTCTR-DRBG这个随机数生成器的安全分析,指出了其缺陷并给出了修复方法。而在会议接受的论文里,研究随机性相关问题的论文多达6篇。这都说明随机数的问题并不简单,也马虎不得。
?随机数与区块链应用
在区块链中,由于较难从物理世界中获取随机噪声,生成随机数的难度更大。
目前一般的思路是通过几种不同策略组合使用:一是通过多方协同生成;二是通过哈希函数等随机预言机引入随机性;三是通过承诺-揭示协议降低参与方作弊可能;四是引入门限协议或经济约束提高产生随机数的成功率。
其中,安全多方计算技术是产生高质量的链上随机数的重要基础技术。
引入门限协议,通过秘密共享或门限签名的方式,可以避免随机数生成方案因为一个参与方没有完整执行流程而失败,具备一定的容错性,提高随机数产生的成功率。引入经济约束,可以避免参与方通过拒绝揭示的方式影响随机数结果,对恶意的参与方进行惩罚。
PlatON基于安全多方计算技术,可以让多方不可抵赖地协同生成随机数,更好地为链上随机数提供解决方案。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。