加文.安德烈森(Gavin Andresen),比特币前首席开发者,曾因误认中本聪而被取消bitcoin core的代码维护权限,现在他带着自己的新项目Random Sanity重新回到了比特币社区。
最近几个月里,安德烈森开始更积极地在推特上讨论比特币区块扩容问题(他的名字甚至还出现在了最新的纽约比特币扩容协议上),而他离开比特币开发社区,已有一年之久。
但这并不代表这位曾为比特币带来巨大贡献的开发者一直在无所事事。
五月初时,安德烈森发推文表示:
“我在为我的Random Sanity 项目寻找beta测试员和合作者,http://www.randomsanity.org/”
据悉,该项目通过检查个人和组织所使用的随机源来更好地保护互联网。
安德烈森创建这个Random Sanity项目,不仅仅是因为他对GO编程语言的学习兴趣,同时也源于比特币等货币系统缺少熵(entropy)
的问题。
“我当然还在紧跟着比特币,” 安德烈森告诉记者,他说自己可能会为数字货币集团( DCG)的新比特币扩容提议提供代码审查帮助,但他本人不太可能会写任何代码。
“比特币是一个非常有趣的项目,它的安全性是至关重要的,”他说,“如果比特币的安全性丢失了,很明显,人们会损失金钱,并且反应会是非常迅速的。”
这与电子邮件账户被接管或攻击是不同的,他继续说。
在比特币生态系统当中,因为随机数的问题,出现了多次小的意外。
在2015年5月份时, Blockchain.info的安卓比特币钱包漏洞导致多名用户损失了资金。根据Softpedia的报道,这个漏洞允许创建重复的比特币地址,并分配给不同的用户。而该漏洞的核心问题,在于Blockchain.info的随机数发生器random.org,其为某些版本的安卓操作系统所提供的熵,是不足的。
而在2013年8月份,当多个漏洞在另一个随机数发生器Java SecureRandom上被发现时,所有基于安卓操作系统的比特币钱包应用都面临着潜在的风险。
“到目前为止,这个项目还只有1个人,但我很喜欢,” 安德烈森告诉记者,“这是好的,也是简单的,我选择一些小的并且有意无聊的东西。”
他继续说:
“比特币是一个庞大的、复杂的项目,其涉及到世界各地的很多人,我不想再次承受太多的压力和政治斗争。”
据悉,安德烈森已在Random Sanity项目上工作了大约六个月的时间,据他本人表示,该项目并不打算做成一项营利性的业务。相反,在理想情况下,该项目将由一个类似Linux基金会的实体负责,免费为任何人提供服务。
那么,Random Sanity 是如何运作的呢?每一个系统和每一种编程语言都有一种得到随机bytes的方式,例如Linux拥有一个称为 ‘/dev/urandom’的特殊文件夹,OpenSSL提供了多个随机数发生器(也是Bitcoin Core 所使用的)。
Random Sanity 项目的用户可采取这些随机数(从16bytes到64bytes),并把它们输入到服务当中,如果这个bytes看起来是随机的,返回值就回是“true”,反之则为“false”。
“检测你的随机数是否足够好的问题是很棘手的,” 安德烈森说,“有很多原因会让你搞砸。”
虽然随机数生成器的目的是提供熵,但有一些原因仍可能会导致随机性降低。
软件下载和升级会搞砸随机性。或者当有人利用随机数发生器来绊倒虚拟机。
安德烈森表示,一个典型的失败案例,是当一个组织在同一时间使用云计算并启动多个虚拟机时。
在这种情况下,该组织可能会保存软件的映像并为处理流量的 web服务器运行多个副本。因为虚拟机是在同一个状态下启动的,安德烈森说,它们可能会得到同样的“随机”数。
“有一些增加熵的通用工具,所以这是可被阻止的,”他说,“而Random Sanity项目可能是一种很好的检查工具。”
“这种设计是作为一种确保毁灭性灾难不会发生的方法,或者确保你能够快速地找到问题的所在,” 安德烈森说。
此外,越多的人和组织使用该系统,它就变得更有价值,因为它可以根据更多的bytes串提供更好的随机性。
在推特上,一些人称赞了该服务,但也有人在担心该系统的架构。
其中一点,该系统的最初版本使用了HTTP,这会允许任何人窃听和查看发送至该系统的随机bytes。为了提供一个安全的连接,安德烈森很快便改用了HTTPS。
此外,也有人在抱怨其他的问题,而安德烈森也一一做了回应。
“我正在尝试安排的事情,会让人们不必去信任我,”他说。
虽然目前该服务正运行在谷歌云平台的应用引擎上,安德烈森的下一个目标是开放这个项目,并让第三方进行审计。目前,人们只能在GitHub上审计该项目的开源代码,安德烈森告诉记者。
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。