地球第一天选之女:比利时议员被宇宙射线投了4096票!猜猜她赢了吗?

撰文 | 乌其多

​审校 | 阿娴‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

如果没有6600万年前那颗撞地球的小行星,地球全体哺乳动物——包括我们人类的祖先,恐怕仍只是匍匐在恐龙爪下、四处躲藏的散装耗子。

就此而言,全体人类都算得上“天选之子”。

在如此幸运的我们当中,2003年比利时的一位议员,又堪称物理意义上“天选中的天选”:这位天选姐在参加一场重要大选时,来自地球之外的宇宙射线为以迷之方式,为她投了不少票。

500

唯一的问题是,宇宙实在过于慷慨了:4096票这个数量甚至超过了总票数之和,让人实在难以忽视。

500

 从0变1?

2003年5月18日,比利时布鲁塞尔的斯哈尔贝克选区,发生了一桩选票“幽灵”事件:一位名不见经传的小透明议员玛丽亚(MARIA)女士,在电子选票系统中的得票数异常激增了4096票。

这就给大家整不会了——此数额甚至超出了该选区的有效票总数上限,基本可排除人为舞弊的可能。在这个女巫传说源远流长的国家,甚至有人联想起了超自然力量。

就在众人面面相觑、百思不得其解之际,一位程序员突然一拍大腿:“等等,4096……这不是2的12次方(2^12)吗?”

没错,“4096”是一个在计算机科学中具有特殊意义的整数。它通常对应着二进制系统下的特定存储单位,所以这“幽灵选票”,莫非是来自投票机底层的二进制数据处理故障?

500

democracydocket

经过排查,事实确实如此。

二进制系统,意味着它只使用两个数字来表示所有数值。二进制应用于计算机内存,就可以简单地理解为一排整齐的开关,每个开关代表一个比特(bit),只能是“开”(1)或“关”(0)。这排开关从右向左,代表的数值以2的倍数递增:右边第一个代表1,第二个代表2,第三个代表4……以此类推。

那么,从右往左数的第13个开关,它代表的值正好是 2¹²,也就是 4096。

想象一下,如果这个开关原本是“关”(0),但因为某种原因,它被意外“拨动”成了“开”(1),这个动作就叫 “比特翻转(Bit flip)”。这样一来,计算机读取的总数值就会凭空多出4096。

这就像你原本在数一排暗着的灯,突然其中一盏特定的大灯自己亮了起来,让你的计数一下子增加了一个固定的巨大数值。

问题似乎找到了,但似乎也没完全找到——好好的0,为啥会变成1?

500

答案让人大跌眼镜——这其实是宇宙射线造成的。

 来自宇宙的“幽默”

宇宙射线,并非我们熟知的某种“光线”。而是来自宇宙深处、以接近光速运动的高能粒子流。它们构成了持续轰击地球的“微观陨石雨”。

这些粒子的来源非常广泛:一部分来自太阳的剧烈活动,如日冕物质抛射,被称为“太阳宇宙射线”;一部分源自太阳系之外,比如超新星爆发等极端宇宙事件,这种被称为“银河宇宙射线”。

500

左:日冕物质抛射 右:超新星爆发后残存的蟹状星云|newscientist

尽管听起来有些骇人,但这股粒子流与我们的日常生活息息相关。

事实上,每时每刻都有无数宇宙射线穿透我们的身体。科学家估计,平均每秒钟就有成千上万颗这样的高能粒子悄悄地穿过我们每一个人——人类虽然无感,但对计算机来说就不一定了。

在现代DRAM条,也就是我们常说的电脑内存条中,信息比特存储在微小的电容器中。

500

出于不同场景需求,电容器有大有小,但其本质都是一个可快速充放电的“临时电池” |ultralibrarian.com

当电容器被宇宙射线击中时,其中的电荷就可能改变,这就对应着一次比特翻转。这种现象有个专有名字“单粒子比特翻转(SEU)”。我们日常遇到的许多电脑内存错误,都源于此。而相比其他硬件问题引发的比特翻转,宇宙射线导致的事件尤为难以避免。

这也就是说,当你的电脑莫名蓝屏或游戏角色突然穿墙时,那可能不是简单的故障,而是长途跋涉了几万光年,来自神秘星际空间的高能粒子正在歇歇脚——这或许就是宇宙特色的幽默感的体现之一。

 澳洲航空72号班机事件

当然,宇宙射线也不会仅仅制造类似选举乌龙这样的小幽默——需要说明的是,这次“天降横票”并未改变政治规则,玛丽亚女士最终并未当选。

宇宙射线有时会引发真正的麻烦。

500

我国海拔最高的宇宙线观测站“拉索”航拍图|央视

例如在1989年3月,一次日冕物质抛射引起的宇宙射线触发了魁北克电网的断路器,造成了长达九小时的大停电,并一度干扰了全球无线电通信。

而更为惊险的一幕发生在2008年10月7日。澳洲航空72号班机(空客A330)在从新加坡飞往珀斯的巡航途中,自动驾驶系统突然错误地判定飞机正在失速爬升,并随即执行了两次剧烈的俯冲修正,致使飞机在短时间内高度骤降数百英尺。

突如其来的猛烈过载将未系安全带的乘客和机组人员抛向舱顶,最终造成115人受伤,其中12人重伤的严重事故。飞机紧急迫降,险些酿成空难。

500

《空中浩劫》第18季第7节演绎了这个事件|影视截图

事后调查的“元凶”就直指宇宙射线。报告表明,来自银河系的高能粒子击穿了飞机大气数据惯性基准单元(ADIRU) 中的关键芯片,引发了一个比特翻转。这个被篡改的错误数据欺骗了飞行计算机,使其做出了灾难性的“自救”指令。

自此之后,航空业显著加强了对这类风险的防护,构建了多层防御体系:比如说,使用了ECC内存(Error-Correcting Code Memory,错误纠正码内存),这是在普通内存(DRAM)基础上,增加了用于检错和纠错的额外存储位和专用电路。它和抗辐射芯片以及软件容错架构一起,构建了专门对付宇宙射线的多层防御体系。

虽然现代航空已能将此类事件的概率控制在较低的范围内。但这并不表示我们可以掉以轻心,最近一起宇宙射线大规模影响航空业的事件,就发生在几个月之前:全球最畅销机型又出事故!约6000架客机紧急停飞,只为解除这个安全漏洞

参考资料

[1]https://www.the-sun.com/tech/9704911/mystery-cosmic-ray-earth-space/

[2]https://web.archive.org/web/20070927185155/

[3]http://wiki.ael.be/index.php/ElectronicVotingRandomSpontaneousBitInversionExplained

[4]https://blog.robertelder.org/causes-of-bit-flips-in-computer-memory/

[5]比特翻转2:澳航72号航班A330在两次自动俯冲之后惊险迫降

站务

全部专栏