UENC的随机数是通过选取硬件节点的Linux系统中的随机数。可以说,这些随机数是真正的随机数,而不是伪随机数。因此,UENC所用的随机数确实能够保证公平性。
此外,随机数在许多领域都有重要应用,如Monte Carlo模拟、密码学和网络安全。随机数的质量直接影响着网络安全系统的可靠性和安全性,以及Monte Carlo模拟结果的可信度。因此,寻求计算机生成高质量随机数序列的研究一直都是一个长期受关注的课题。
Linux内核从1.3.30版本开始实现了一个高强度的随机数发生器。根据Linux2.6.10内核的原理,可以简要介绍随机数的生成过程。
Linux内核使用熵来描述数据的随机性。熵是指描述系统混乱无序程度的物理量,熵越大,系统的有序性越差,即不确定性越大。在信息学中,熵用来表征一个符号或系统的不确定性,熵越大,系统所含有的有用信息量越少,不确定度越大。
计算机本身是可预测的系统,因此,用计算机算法无法产生真正的随机数。但是,机器的环境中充满了各种各样的噪声,例如硬件设备发生中断的时间、用户点击鼠标的时间间隔等,这些噪声是完全随机的,无法事先预测。Linux内核实现的随机数发生器就是利用系统中的这些随机噪声来生成高质量的随机数序列。
内核维护了一个熵池,用来收集来自设备驱动程序和其他来源的环境噪声。理论上,熵池中的数据是完全随机的,可以生成真正的随机数序列。为了追踪熵池中数据的随机性,内核在将数据加入池时进行熵估算,即估算数据的随机性。熵估算值描述池中包含的随机数位数,数值越大表示池中数据的随机性越好。
“随机性”指没有规律或不可预测的状态。比如扔硬币、指纹图案以及雪花的形状都是不可预测的。大自然中充满了随机性,但在计算机环境中却并非如此。计算机的一大特点是确定性,因此仅靠一组算法可能无法实现真正的随机性。另外,虽然单个...
原文编译:GaryMa 吴说区块链7 月 12 日,以太坊基金会研究团队在 reddit 论坛进行了第 10 次 AMA,社区成员可以在帖子中留言提问,研究团队成员将进行解答。吴说对本次 AMA 中涉及的相关疑问/技术要...
原文作者:Joseph Bonneau 和 Valeria Nikolaenko 原文标题:Public Randomness and Randomness Beacons 共随机性是许多现实世界安全协议的重要组成部...
According to PANews, data from Coinatmradar.com reveals that as of January 11, there are 38,866 cryptocurrency...