小科普:真随机数和伪随机数

比特币用户很喜欢讨论“非对称加密”、“椭圆曲线”、“量子计算机”这类高深莫测的话题,然后再以一种非常莫名其妙的方式把币弄丢,比如说:“随机”。

历史上多起各品牌的钱包用户丢币事件,都是因为随机函数存在问题。

随机很重要,对于比特币这种密码学电子货币来说,尤其重要。可惜社区内对于随机的讨论并不多,导致很多人缺乏正确的认识,因此,我们今天就和大家聊聊随机。

分析:CryptoPunk #4156售价以美元计算亏损约700万美元,或出于减税目的:7月16日消息,CryptoPunk #4156以2691 ETH的价格售出,约合330万美元。鉴于ETH当前交易价格约为1200美元,卖家实际亏损700万美元。该NFT于2021年12月以2500 ETH的价格买入,当时价值1026万美元。这意味着卖家按照ETH价值计算赚取了较小的利润,但以美元价值计算则遭受严重损失。

但此举可能出于减税目的。这种账面上的故意亏损是交易者用来减少资本利得的一种常见做法。如果将资本利得收入减少700万美元,甚至可能会降低卖方的税率,从而带来进一步的税收优惠。(Decrypt)

此前消息,CryptoPunk #4156以2691ETH成交。[2022/7/16 2:17:40]

说到随机,有两个必须要搞清楚的概念:“真随机数生成器”(TRNG)和伪随机数生成器(PRNG)。

亿万富翁Mike Novogratz:我们将看到加密市场惊人的增长:亿万富翁、Galaxy Digital首席执行官Mike Novogratz表示,目前加密货币总财富约为2万亿美元,仅占世界全部财富的0.5%。未来两到三年内这个比例可能会达到2%甚至3%,我们将看到惊人的增长。[2021/4/16 20:28:08]

大部分计算机程序和语言中的随机函数,都是伪随机数生成器,它们都是由确定的算法,通过一个“种子”(比如“时间”),来产生“看起来随机”的结果。

毫无疑问,任何人只要知道算法和种子,或者之前已经产生了的随机数,都可能获得接下来随机数序列的信息。因为它们的可预测性,在密码学上并不安全,所以我们称其为“伪随机”。这种随机数,用来让游戏里的小人跑跑路没多大问题,如果用来生成比特币私钥,那可就太不安全了。

TRC20-USDT流通量突破61亿枚,用户数突破142万:据最新消息显示,TRC20-USDT流通量已突破61亿枚,用户数已突破142万。据悉,TRC20-USDT是Tether公司基于波场网络发行的锚定美元的稳定币,转账速度快、低手续费的特点已经吸引了大批用户,且已经有Binance、Huobi、KuCoin、Gate.io等多家交易所的支持。基于TRC20版本的USDT将大幅提升波场现有的去中心化应用生态系统,带来更高的整体价值存储和更强的去中心化交易所流动性,并为企业级合作伙伴与机构投资者提供更便捷的区块链入口。[2020/12/3 22:59:09]

再说说真随机数生成器,中文维基中,将“硬件随机数生成器”(HRNG)等同于真随机数生成器,这其实并不十分准确,严格意义上的真随机可能仅存在于量子力学之中,我们当前所想要的(或者所能要的),并不是这种随机。

我们其实想要一种不可预测的、统计意义上的、密码学安全的随机数,只要能做到这一点的随机数生成器,都可以称其为真随机数生成器。这种真随机,并不一定非得是特殊设计的硬件,Linux操作系统内核中的随机数生成器(/dev/random),维护了一个熵池(搜集硬件噪声,如:键盘、鼠标操作、网络信号强度变化等),使得它能够提供最大可能的随机数据熵,因此同样是高品质的真随机数生成器。

不过/dev/random是阻塞的,也就是说,如果熵池空了,对于/dev/random的读操作将被挂起,直到收集到足够的环境噪声为止。

因此,在开发程序时,我们应使用/dev/urandom,作为/dev/random的一个副本,它不会阻塞,但其输出的熵可能会小于/dev/random。

好了,在说了这么多之后,在我们开发比特币应用时,应该使用何种随机数生成器来生成私钥呢?

答案很简单:urandom。永远只用urandom。

不要使用任何第三方的随机数解决方案,哪怕是一些高级的安全库,所提供的声称“非常安全”的随机函数。因为它们都是用户态的密码学随机数生成器,而urandom是内核态的随机数生成器,内核有权访问裸设备的熵,内核可以确保,不在应用程序间,共享相同的状态。

历史上,无数次随机数失败案例,大多出现在用户态的随机数生成器,而且,用户态的随机数生成器几乎总是要依赖于,内核态的随机数生成器(如果不依赖,那风险则更大),除了没准儿能简化您的某些开发工作,丝毫看不出任何额外的好处,反而增加了因引入第三方代码,所可能导致的潜在安全风险。

因此,开发者在需要密码学安全的随机数时,应使用urandom。

最后,

有小朋友问,你们的BITHD硬件钱包生成的是真随机数吗?

这里回答一下:当然是啦~

BITHD的芯片是有硬件随机数发生器的,它会通过获取物理噪声源来生成真随机数,这个是不可预测,不可探测的,是真正的随机源。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

BNB金色百科 | 什么是对冲?主要策略有哪些?

对冲交易简单地解释就是盈亏相抵的交易。在“对冲”的英文“Hedge”词意中包含了避险、套期保值的含义。如果更完整地表达,对冲交易即同时进行两笔行情相关、方向相反、数量相当、盈亏相抵的交易。 行情相关是指影响两种商品价格行情的市场供求关系存在同一性,供求关系若发生变化,同时会影响两种商品的价格,且价格变化的方向大体一致。

欧易交易所金色前哨丨波卡将通过 Second State引入基于WebAssembly 的以太坊2.0虚拟机

金色财经报道,2020年2月末,区块链基础软件公司Second State获得了Web3基金会的资金支持,双方合作将把以太坊的WebAssembly虚拟机(Ewasm)引入波卡生态。 虚拟机是公链的关键基础架构。因为虚拟机的存在,任何用户都可以以智能合约的形式向区块链平台提交未经查验、不受信任的代码。虚拟机可根据资源消耗为该段代码执行收费。

以太坊英国保险巨头伦敦劳合社将为加密货币持有者提供保险服务

伦敦劳合社(LLOYD'S)——一家拥有334年历史的保险市场——旗下的一个财团正准备通过提供加密货币保险服务,进军加密货币领域。 尽管英国和欧盟的贸易谈判今日已经开始,在英国经营的多数金融机构都对英国与欧盟之间的紧张关系感到担忧,但劳合社(LLOYD'S)仍在实施其计划,成为加密货币保险市场的主要参与者。

DOT金色观察?|?比特币出圈史

不知不觉,比特币诞生已经超过10年了。从最开始的寥寥几个加密朋克,到2017年大火的1000-2000万投资者,再到2019年各国政府不得不入局区块链,比特币的受众进一步扩大。Unchaincapital业务负责人Parker Lewis最近发表文章预测,2020年比特币的总用户将达到1亿。

[0:0ms0-3:387ms