本文讨论了安全随机数生成的重要性,特别是在生成敏感数据(如非ces和私钥)时。文章介绍了不同类型的随机数生成器,包括伪随机数生成器(PRNG)和加密安全伪随机数生成器(CSPRNG),并分析了实际案例中的安全漏洞,如与比特币开发工具相关的漏洞。最后,提供了生成安全随机数的最佳实践。
本文介绍了 Bitcoin Core 如何生成用于私钥的熵,混合了来自处理器指令、操作系统、动态和静态事件四个主要来源的熵。文章详细阐述了每个来源的具体方法,例如 RDSEED 和 RDRAND 指令,以及各种操作系统的随机数生成函数,并解释了如何通过哈希函数和异或运算来增强熵。
Stepan Snigirev 在 Advacing Bitcoin 2022 上的演讲,主要讨论了在硬件签名器上支持 Taproot 的必要性和面临的挑战,包括隐私性、Miniscript支持、交互式多签名的难点以及随机数生成器的风险。他提出了一些可能的解决方案和应用场景,如闪电网络、原子化互换和服务端签名。
为了满足智能合约对随机性的需求,去中心化伪随机数生成器是一种常用的方法。
那么貌似简单的随机数为什么还需要特意做成去中心化的,随机数会在哪里用到又会起到什么作用?去中心化随机数有什么必要性又有哪些解决方案呢?