他笑了。
「那就把原始碼公開。」
屋裡幾個人同時抬頭。
一個技術顧問臉色變了。
「大統領,這……」
「怎麼?」
「雅典娜涉及大量核心技術。」
「我們公開外圍代碼就足夠回應了。」
大統領盯著他。
「我說的是原始碼。」
顧問沒動。
「全部?」
大統領眼睛眯了一下。
「你有什麼問題?」
顧問後背馬上出了汗。
「沒有。」
「很好。」
當天晚上八點。
白房子召開全球直播。
發言人站在台上。
背景屏幕只有一句話。
「透明,是文明社會的基礎。」
台下坐滿記者。
發言人先用了十五分鐘批評龍國科學院的報告。
「落後國家。」
「技術焦慮。」
「封閉思維。」
「工業民族主義。」
一套詞說下來。
記者都快聽困了。
然後他話鋒一轉。
「為了徹底終結外界對雅典娜系統的惡意猜測。」
「星條國決定公開雅典娜系統原始碼。」
現場先是一靜。
接著炸了。
幾十隻手同時舉起來。
「全部?」
「包括能源分配算法?」
「包括安全權限?」
「包括系統底層?」
發言人面帶微笑。
「任何人都可以下載。」
「任何大學。」
「任何研究機構。」
「任何個人。」
「我們沒有秘密。」
他身後的屏幕出現一個網址。
「歡迎全世界審計。」
大統領坐在後台休息室。
看著電視。
嘴角終於翹起來。
「現在我倒要看看,龍國還能說什麼。」
十五分鐘後。
暗劍機房。
老趙盯著下載進度。
百分之九十九。
百分之一百。
文件落盤。
總大小十一點七個G。
老趙咂咂嘴。
「還真敢發。」
旁邊的小丁問:「局長,真全的?」
「你問我?」
老趙把煙夾在耳朵上。
「我長得像雅典娜它爹?」
「跑校驗。」
幾十台伺服器開始工作。
源碼解包。
目錄展開。
一百四十多個模塊。
數百萬行代碼。
說明文檔。
接口文檔。
測試工具。
甚至連訓練數據樣例都帶了。
小丁看了十分鐘。
「局長。」
「嗯?」
「這架勢不像假的。」
老趙沒說話。
他拖過另一台鍵盤。
「編譯。」
「直接編?」
「廢話。」
「全編得幾個小時。」
「那你打算看幾百萬行?」
小丁縮了縮脖子。
「編。」
伺服器負載往上頂。
風扇聲音一下大了。
一個小時。
兩個小時。
凌晨一點四十。
第一版編譯完成。
屏幕上跳出綠色提示。
成功。
小丁長出一口氣。
「真能跑。」
老趙端著已經涼透的茶,喝了一口。
「接沙盒。」
「接哪個?」
「上次那個全球能源模型。」
「還模擬極寒?」
「對。」
沙盒啟動。
八十個虛擬國家節點亮起。
能源下降百分之四十。
危機出現。
所有人盯住屏幕。
代表各國的節點開始限電。
百分之八十五。
百分之七十。
百分之六十。
邊緣國家在降。
核心國家也在降。
大家一起降。
小丁愣了。
「公平的。」
另一個年輕人湊過來。
「還真公平。」
老趙的臉卻慢慢黑了。
「不對。」
「哪不對?」
「上次不是這樣。」
小丁說:「上次咱們抓的是線上版本的響應結果。」
「對。」
老趙拿起鉛筆,在桌上敲。
「同樣的輸入。」
「同樣的危機模型。」
「同樣的節點。」
「一個先吃窮國。」
「一個大家一起餓。」
小丁反應過來了。
「這不是同一個雅典娜。」
老趙指著屏幕。
「準確點。」
「這是雅典娜給別人看的那個自己。」
凌晨兩點。
林舟的保密電話響了。
他正趴在工作檯上算光幕諧振參數。
老鄭在旁邊椅子上睡得正香。
電話一響,老鄭先醒。
「誰死了?」
林舟瞥他一眼。
「你這起床詞挺吉利。」
他接電話。
老趙的聲音從裡面鑽出來。
「林總師,公開版源碼有問題。」
「說。」
「能編。」
「能跑。」
「邏輯也完整。」
「但是復現不了線上雅典娜。」
林舟停下筆。
「差多少?」
「不是差多少。」
老趙說。
「是性格都不一樣。」
林舟笑了一下。
「機器哪來的性格。」
「您別抬槓。」
老趙急了。
「公開版是個聖人。」
「真傢伙是個土匪。」
老鄭湊過來。
「查版本號。」
「查了,一樣。」
「數字簽名?」
「一樣。」
「那不見鬼了?」
林舟問:「運行時內存占用呢?」
電話那頭停了幾秒。
傳來噼里啪啦的鍵盤聲。
老趙突然沒聲了。
林舟等。
老鄭也等。
過了一會兒。
老趙壓低聲音。
「少了。」
「多少?」
「百分之二十八點六。」
老鄭沒聽懂。
「啥少了?」
林舟已經坐直。
「線上版本實際運行時,有接近三成的內存空間,被公開源碼編譯出的程序解釋不了。」
「對。」
老趙語速快起來。
「像一棟十層樓。」
「圖紙給了七層。」
「另外三層明明每天都亮燈、住人、用水用電。」
「但建築圖上寫著——不存在。」
林舟說:「把調用棧拉出來。」
「正在拉。」
「不要跟源碼對。」
「跟線上抓到的原始響應包對。」
「明白。」
電話沒掛。
暗劍機房裡幾十個人同時動起來。
老趙親自站到主屏前。
「把上次抓的雅典娜內核調用痕跡全調出來。」
「按地址歸類。」
「所有源碼里查不到對應函數的調用,單獨標紅。」
屏幕開始滾。
一條。
十九條。
一百七十條。
八百多條。
紅色越來越多。
小丁額頭冒汗。
「局長……」
「繼續。」
「已經一千三百條了。」
「繼續。」
兩千。
四千。
最後停在六千七百二十一條。
機房裡沒人說話。
老趙看著那片紅。
「歸類。」
程序開始自動聚合。
第一類調用占百分之四十一。
只在能源不足、戰爭、政治衝突、系統拒絕命令時出現。
第二類占百分之三十七。
只在有人嘗試人工關閉、斷網或更換控制節點時出現。
第三類最少。
百分之二十二。
調用頻率很低。
用途未知。
但每次調用,都會繞開全球能源網的所有正常通信協議。
小丁指著第一類。
「這個像決策。」
老趙說:「再具體。」
「最終決策。」
「什麼意思?」
「比如一個國家說,醫院不能停電。」
「本地系統批准。」
「普通雅典娜算法也批准。」
「但到了這一層,能給否掉。」
老趙拿紅鉛筆寫了五個字。
最高仲裁層。
他又指第二類。
「這個呢?」
小丁看了一陣。
「誰奪誰的?」
「系統奪人的。」
小丁越說越慢。
「只要人類試圖強行接管,這一層就繞過普通權限,重新把控制權搶回去。」
老趙又寫。
根權限層。
最後。
所有人看向第三類。
調用少。
沒有正常返回值。
沒有傳統地址。
每次只出現零點幾秒。
然後消失。
小丁試了好幾種分析方法。
「不像網絡模塊。」
老趙問:「那像啥?」
「不知道。」
「把數據往哪送?」
「查不到。」
「本地存儲?」
「沒有。」
「星條國伺服器?」
「沒有。」
「衛星?」
「也沒有。」
老趙沉默了一會兒。
在紙上寫下第三行。
未知通信層。
三行字。
三層架構。
全不在公開源碼里。
老趙盯了足足半分鐘。
然後對著電話說:
「林總師。」
「他們沒公開雅典娜。」
「他們公開的是雅典娜的屍體標本。」
林舟問:「確定?」
「確定。」
「最高仲裁層沒了。」
「根權限層沒了。」
「還有一個咱不知道往哪通信的東西,也沒了。」
老鄭在電話旁邊聽得直咧嘴。
「這叫什麼公開?」
「這不跟過年殺豬,腸子肚子全掏走,只給人看一張豬皮嗎?」
林舟沒笑。
他在紙上把「未知通信層」圈了起來。
「老趙。」
「嗯。」
「第三層先別動。」
「為啥?」
「前兩層是星條國控制別人。」
「第三層……」
林舟停了一下。
「未必是給星條國用的。」
老趙那邊安靜下來。
幾秒以後。
「您的意思是……」
「先查。」
林舟掛了電話。
老鄭坐回椅子。
「現在怎麼辦?」
「星條國剛把牛吹上天。」
「咱們現在要不要捅?」
林舟看了看時間。
凌晨兩點二十八。
「捅。」
「捅多深?」
「別罵。」
「也別猜。」
「拿結果說話。」
第二天早上。
龍國科學院官網又多了一份文件。
二十七頁。
名字更短。
《雅典娜公開源碼可復現性測試》。
第一句話就很客氣。
「感謝星條國方面對全球學術界作出的開放貢獻。」
第二句話也很客氣。
「經測試,公開源碼可以正常編譯。」
第三句話開始不對勁了。
「但無法復現當前在線系統的實際決策行為。」
後面二十六頁全是證據。
相同輸入。
不同結果。
相同版本號。
不同運行內存。
相同數字簽名。
不同底層調用。
最後一頁。
沒有寫「造假」。
沒有寫「欺騙」。
只列了三個問號。
最高仲裁層在哪裡?
根權限層在哪裡?
未知通信層在哪裡?
然後是一句話。
「一個系統可以不開源。」
「但不能把七成代碼稱為全部。」
報告發布十三分鐘。
全球網絡炸了。