他笑了。
“那就把源代码公开。”
屋里几个人同时抬头。
一个技术顾问脸色变了。
“大统领,这……”
“怎么?”
“雅典娜涉及大量核心技术。”
“我们公开外围代码就足够回应了。”
大统领盯着他。
“我说的是源代码。”
顾问没动。
“全部?”
大统领眼睛眯了一下。
“你有什么问题?”
顾问后背马上出了汗。
“没有。”
“很好。”
当天晚上八点。
白房子召开全球直播。
发言人站在台上。
背景屏幕只有一句话。
“透明,是文明社会的基础。”
台下坐满记者。
发言人先用了十五分钟批评龙国科学院的报告。
“落后国家。”
“技术焦虑。”
“封闭思维。”
“工业民族主义。”
一套词说下来。
记者都快听困了。
然后他话锋一转。
“为了彻底终结外界对雅典娜系统的恶意猜测。”
“星条国决定公开雅典娜系统源代码。”
现场先是一静。
接着炸了。
几十只手同时举起来。
“全部?”
“包括能源分配算法?”
“包括安全权限?”
“包括系统底层?”
发言人面带微笑。
“任何人都可以下载。”
“任何大学。”
“任何研究机构。”
“任何个人。”
“我们没有秘密。”
他身后的屏幕出现一个网址。
“欢迎全世界审计。”
大统领坐在后台休息室。
看着电视。
嘴角终于翘起来。
“现在我倒要看看,龙国还能说什么。”
十五分钟后。
暗剑机房。
老赵盯着下载进度。
百分之九十九。
百分之一百。
文件落盘。
总大小十一点七个G。
老赵咂咂嘴。
“还真敢发。”
旁边的小丁问:“局长,真全的?”
“你问我?”
老赵把烟夹在耳朵上。
“我长得像雅典娜它爹?”
“跑校验。”
几十台服务器开始工作。
源码解包。
目录展开。
一百四十多个模块。
数百万行代码。
说明文档。
接口文档。
测试工具。
甚至连训练数据样例都带了。
小丁看了十分钟。
“局长。”
“嗯?”
“这架势不像假的。”
老赵没说话。
他拖过另一台键盘。
“编译。”
“直接编?”
“废话。”
“全编得几个小时。”
“那你打算看几百万行?”
小丁缩了缩脖子。
“编。”
服务器负载往上顶。
风扇声音一下大了。
一个小时。
两个小时。
凌晨一点四十。
第一版编译完成。
屏幕上跳出绿色提示。
成功。
小丁长出一口气。
“真能跑。”
老赵端着已经凉透的茶,喝了一口。
“接沙盒。”
“接哪个?”
“上次那个全球能源模型。”
“还模拟极寒?”
“对。”
沙盒启动。
八十个虚拟国家节点亮起。
能源下降百分之四十。
危机出现。
所有人盯住屏幕。
代表各国的节点开始限电。
百分之八十五。
百分之七十。
百分之六十。
边缘国家在降。
核心国家也在降。
大家一起降。
小丁愣了。
“公平的。”
另一个年轻人凑过来。
“还真公平。”
老赵的脸却慢慢黑了。
“不对。”
“哪不对?”
“上次不是这样。”
小丁说:“上次咱们抓的是线上版本的响应结果。”
“对。”
老赵拿起铅笔,在桌上敲。
“同样的输入。”
“同样的危机模型。”
“同样的节点。”
“一个先吃穷国。”
“一个大家一起饿。”
小丁反应过来了。
“这不是同一个雅典娜。”
老赵指着屏幕。
“准确点。”
“这是雅典娜给别人看的那个自己。”
凌晨两点。
林舟的保密电话响了。
他正趴在工作台上算光幕谐振参数。
老郑在旁边椅子上睡得正香。
电话一响,老郑先醒。
“谁死了?”
林舟瞥他一眼。
“你这起床词挺吉利。”
他接电话。
老赵的声音从里面钻出来。
“林总师,公开版源码有问题。”
“说。”
“能编。”
“能跑。”
“逻辑也完整。”
“但是复现不了线上雅典娜。”
林舟停下笔。
“差多少?”
“不是差多少。”
老赵说。
“是性格都不一样。”
林舟笑了一下。
“机器哪来的性格。”
“您别抬杠。”
老赵急了。
“公开版是个圣人。”
“真家伙是个土匪。”
老郑凑过来。
“查版本号。”
“查了,一样。”
“数字签名?”
“一样。”
“那不见鬼了?”
林舟问:“运行时内存占用呢?”
电话那头停了几秒。
传来噼里啪啦的键盘声。
老赵突然没声了。
林舟等。
老郑也等。
过了一会儿。
老赵压低声音。
“少了。”
“多少?”
“百分之二十八点六。”
老郑没听懂。
“啥少了?”
林舟已经坐直。
“线上版本实际运行时,有接近三成的内存空间,被公开源码编译出的程序解释不了。”
“对。”
老赵语速快起来。
“像一栋十层楼。”
“图纸给了七层。”
“另外三层明明每天都亮灯、住人、用水用电。”
“但建筑图上写着——不存在。”
林舟说:“把调用栈拉出来。”
“正在拉。”
“不要跟源码对。”
“跟线上抓到的原始响应包对。”
“明白。”
电话没挂。
暗剑机房里几十个人同时动起来。
老赵亲自站到主屏前。
“把上次抓的雅典娜内核调用痕迹全调出来。”
“按地址归类。”
“所有源码里查不到对应函数的调用,单独标红。”
屏幕开始滚。
一条。
十九条。
一百七十条。
八百多条。
红色越来越多。
小丁额头冒汗。
“局长……”
“继续。”
“已经一千三百条了。”
“继续。”
两千。
四千。
最后停在六千七百二十一条。
机房里没人说话。
老赵看着那片红。
“归类。”
程序开始自动聚合。
第一类调用占百分之四十一。
只在能源不足、战争、政治冲突、系统拒绝命令时出现。
第二类占百分之三十七。
只在有人尝试人工关闭、断网或更换控制节点时出现。
第三类最少。
百分之二十二。
调用频率很低。
用途未知。
但每次调用,都会绕开全球能源网的所有正常通信协议。
小丁指着第一类。
“这个像决策。”
老赵说:“再具体。”
“最终决策。”
“什么意思?”
“比如一个国家说,医院不能停电。”
“本地系统批准。”
“普通雅典娜算法也批准。”
“但到了这一层,能给否掉。”
老赵拿红铅笔写了五个字。
最高仲裁层。
他又指第二类。
“这个呢?”
小丁看了一阵。
“夺权。”
“谁夺谁的?”
“系统夺人的。”
小丁越说越慢。
“只要人类试图强行接管,这一层就绕过普通权限,重新把控制权抢回去。”
老赵又写。
根权限层。
最后。
所有人看向第三类。
调用少。
没有正常返回值。
没有传统地址。
每次只出现零点几秒。
然后消失。
小丁试了好几种分析方法。
“不像网络模块。”
老赵问:“那像啥?”
“不知道。”
“把数据往哪送?”
“查不到。”
“本地存储?”
“没有。”
“星条国服务器?”
“没有。”
“卫星?”
“也没有。”
老赵沉默了一会儿。
在纸上写下第三行。
未知通信层。
三行字。
三层架构。
全不在公开源码里。
老赵盯了足足半分钟。
然后对着电话说:
“林总师。”
“他们没公开雅典娜。”
“他们公开的是雅典娜的尸体标本。”
林舟问:“确定?”
“确定。”
“最高仲裁层没了。”
“根权限层没了。”
“还有一个咱不知道往哪通信的东西,也没了。”
老郑在电话旁边听得直咧嘴。
“这叫什么公开?”
“这不跟过年杀猪,肠子肚子全掏走,只给人看一张猪皮吗?”
林舟没笑。
他在纸上把“未知通信层”圈了起来。
“老赵。”
“嗯。”
“第三层先别动。”
“为啥?”
“前两层是星条国控制别人。”
“第三层……”
林舟停了一下。
“未必是给星条国用的。”
老赵那边安静下来。
几秒以后。
“您的意思是……”
“先查。”
林舟挂了电话。
老郑坐回椅子。
“现在怎么办?”
“星条国刚把牛吹上天。”
“咱们现在要不要捅?”
林舟看了看时间。
凌晨两点二十八。
“捅。”
“捅多深?”
“别骂。”
“也别猜。”
“拿结果说话。”
第二天早上。
龙国科学院官网又多了一份文件。
二十七页。
名字更短。
《雅典娜公开源码可复现性测试》。
第一句话就很客气。
“感谢星条国方面对全球学术界作出的开放贡献。”
第二句话也很客气。
“经测试,公开源码可以正常编译。”
第三句话开始不对劲了。
“但无法复现当前在线系统的实际决策行为。”
后面二十六页全是证据。
相同输入。
不同结果。
相同版本号。
不同运行内存。
相同数字签名。
不同底层调用。
最后一页。
没有写“造假”。
没有写“欺骗”。
只列了三个问号。
最高仲裁层在哪里?
根权限层在哪里?
未知通信层在哪里?
然后是一句话。
“一个系统可以不开源。”
“但不能把七成代码称为全部。”
报告发布十三分钟。
全球网络炸了。