近日,og无涯社区联合创始人红军大叔受邀在platon中文telegram群参加快闪活动,向社区成员分享了关于随机数的小知识。,我们将其分享内容奉上以餮读者。
01什么是随机数?
在参与抽奖或抽样的过程中,我们经常听到“随机数”这个词。随机数在密码学中有着非常基础且重要的地位,常用于密钥和安全参数生成。而在日常生活中,随机数也是保障公平性的重要手段,广泛应用于抽样、抽签、抽奖等场景当中。随机数在区块链中也应用广泛,除了密钥生成等传统安全场景,在共识机制、零知识证明等热门场景中也发挥着重要的作用,保护着区块链的安全。
首先我们来说随机数是什么。随机数并不是一个具体的数,而是在通过随机数生成器产生的一个或一组数的序列。这个序列所能出现的元素来自确定的集合,每次选出的元素不可预期,但元素出现的概率恒定的(一般是等概率的)。譬如说扔一枚六面均匀的骰子,结果不可预期,但每个面的概率都是相等的,每次掷出的结果就可以作为一个随机数生成的方法。
真随机数一般来自物理世界的随机行为,需要进行噪声搜集,而在计算机科学中,一般使用确定性的算法来模拟随机数的生成,也称伪随机数。对伪随机数的检测非常重要,全面、完备的检测可以避免算法缺陷或人为后门造成的风险。目前常用的随机数检测标准有 nist sp 800-20和gb/t 32915-2016 等。
需要补充的是,在nist这份标准提供的参考实现中,就曾被怀疑植入过后门。
dual_ec_drbg,目前该推荐实现已经被删除。而在密码学重要会议crypto 2020中,也有一篇对nist ctr-drbg这个随机数生成器的安全分析,指出了其缺陷并给出了修复方法。而在会议接受的论文里,研究随机性相关问题的论文多达6篇。这都说明随机数的问题并不简单,也马虎不得。
02 随机数与区块链应用
在区块链中,由于较难从物理世界中获取随机噪声,生成随机数的难度更大。
目前一般的思路是通过几种不同策略组合使用:一是通过多方协同生成;二是通过哈希函数等随机预言机引入随机性;三是通过承诺-揭示协议降低参与方作弊可能;四是引入门限协议或经济约束提高产生随机数的成功率。
其中,安全多方计算技术是产生高质量的链上随机数的重要基础技术。
引入门限协议,通过秘密共享或门限签名的方式,可以避免随机数生成方案因为一个参与方没有完整执行流程而失败,具备一定的容错性,提高随机数产生的成功率。引入经济约束,可以避免参与方通过拒绝揭示的方式影响随机数结果,对恶意的参与方进行惩罚。
platon基于安全多方计算技术,可以让多方不可抵赖地协同生成随机数,更好地为链上随机数提供解决方案。
责编ajx
微生物培养箱DHP-9011的产品特点是什么
苹果iPhone12发布_iPhone12有哪些优势及机遇
二极管的典型应用
物联网时代四大科技巨头激战云端能否撬动亚马逊地位
科创板:杭可科技等新能源车类公司市值逼近800亿
随机数在区块链中的应用及作用综述
红包大战已经拉响,支付宝集五福,微博除夕10个亿,QQar实景红包
韩国研究出 充电6分钟通话5小时
高通钱堃:在5G时代携手产业生态圈共同驱动创新发展
招投标资讯│宁波宁南贸易物流区市政配套道路二期工程
PCB电源设计进化该如何提高成功率?
ABB生产的部分PLC网关存在严重缺陷
如何远程升级单片机程序详细解说
格力变频柜式室外空调器室外机维修
比特币的基础技术何时才能融入我们的金融生活
搭载有方Cat.1模组的奇瑞QQ冰淇淋开始预售
此芯科技与统信软件达成战略合作
电机保护控制器显示模块的特点和告警解除步骤
电子镇流器电路
去中心化交易所的发展方向是什么?前火币运营总监刘飞为你解答