第9章 · SkyWalker协议

他們在数据党的地下基地裡待了十七天。

十七天裡陆远只上過三次地面。第一次是法尔汉帶他去弄一臺舊的星链地面站終端,第二次是去一家不用身份登記的診所給女兒做複查,第三次是半夜去樓頂抽菸——他不抽菸,但那天晚上他需要站在能看到天空的地方想事情。頭頂上的星链衛星每隔七分鐘就有一顆從深圳的天幕上劃過,像一群不知疲倦的牧羊犬在巡視柵欄。

女兒適應得比他快。子衿在那個法拉第籠環繞的地下空間裡找到了自己的領地——法尔汉不知道從哪裡弄來了一塊舊的數位板和一支壓感筆,她蹲在角落的地上畫畫。她畫蝴蝶,畫花,畫爸爸牽著一個穿裙子的小人站在綠色的草坪上。有時候她會走到那個巨大的星链拓撲圖前面,仰頭看那些不斷變化的彩色線條。她看不懂那些數據流的含義,但她覺得它們好看。

第十七天的晚上,法尔汉來到陆远的籠子前,敲了敲金屬邊框。

"給你看個東西。"

法尔汉帶他穿過基地最深處的走廊。走廊盡頭是一扇厚重的氣密門——不是那種普通的數據中心防火門,是一扇真正的氣密門,帶有旋轉手柄和橡膠密封圈,看起來像從某種工業設施上拆下來重新安裝的。法尔汉轉動手柄的時候,陆远能聽到門框周圍的密封條重新貼合時發出的嘶嘶聲。

門後是一個很小的房間,大約二十平方米,但層高驚人——至少有五米。房間中央懸浮著一顆全息投影,尺寸比外面那塊主屏幕上的星链拓撲圖大得多,也精細得多。那是星链的七層協議架構,從最底層的物理層一直到最頂層的應用層,每一層都被渲染成不同顏色的半透明結構,像一座倒懸的數據巴別塔。

陆远見過星链公開的白皮書裡的協議棧示意圖——那些圖表工整、簡潔,像是教科書上的完美範例。但他面前這個全息圖不是那種經過審閱的公開版本。這是從星链內部網絡中實時捕獲的真實協議棧映像,包含了所有未公開的私有層、調試接口、和後門通道。

"這是我在貝爾格萊德那兩年畫出來的。"法尔汉站在全息圖的邊緣,藍光映在他的臉上,讓他的表情看起來比平時更冷,"從星链歐洲核心網的協議日誌裡逆向出來的。大部分工作是在我公寓的洗手間裡做的——因為我租的那間公寓的臥室有星链的環境麥克風,唯獨洗手間不在監聽範圍內。"

他用手在全息圖中劃過,其中一層被放大——那是網絡層和傳輸層之間的一個區域,標著淺藍色的標籤:QKD信道·元數據區

"你之前問過SkyWalker的基礎原理,"法尔汉說,"現在我給你看答案。"

全息圖進一步放大,QKD信道的內部結構像一朵被層層剝開的花。陆远看到了光子級聯檢測器的信號路徑、糾纏光子源的時序發生器、以及——法尔汉手指指向的那個區域——一個標著"時間戳抖動緩衝器"的模塊。

"星链的衛星間通信使用量子密鑰分發來協商對稱加密密鑰。過程是這樣的:兩顆衛星各自產生糾纏光子對,然後對光子進行貝爾態測量,通過對比測量結果來生成共享密鑰。"法尔汉的聲音在狹小的房間裡迴盪,帶著一種他很少流露的專注——像一個匠人在展示他打磨了多年的作品,"但在這個過程的底層,有一個被星链工程師認為是'噪聲'的副產品。"

他調出了一組數據圖表。那是一串光子到達時間差的分佈曲線——理論上應該是完美的正態分佈,中心值對稱,兩側平滑遞減。但法尔汉把曲線放大了一千倍之後,陆远看到了分佈曲線上極其微小的、週期性的波紋——這些波紋的幅度小到幾乎淹沒在統計噪聲中,但它們確實存在,而且呈現出某種規律性。

"這是物理不可克隆函數的自然產物。"法尔汉說,"每一顆星链衛星的激光器都有獨一無二的相位噪聲特徵——製造公差、材料應力、老化速率的差異決定了每一顆激光器都是不同的個體。這種相位噪聲會體現在光子到達時間差上。星链的系統知道這個噪聲存在,但認為它是不攜帶任何信息的隨機抖動,所以在元數據區把它原樣記錄,不做加密,不計費。"

陆远盯著那些波紋看了很久。法尔汉不再說話,讓他自己消化。

他理解了。或者說,他的工程直覺已經先於他的理智抓住了那個核心邏輯。

"你可以調製這個噪聲。"他說。

"用對激光器驅動電流的微調來主動控制相位噪聲的波形,"法尔汉接上了他的話,"讓原本隨機的抖動變成可控制的抖動。不是把數據編碼在信號裡——是把數據編碼在噪聲裡。"

"速率呢?"

"理論極限大約是每秒一點二比特。實際穩定傳輸速率約每秒一比特。"

每秒一比特。發送一個字節需要八秒鐘。發送一句"Hello"需要將近一分鐘。但發送一個加密密鑰——256位的AES密鑰——只需要四分多鐘。發送一條指令、一組座標、一個認證令牌——這些都不需要很大的數據量。

"SkyWalker不做星链做的事,"法尔汉說,"SkyWalker做星链不做的事。"

他調出了一張新的全息圖——這一次不再是協議棧的內部結構,而是一張全球地圖,上面標記著密密麻麻的點和線。那些線不是公開的星間激光鏈路,而是一條完全不同路徑的網絡——從深圳出發,經過一顆低軌衛星的QKD信道,嵌入到光子到達時間差的抖動中,然後通過星链的星間鏈路跳轉到另一顆衛星,最後下行到非洲西海岸的一個地面站——拉各斯。

"你的數據包從進入QKD信道到被接收端提取,全程不被星链的計費系統看見。因為在你看來,你傳輸的是數據;但在星链看來,你只是給這個數據包披了一件噪聲的外衣——而噪聲是不收費的。"

陆远的手指在空中劃過那些光點構成的路徑。從深圳到拉各斯,跨越一萬兩千公里。在普通網絡上,這個距離的延遲是一百毫秒左右。在SkyWalker上——由於那每秒一比特的極低速率——傳輸一個標準的IP數據包需要大約幾十秒。但它不會被徵稅。不會被審查。不會被切斷。

"但有一個問題,"法尔汉說,他的聲音重新變得平淡,但陆远注意到他放在身側的左手手指在輕微敲擊褲縫——一種他只有在緊張時才會做的動作,"信號太弱了。"

他調出了另一組數據:頻譜分析圖。SkyWalker信號——即被調製的QKD相位噪聲——在星链的底層信號處理芯片中經過了一連串的降噪算法。陆远看著那組濾波器響應曲線,很快就明白了癥結所在。

"星链的降噪算法是基於統計預測的。"陆远說,他不需要法尔汉解釋,"它知道QKD信道的本底噪聲特徵是什麼,然後在接收端用自適應濾波器把那些噪聲減去。你的調製信號——即使幅度很小——也會被減法濾波器當成噪聲的一部分一併消除。"

"對。我試了四種不同的調製策略——幅值調製、相位調製、時序調製、甚至是基於量子態的偏振調製——全部被降噪算法在接收端中和掉了。降噪算法像一個太勤快的清潔工,把你精心佈置的信標當灰塵擦掉了。"

法尔汉關掉了全息圖。房間暗下來,只剩下一盞應急燈在牆角投下昏黃的光。他站在那盞燈的邊緣,表情在明暗之間半隱半現。

"SkyWalker目前是一個理論上可行、工程上被堵死的協議。我們有一條路,但路中間有一堵牆。"

他們回到主基地的時候,子衿已經趴在角落的墊子上睡著了。她的小手緊緊攥著那支壓感筆,屏幕上的畫還沒完成——一隻藍色蝴蝶,翅膀上的花紋畫了一半。陆远蹲下來把筆從她手裡輕輕抽出來,把薄毯蓋到她身上。動作很小,但女兒還是微微睜了一下眼,看了他一眼——確認他在——然後又閉上了。

他站起來的時候,腦子裡還在轉著那個問題。

降噪算法。信號太弱。聰明過頭的清潔工。

他拿起一塊空白的數位板——不是女兒畫畫的那塊——用手指在上面無意識地畫著濾波器的頻率響應曲線。法尔汉在他旁邊的工位上調試代碼,鍵盤聲急促而規律。整個基地裡只有鍵盤聲、風扇聲、和偶爾有人起身時椅子輪子碾過水泥地面的聲音。

陆远盯著那條曲線,忽然想起了什麼。

在华为201所的時候,他們做過一個實驗——關於自適應噪聲消除的極限測試。項目組裡有一個比他大三屆的師兄,姓林,在降噪算法上鑽得很深。林師兄曾經說過一句話,當時大家都沒太在意,但此刻它像一顆沉在水底多年的石子,忽然浮出了水面:

"噪聲消除最怕的不是信號太弱——是信號太乾淨。"

陆远的手停住了。

他重新在腦海中跑了一遍星链降噪算法的邏輯。基礎假設:QKD信道的本底噪聲具有特定的統計分佈——高斯白噪聲,均值為零,方差穩定。算法用一段滑動時間窗內的噪聲樣本來估計當前時刻的噪聲特徵,然後從接收信號中減去這個估計值。

但——如果算法收到的"噪聲樣本"不是真正的噪聲呢?

如果SkyWalker不是增加信號——而是製造空洞呢?

在星链預期有噪聲的地方——在那些光子到達時間差原本應該抖動的地方——人為地製造一個沒有抖動的間隙。不是把信號加進噪聲裡,而是從噪聲裡拿走一些東西。那些"被拿走的噪聲"——那些預期中的抖動消失留下的小小空洞——就是信號。

因為降噪算法的邏輯基礎是"去除噪聲"。而噪聲的缺失——一個原本應該有噪聲、現在卻沒有噪聲的時間窗口——在算法的邏輯框架里根本就不存在。它不會去除"不存在的東西"。它只會放行。

信號不是你說了什麼。是你選擇不在什麼時候說什麼。

陆远轉身走向法尔汉的工位。他走得太快,踢到了一個地上的電源插排,但他沒有停下來。

"法尔汉。"

法尔汉從屏幕上抬起頭。

"如果SkyWalker不是一種信號——而是一種簽名呢?"

法尔汉挑了挑眉。

陆远沒有等他回答,直接伸手在法尔汉的鍵盤上調出了一個空白的終端窗口。他快速敲了幾行偽代碼——他不想浪費時間在語法上,只想表達核心邏輯:

// 傳統思路:在噪聲中嵌入信號
發送端:full_noise(t) + modulated_signal(t) → 接收端
// 問題:降噪算法會濾除modulated_signal(t)

// 新思路:在噪聲中製造空洞
發送端:full_noise(t) - delta_noise(t) → 接收端
// 洞本身不是信號——但洞的模式是信號
// 降噪算法看到:"噪聲變少了"——這不觸發它的清洗邏輯
// 因為降噪算法只關心噪聲是否被去除,不關心噪聲是否出現空洞

他敲完最後一行,轉過身。

"星链的降噪算法在每一個時間窗口裡都會計算噪聲功率的期望值。如果實際噪聲功率低於期望——它不會報錯,不會干預,因為它認為那是自然波動。但如果實際噪聲功率中有一種週期性的、可辨識的下降模式——那個模式可以被用來編碼信息。"

法尔汉盯著屏幕上的那幾行偽代碼,一動不動地看了大概十秒鐘。整層樓的噪音——鍵盤聲、風扇聲——好像在這十秒裡都消失了,只剩下屏幕的微光在他的虹膜上閃爍。

然後他轉回身,手指放在鍵盤上。開始敲代碼。

他整整敲了四個小時。

陆远坐在旁邊的椅子上,沒有打擾他。女兒在角落裡翻了一個身,毯子滑落了一半,他走過去重新蓋好。中間有人給法尔汉送來一杯茶,他接過來放在手邊,沒有喝,直到徹底涼透。

凌晨兩點四十七分,法尔汉停下手,靠在椅背上,長長地呼了一口氣,像是整個人被抽空了一瞬間。

"仿真通過了。"他說,聲音沙啞得幾乎聽不清,"三組不同的QKD信道仿真參數——低軌、中軌、高軌——全部跑通了。降噪算法沒有清洗我們製造的空洞信號。因為從算法的角度看,空洞裡什麼都沒有。"

他轉過頭看著陆远。他的眼眶因為長時間盯著屏幕而充血泛紅,但眼神里有一種陆远從未在他臉上見過的東西——不是興奮,不是狂熱,是一種極其剋制的、正在努力保持平靜的滿足感。

"來吧,"法尔汉站起來,"我們去搭建測試環境。"


基地的西南角有一個被改造過的屏蔽室。

屏蔽室原本是這座廢棄數據中心的一間小型配電房,法尔汉讓人在內壁加裝了一層銅網和吸波材料,重新鋪設了供電線路,安裝了一臺二手的星链衛星信號模擬器——一臺能完整模擬星链QKD信道物理層特徵的設備,是法尔汉從歐洲的一個實驗室的報廢清單上"撿"回來的。外殼上還貼著那家實驗室的資產編號標籤,已經被撕掉了一半,剩下的一半上面印著模糊的德語單詞。

陆远和法尔汉花了將近三個小時完成了測試環境的搭建和校準。模擬器、調製器、信號採集卡、解碼終端——它們在屏蔽室的金屬桌上被粗壯的SMA線纜連接起來,像一場精密的連接手術。法尔汉擰接頭的時候習慣在最後一圈用扳手再緊半圈,確保接觸阻抗最小化。陆远注意到這個細節——這是一個在射頻工程裡泡了很多年的人才會有的習慣。

"準備好了嗎?"法尔汉問。

陆远點頭。

法尔汉按下了一個開關。模擬器開始運轉——它產生的QKD信道噪聲信號通過線纜流入調製器,調製器按照新的算法在噪聲中製造空洞。空洞的時序模式被編碼器映射成二進制序列:一個短空洞是0,一個長空洞是1;兩個空洞之間的間隔決定位邊界。

解碼終端接收到的信號通過一個軟件定義的噪聲功率檢測器處理——它不提取信號,它只檢測"信號何時變得比預期更安靜"。那些安靜的間隙在屏幕上被繪製成一條起伏的曲線:波峰是正常噪聲,波谷是被削去噪聲的空洞。波谷的時序排列呈現出一種可辨識的、非隨機的模式。

法尔汉在那條曲線上手動標出了第一個解碼結果。

比特流顯示在屏幕的底部:

01001000 01000101 01001100 01001100 01001111

ASCII轉換:H E L L O。

六秒鐘。五個字節。每秒不到一個字節。但它做到了——沒有觸發任何模擬的計費系統,沒有被降噪算法清洗,沒有在任何一個處理環節留下可追蹤的痕跡。噪聲中的空洞安靜地通過了所有的濾波器,像一群穿過了安檢門的透明人。

法尔汉看著那行字母,很久沒有說話。

然後他坐在屏蔽室的地板上——直接坐在那佈滿灰塵的水泥地面上——向後靠著牆,雙手垂在膝蓋上,閉著眼睛,發出了一聲很輕的、幾乎聽不到的嘆息。

"六秒。"他說,"六秒鐘傳輸了五個字節。這是第一個沒有被星链徵稅的數據包。"

他睜開眼看著陆远,嘴角彎了一下——一個極其微小的弧度,但不是笑容。

"很小。但它自由了。"

陆远站在那臺解碼終端前,屏幕上"H E L L O"那幾個字母還在閃爍——解碼終端在持續收到相同的信號,因為法尔汉的算法設置了循環發送,那五個字節正一遍又一遍地從調製器出發,經過模擬的QKD信道,穿過降噪算法,抵達解碼器。每一次都是同樣的結果。每一次都成功。

"Hello"——互聯網的嬰兒期,1969年10月29日,加州大學洛杉磯分校的計算機向斯坦福研究院發送了第一個數據包,本意是傳輸"LOGIN",但系統在傳輸第三個字母"G"時崩潰了。人類歷史上的第一條網絡消息只有兩個字母:"LO"。

而此刻,在深圳地下二十米的一個廢棄數據中心的屏蔽室裡,另一個網絡發出了它的第一聲啼哭。聲音很輕。聲音很小。但它確實存在。

陆远忽然感到一種不安。

不是來自那個信號本身——信號是對的,測試結果是完美的。法尔汉的設計沒有漏洞,他的補充方案也沒有漏洞。從物理層到解碼層,整個鏈條在理論上和仿真上都站得住腳。

他感到不安的原因是:太順利了。

從信號克隆到SkyWalker——每一步都像是有人在前面鋪好了路。他掉進坑裡,坑裡恰好有一扇門。他推開那扇門,門後恰好是一條通道。通道恰好通向一個可以逃生的出口。

他看了一眼法尔汉——對方已經從地上站起來,正在檢查測試數據,手指在鍵盤上飛舞,沒有注意到陆远的表情。陆远沒有說出他的不安。不是不想說,是不知道怎麼表達——他手裡沒有證據,只有一種直覺,像一根針一樣紮在他意識深處某根最敏感的神經末梢上。

他用這種直覺的方式想:

米兰·沃伊诺维奇——那個設計了這個系統的人,那個在第一顆星链衛星升空之前就規劃好了每一行代碼的人——他真的不知道QKD信道的這個漏洞嗎?

還是說,這個漏洞本身就是他留在系統裡的另一扇門?

一個像米蘭那樣的人——能在星链的認證系統中埋下一個信號指紋克隆的後門,能在法尔汉面前暴露自己的存在卻不採取行動——這樣的人,會真的忽略一個像SkyWalker這樣明顯的設計空白嗎?

陆远站在屏蔽室裡,頭頂是二十米厚的混凝土和泥土,泥土之上是深圳的城市燈火,燈火之上是十二萬顆衛星構成的天網。在那張網的某個節點上,也許有一雙眼睛正在看著地下深處這個小小的屏蔽室裡發出的那五個字母。

H E L L O。

像一個嬰兒的第一次啼哭。

也像一個陷阱的第一次閉合。

法尔汉關掉了模擬器,收起線纜,摘下耳機掛在脖子上。他轉過身來看著陆远,臉上的表情是那種他很少流露的、接近溫暖的東西。

"如果你女兒需要用到高通量通信——比如說遠程手術——我們在SkyWalker上再搭建一個算力共享層。讓每一個接入SkyWalker的節點貢獻自己的閒置計算資源。不需要去搶OrbitNet的算力——我們自己造一個。"

他說得很平靜,像在說一個他已經構思了很久的計劃。但陆远在他眼底捕捉到了別的東西——不是技術的興奮,而是某種更深層的、和陆远自己心中那份不安對稱的東西。

法尔汉也在懷疑。

但他們都選擇了不把那個懷疑說出口。

因為不管米兰·沃伊诺维奇是敵是友,路已經走到這一步了。後退的方向已經被封死。前方的路——無論是通向自由還是陷阱——都必須繼續走。

"算力共享層,"陆远重複了一遍這個詞,"你想讓SkyWalker變成一個分佈式的網絡?"

"不是我想——是它必須變成那樣。只靠QKD信道的那點帶寬,SkyWalker傳不了大文件,跑不了AI推理。但如果接入SkyWalker的每一臺終端——手機、平板、路由器、智能家居設備——都貢獻一小部分算力,匯聚起來就是一臺分佈式的超級計算機。不是OrbitNet那種集中式的龐然大物,而是一臺由成千上萬個微小的計算碎片拼成的異形機器。"

他停了停。

"一臺從不問你要計算什麼的機器。一臺不會因為你的賬戶等級不夠就拒絕你的請求的機器。一臺——"

他找了一個詞:

"——不計費的機器。"

陆远看著屏蔽室裡那些線纜和設備。他想起女兒那天在醫院裡看到的高清蝴蝶視頻,那些她以前永遠加載不出來的圖片。如果那種流暢對每個孩子來說都是免費的——不需要鉑金賬戶、不需要每月兩萬信用點、不需要一個父親去偷鄰居的信號——

那會是另一個世界。

他不知道那個世界能不能建成。但他知道這個世界——頭頂被十二萬顆衛星嚴密計費的世界——他不打算讓它繼續維持下去了。

"回去吧,"他說,"女兒要醒了。"

他們走出屏蔽室的時候,走廊盡頭的應急燈在混凝土牆壁上投下長長的影子。法尔汉走在前面,腳步很快,背挺得很直。陆远跟在他身後,左腳踝的舊傷還在隱隱作痛。

在他的口袋裡,手機屏幕亮了一下——一條來自未知號碼的短信,只有一個字。陆远在走廊裡停下腳步,藉著應急燈的微光看了一眼。

短信寫著:

「快。」

沒有發件人。沒有上下文。只有一個字。

陆远盯著那個字看了兩秒鐘,鎖上了屏幕,快步跟上了法尔汉。

在走廊盡頭的另一邊,在那些法拉第籠隔間的深處,五歲的陆子衿趴在一張摺疊床上。面前攤著一塊舊的數位板,板面上顯示著一幅還沒畫完的畫:一隻蝴蝶,翅膀上帶有電路板紋理的線條。

她用壓感筆補上了另一隻翅膀,托著下巴看了一會兒。覺得它看起來像一隻不需要空氣也能飛的東西。

像那些在頭頂飛過的星星一樣。

她不知道自己為什麼會有這種想法。她低下頭,繼續畫第二隻蝴蝶。

微信公眾號二維碼

掃碼關注微信公眾號
閱讀更多獨家內容