当前位置: 首页 > 科技观察

随机数在区块链中的应用

时间:2023-03-19 02:17:03 科技观察

近日,OG无涯社区联合创始人洪军叔受邀参加了PlatON中文电报群的快闪活动,与大家分享了一些关于随机数的知识社区成员。近日,OG无涯社区联合创始人洪军大叔受邀参加了PlatON中文电报群的快闪活动,与社区成员分享了随机数的小知识。我们会将分享的内容呈现给读者。01什么是随机数?在参与抽奖或抽样的过程中,我们经常会听到“随机数”这个词。随机数在密码学中起着非常基础和重要的作用,通常用于生成密钥和安全参数。在日常生活中,随机数也是保证公平性的重要手段,被广泛应用于抽样、摇号、开奖等场景。随机数在区块链中也被广泛使用。除了密钥生成等传统安全场景外,它们还在共识机制、零知识证明等热门场景中发挥着重要作用,为区块链的安全保驾护航。首先,让我们谈谈什么是随机数。随机数不是一个特定的数,而是由随机数生成器生成的一个序??列或一组数。这个序列中能出现的元素都来自某个集合,每次选择的元素是不可预测的,但元素出现的概率是恒定的(一般是等概率)。例如,如果你掷一个六面骰子,结果是不可预测的,但每一面的概率是相等的,每次掷出的结果都可以作为随机数的产生方法。真随机数一般来自物理世界的随机行为,需要噪声采集。在计算机科学中,一般使用确定性算法来模拟随机数的产生,也称为伪随机数。伪随机数的检测非常重要。全面完整的检测,避免算法缺陷或人为后门带来的风险。目前常用的随机数检测标准有NISTSP800-20和GB/T32915-2016。需要补充的是,在NIST标准提供的参考实现中,疑似被植入了后门。Dual_EC_DRBG,目前推荐实现已删除。在密码学的重要会议Crypto2020中,也有对随机数生成器NISTCTR-DRBG的安全性分析,指出了它的缺陷,并给出了修复方法。在会议接受的论文中,研究随机性相关问题的论文多达6篇。这都说明随机数的问题并不简单,也不能马虎。02随机数与区块链应用在区块链中,随机数的产生比较困难,因为很难从物理世界中获取随机噪声。目前的总体思路是结合使用几种不同的策略:一是通过多方协作生成;另一种是通过哈希函数等随机预言机引入随机性;三是通过承诺披露协议降低参与者作弊的可能性;阈值协议或经济约束提高了随机数生成的成功率。其中,安全多方计算技术是在链上产生高质量随机数的重要基础技术。阈值协议的引入,通过秘密共享或阈值签名,可以避免随机数生成方案因为某个参与者没有完成执行过程而失败,具有一定的容错性,提高了随机数的成功率一代。经济约束的引入可以防止参与者通过拒绝披露影响随机数结果,惩罚恶意参与者。PlatON基于安全的多方计算技术,可以让多方不可否认地协作生成随机数,更好地提供链上随机数的解决方案。