2014年8月6号首发 于 bitcointalk.org
量子计算机
据斯诺登透露的文件,美国国家安全局正在一个耗资$79.7M的项目中努力研制量子计算机。
加拿大公司D-Wave声称成功制造出了小型量子计算机,一旦量子计算机出现,比特币将会怎样?
简单的说:
1,挖矿用的SHA256算法是安全的。量子计算机用于挖矿,挖矿难度大幅提高。
2,比特币用的椭圆曲线签名算法(ECDSA)会被破解。通过量子计算机计算,通过公钥可以找到私钥。
一旦你的地址付过款,公钥就公开,此地址的钱就可能被盗。对于使用多地址钱包,每个地址只使用用一次的用户,钱还是安全的。
3,比特币的签名算法将要升级。
一旦量子计算机出现,现在电子商务、网银广泛使用的RSA 签名算法也会被破解,如果你去问银行,“量子计算机出现后,我的网银安全吗?”,银行会说你杞人忧天,但由于椭圆曲线签名算法的破解对比特币影响更为直接,所以比特币社区对量子计算机更为关注。
虽说量子计算机还在科研阶段,D-Wave的量子设备是否能运算真正的量子运算还受学术界质疑,一旦比特币用于存储大额财富,安全至关重要。
量子计算机出现,比特币会面临挑战,但依旧会前行。
建议:大额比特币不要重复使用地址。
比特币私钥的暴力破解
大家秘不示人的比特币私钥,说白了,就是一个整数。
没错,就是一个正整数。这个整数介于1 到 2256 之间。
如果有人使用高性能计算机暴力破解私钥,也就是
从1开始,2,3,4,5,6 ... 一直到2256 遍历一遍所有的整数,同时在本地区块链中检查相应的金额,
我们钱包里的比特币还安全码?
注意,这个暴力破解过程离线也可运行。
如果用量子计算机暴力破解私钥,情况又将怎样?
数之大
2256 =15792089237316195423570985008687907853269984665640564039457584007913129639936
约等1.579*1076
这是个超大的数。为了便于记忆,我们记一下数量级就可以,即约1076
先哲云:道通天地有形外,思入风云变态中。
这里,我们扩展一下思维空间。
一滴水约有 1022 个原子。
地球大约由 1050 个原子构成。
宇宙约有1082 个原子构成。
宇宙的直径约1026 米
宇宙约有1011 个星系
佛经所说的三千大千世界。如果以太阳系为一个世界,三千大千世界为109 个太阳系。
如此之大,三千大千世界也只是佛教思维空间里的一小部分。
地球总共大约有 1023 粒沙子
如果每粒沙子变成一个地球,新的地球里的每粒沙子再次变成一个地球。
则总共有1069 粒沙子,这还小于私钥的总数。
不要说从私钥计算地址还要一些复杂运算,
就算是不做运算,空循环遍历2256 内所有的整数也是不可能的任务。
物之理
暴力攻击比特币私钥是不可行的。
对于这一点,布鲁斯·施奈尔教授在其著作“应用密码学”中的一篇文章最有说服力。
在这里,翻译成中文与诸位分享。
热力学第二定律的影响之一是,表示信息需要一定数量的能量,通过改变系统的状态记录一个比特位需要的能量不少于kT,其中T是系统的绝对温度,k是波兹曼常数(继续听我说,物理课快要结束了)
鉴于k = 1.38×10-16 尔格 / K,
宇宙的环境温度是3.2K,理想的电脑运行在温度为3.2K的环境里,每次设置或清除一个比特位会消耗3.2×10-16尔格能量,在比宇宙背景辐射冷的环境中运行计算机,需要额外的能量来运行热泵。
现在,我们的太阳每年输出的能量约为1.21×1041尔格,对我们理想的电脑,这些能量足够驱动2.7 × 1056次单个比特位的状态变化,足够驱动187位计数器遍历其所有值对应的状态变化。
如果我们建造了一个戴森球环绕太阳和捕获其32年所有的能量输出,没有任何能量损失,我们可驱动计算机计算到 2192次状态变化,当然,没有能量剩下来执行其他任何有用的计算。
但这只是一颗星星,微不足道。一颗典型的超新星释放1051尔格的能量(这个能量约为中微子释放能量的一百倍,中微子的能量暂不考虑),如果所有这些能量可以引导用于一个密集的运算,可以遍历一个219位的计数器的所有状态。
这些数字与具体的硬件技术无关,这只是热力学允许的最大值,
这强烈表明:暴力攻击256位密钥是不可行的,除非电脑由某种非物质的东西制造并可存放于不是空间的地方。
为了便于理解和有趣,这里对上文做些解释.
先解释些术语。
1,绝对温度K
讨论绝对温度前,先说说温度。什么是温度? 生活中,温度是对冷热程度的度量,物理学上,温度是构成物质内部微粒运动动能的体现。
以水为例,水分子在冰块中运动缓慢,随着温度的升高,水分子运动加剧,加剧到一定程度时,融化为水,如果温度进一步升高,水分子运动越来越快,到一定程度时,水由液态变为气态。
把手伸到热水里,我们感到热的原因是:热水分子拥有较高的动能,与手上皮肤分子碰撞时将动能传递给了皮肤分子,使得皮肤分子运动加剧,我们就感到了热。相反,把手伸到冷水里,手上皮肤分子拥有较高的动能,与冷水分子碰撞时将动能传递给了冷水分子,使得皮肤分子运动降低,我们就感到了冷。
水蒸汽遇冷变为水,水再冷却结为冰。这是个降温的过程,也是水分子运动速度减慢的过程。就算是冰块里的水分子依旧还在做无规则的运动。如果温度进一步降低,水分子运动速度将进一步的减速。当水分子停止运动,这个时候对应的温度就是绝对零度 (0K)。
在绝对零度,经典分子停止运动。以这个温度为零度的温度计量单位为绝对温度,单位是开尔文,简称开,符号为K。
绝对零度永远无法达到,只可无限逼近。以下是几个有代表性的温度:
绝对零度 0 K等于-273.15摄氏度
水冰点为273K,沸点为373K.
自然条件下,地球的最低温为184K,
宇宙的环境温度为3.2K
实验室可获得的低温: 小于0.01K
2 玻尔兹曼常量
物理常数,能量与温度数值转换的常数。
3 尔格
能量单位 1 尔格 = 10-7焦耳 = 2.8x10-14千瓦时。
4,宇宙背景辐射
指弥漫宇宙空间的没有可识别来源的电磁辐射。
通常情况下,光或是辐射总有特定的来源。来自太阳或是某颗星体。
仰望星空,在闪闪繁星之间有些黑暗区域,这些黑暗区域存在一些不可见光,这些不可见光不来自任何一颗星球。
它们来自哪里?研究发现,这些不可见光起源于宇宙大爆炸,是宇宙中最古老的光。
这些弥漫宇宙空间的不可见光导致了3.2K 的宇宙环境温度。
宇宙背景辐射的发现是近代天文学的重大成就,对于研究宇宙的起源有重要意义,彭齐亚斯和威尔逊因此获得了1978年诺贝尔物理奖。
5,超新星
超新星是某些恒星在演化接近末期时经历的一种剧烈爆炸,这种爆炸极其明亮,能够照亮其所在的整个星系,可持续几周至几个月,才会逐渐衰减变为不可见。
在这段期间内一颗超新星所辐射的能量可以与太阳在其一生中辐射能量的总和相媲美。
在如银河系大小的星系中超新星爆发的概率约为50年一次,由于超新星释放的能量巨大,施奈尔教授的计算加入其释放的能量。
表示信息需要一定数量的能量,通过改变系统的状态记录一个比特位需要的能量不少于kT,其中T是系统的绝对温度,k是波兹曼常数
无论长城烽火台上放个烟火,或是交警做个手势,或是电脑里一个电压的变化,都有对应的物质状态的变化,都需要能量。
如果物质状态不发生变化,就不能表示信息。所以说表示信息需要能量。
在绝对温度为T的环境下,改变物质状态所需的能量不少于kT。
kT是一个很小的能量,一个空气中的分子或是一个电路板里的导电电子拥有的动能不少于kT,
所以这是移动一个分子或电子所需的最小的能量。
电路板里的一个电压的变化需要巨量的电子移动,所以这是个很保守的估算。
所以温度越低,能耗越低。
文中所说的3.2K的环境温度也是一个很低的温度,地球上最冷的气象记录是184K,
疯狂的超频玩家通过液氮冷却可以获得约100K的低温。
自然环境中要获得3.2K的环境温度,需要把电脑放到太空中,并且做一个外壳挡住来自太阳和其他星球的辐射。
这样的环境下,电脑改变一个比特位需要的能量不少于3.2×10-16尔格。
太阳每年输出的能量约为1.21×1041尔格,太阳是人类最容易观测的恒星,这个估算是相对精确的。
基于以上物理数据,结论:暴力攻击256位密钥是不可行的。
brute-force attacks against 256-bit keys will be infeasible until computers are built from something other than matter and occupy something other than space.
这段话,我读了好几遍,由衷叹服科学家的思维空间和求学精神。
something other than matter,something other than space,难道就是传说中的”形而上“,
易曰:形而上者谓之道,形而下者谓之器。
科学总是在空间里对物质做研究。超越物质,空间之外,已非科学的领域。
网友评论