第21章 · 沉默的地面站
車是從華強北一個二手車行借來的——不是借,是法尔汉用一個假身份租的。一輛銀灰色的五菱宏光,後座被拆掉了,換成了一台用航空鋁箱裝載的發射機。車子在凌晨三點的深圳北環大道上以剛好不超速的速度行駛,混在夜班出租車和早班貨運車之間,毫不起眼。
法尔汉開車。陆远坐在副駕駛座上,懷裏抱着一台不聯網的平板電腦,屏幕上顯示着一張靜態地圖。他們的目的地是深圳以北六十公里外的一座廢棄地面站。衞星地圖上那塊區域被標記為"未使用通信設施",放大了之後能看到一座白色的拋物面天線,直徑約七米,在野草和灌木叢中半隱半現。
"星链的資產管理系統裏已經找不到這個站了。"法尔汉説,目光一直盯着前方的路面,偶爾掃一下後視鏡,"第三代衞星上線之後,舊型號的星链衞星不再需要這種傳統地面站——它們通過星間激光鏈路直接交換數據,地面站只是備用接入點。但這個站用的是S波段,跟新衞星不兼容了。它在兩年前被標記為'待處置資產',進入了一個沒人檢查的冷存儲歸檔。"
"但線路還在。"陆远説。
"線路還在。"法尔汉重複了一遍,"物理鏈路沒有被拆除。它太老了——老到被所有人忘了。星链的自動化運維繫統每年掃描一次全球地面段的資產清單,但這個站的固件版本太舊,在掃描協議中返回的是一個不被新系統識別的格式——掃描器把它歸類為'噪聲',跳過了它。就像一個在人口普查中被漏掉的人,因為他的名字太老,不在這代人的姓名數據庫裏。他在法律上不存在——但他在物理上仍然活着。"
陆远沒有説話。他看着窗外逐漸從城市燈光過渡到黑暗的郊區地貌。深圳的北界在夜色中是一道模糊的線——高樓逐漸變矮,變稀疏,然後被低矮的工業廠房和閒置土地取代。路邊的路燈間距越來越大,最後完全消失,只剩下車頭燈在前方的路面上切開一道錐形的光區。
從深圳到這個廢棄地面站,直線距離不到六十公里,但時間距離卻隔了整整兩代通信技術。這裏有一種時間上的錯位感——地面站的建造年代大約是2030年代,那會兒星链還只是近地軌道上的幾千顆衞星,地面段還需要大量的傳統拋物面天線來收發信號。如今那些天線在夜風中鏽蝕,底座上爬滿了藤蔓植物,衞星信號處理機房的屋頂有好幾處坍塌,露出內部的鋼架結構。
法尔汉把車停在天線基座旁邊的一小片空地上。熄火之後,周圍突然安靜到讓人不適——沒有城市的背景噪音,沒有交通的嗡鳴,只有風穿過野草時發出的沙沙聲和遠處偶爾傳來的幾聲蟲鳴。
他們下了車。夜風比市區涼得多,帶着泥土和腐爛植物的氣息。陆远站在車旁,抬頭看了一眼天空——沒有云,深圳北郊的光污染比市區弱,他能看到更多的星星。那些恆星本應該看起來比星链衞星更亮,但他發現自己的目光不自覺地被那些勻速移動的光點吸引——它們在夜空中以規則的間隔排列,像一條几乎看不見的傳送帶橫跨整個天穹。
十二萬顆。它們在這裏看起來比在市區更清晰,更密集。像一層被仔細編織過的銀色的網,覆蓋在整個天空的表面。
他低下頭,不再看它們。
法尔汉從後備箱裏取出那台航空鋁箱。箱子很重——兩個人一前一後抬着才能穩定地搬運。他們把它抬到天線基座旁邊一個半埋在地下的設備機櫃前面。機櫃的門鎖已經鏽死了,法尔汉用一把螺栓鬆動劑噴了兩下,等了幾分鐘,然後用一把大號螺絲刀卡進鎖縫裏用力一撬——鎖釦崩開了,發出一聲在夜風中迅速消散的金屬斷裂聲。
機櫃內部比他預想中要好。密封橡膠圈雖然已經老化變硬,但沒有完全失效。內部的主電源線和信號線纜完好無損,線纜標籤上的字跡還能辨認——S波段發射鏈路,極化控制,功率放大器偏置電源。法尔汉打開一支頭燈戴在額頭上,開始逐一檢查線路的連通性。
陆远把航空鋁箱放在地上,打開箱釦。箱子裏那台發射機比他們在據點裏用的原型機大了一整圈——外殼是法尔汉在兩週前通過鸽子网络的物理渠道提前部署到附近的,由阿米娜在拉各斯的一個合作工廠手工焊接完成,然後通過一艘停靠在深圳港的貨輪的集裝箱夾層運進關。它的設計很直接:一台高精度的任意波形發生器級聯到一台大功率的固態放大器,輸出端接到一個覆蓋S波段的定向天線上。簡單、暴力、只有一個目的——向恰好經過頭頂的舊型號星链衞星發送一個經過精確調製的信號。
這個信號將包含三樣東西:激活米蘭後門的QKD噪聲特徵模板、SkyWalker协议的第一個路由宣告數據包、以及一個全球同步的時間戳。
陆远蹲下來檢查發射機的電源模塊。他用萬用表測量了主供電軌的輸出——穩定在48伏,紋波在可接受範圍內。綠色指示燈亮起。機器正在待機。
"鴿子們到位置了嗎?"他問。
法尔汉沒有立刻回答。他把手中的線纜接好之後,從口袋裏拿出一台不聯網的平板,打開了一個靜態的文件——這是他最後一次同步阿米娜的更新數據。屏幕上顯示着一張全球地圖,上面標記着三十二個光點。
"三十二個城市。三十二條鴿子。全部確認到達位置。"法尔汉説。他的聲音在空曠的野地裏顯得比平時更輕,像一個在確認一件極其重要的事情的人不自覺地放低了自己的音量,害怕聲音太大驚動什麼東西。"從雷克雅未克到開普敦,從聖地亞哥到東京——每一條鴿子都在當地時間今天凌晨之前到達了指定地點。他們都在等一個信號。不是通過手機,不是通過任何電磁方式——他們手上有物理的存儲卡,裏面封裝着SkyWalker的注入固件。當他們收到激活指令時——用一台不聯網的終端插入那張卡,然後按下回車。"
"激活指令怎麼發?"
"不發。"法尔汉抬起頭,頭燈的光束掃過地面站周圍茂密的野草,"不發任何信號。激活時間是預先約定好的,硬編碼在每張卡的注入程序中。全球的所有鴿子——在同一秒鐘執行同樣的操作。沒有任何電磁信號可以追蹤,因為指令本身不需要傳輸——它已經被寫進了存儲卡里。我們只需要在正確的時間出現在正確的地方。"
陆远沉默了幾秒。他看着那台發射機的綠色待機指示燈,看着法尔汉額頭上頭燈的光束在那台航空鋁箱的邊緣投下的影子。這個計劃的精巧之處在於它的笨拙——用最慢、最原始的方式來觸發一個最高速、最高科技的過程。在物理層面運送存儲卡,用人類同步的精度來替代網絡同步的協議。
他拿出自己的手機。屏幕亮起——信號格數是零。這在意料之中,廢棄地面站方圓幾公里內沒有任何基站覆蓋。他打開了離線模式下緩存的醫療狀態頁面——那是他在出發前讓赵医生幫忙截圖的最後一張診斷摘要。
屏幕上顯示着女兒的最新狀態。赵医生用灰色字體標註了一段話:
「遠程會診已通過緊急通道重新排期。預計窗口:約2小時後。建議在此窗口前保持賬户狀態正常。若賬户被再次凍結,系統將自動進入48小時冷卻期。」
陆远看了一眼頁面底部的時間戳。那已經是幾個小時前的信息了。
他鎖上屏幕,把手機放回口袋。然後他蹲下來,打開發射機側面的檢修面板,開始和法尔汉一起做最後的系統聯調。
柏林的時間是晚上九點十七分。
米娅坐在克羅伊茨貝格區一間地下室公寓的摺疊椅上。這間公寓不是数据党的任何據點——是她私人的落腳點,一棟老舊建築底層的一個單間,窗户對着天井,常年照不到直射陽光。房間裏堆滿了技術雜誌、電路板殘骸和空咖啡杯,牆角立着一台已經落灰的膠片放大機。
她面前的桌上放着一台設備。不是SkyWalker的測試終端,不是任何改裝過的SDR——是一台古老的個人計算機,外殼是米白色的,CRT顯示器像一塊沉重的石頭壓在桌面上。這台機器的生產年份大約是2035年——在星链全面壟斷之前,在一個一切都還沒有被計量和計費的年代。它的硬盤裏裝着一個古老的FTP服務器軟件,星链不識別它的協議棧版本。
這台機器連接着一條線路。不是光纖,不是衞星链路——是一條普通的老式電話線,沿着老建築的牆壁走下去,接入柏林地下依然存在的銅纜電話網絡。那條電話線的另一端,是一台同樣古老的服務器,坐落在舊金山一棟不起眼的辦公樓的地下機房裏。
那是米兰·沃伊诺维奇在二十多年前配置的一條私人通道。他從未告訴過任何人它的存在——不是星链的官方基礎設施,不是数据党知道的安全通道,不是任何情報機構監控的對象。它只是一條被遺忘在電信網絡廢墟中的、無人維護但依然存在的銅線。
米娅六歲的時候,用這台電腦和這條線路,給當時在舊金山出差的父親畫過圖畫。她用最古老的畫圖軟件,用鼠標畫出歪歪扭扭的線條——一家三口,一個太陽,一朵雲。然後通過FTP上傳到父親在那台服務器上給她創建的私人文件夾裏。米蘭會在出差酒店裏打開那個文件夾,下載那些畫,然後回覆一封簡短的郵件:"收到了。畫得很好。想你了。"
那條線路後來再也沒有被使用過。但米蘭從來沒有關閉過那端的FTP服務器。米娅知道這一點,因為她每年會偷偷測試一次——用一台不聯網的機器,通過那條古老的電話線撥號,向那個早已被所有人遺忘的IP地址發送一個PING請求。每一次,它都返回了響應。每一次,響應時間都在增加——服務器的硬盤在老化,但它在應答。
今晚,她在那台電腦前坐了很久。屏幕的熒光映在她臉上,讓她的表情看起來比實際年齡更年輕——像一個回到了童年房間的人,發現所有東西都還在原來的位置,只是自己已經不再是從前的自己了。
她從口袋裏取出一塊黑色的USB存儲設備。存儲卡大約一枚郵票大小,裏面只有一個文件——不是一個信,是一個數據包。SkyWalker的全球激活碼。
她把它插進電腦的USB接口。機器花了好幾秒鐘才識別出這塊現代的設備——它的操作系統太老了,需要通過一個兼容性驅動才能讀取。文件出現在屏幕上的時候,她盯着它看了一會兒。文件名是一串自動生成的哈希值,沒有任何感情色彩。但它的內容——這串數據被注入到星链核心網之後——會改變一切。
她開始操作。先撥號。電話線的調製解調器發出一陣古老的、幾乎被人遺忘的嘯叫聲——那是握手協議的聲音,一種來自上一個互聯網時代的噪音,像是從深海中傳來的某種古老生物的呼喚。
然後她打開了FTP客户端。
她輸入了那個IP地址——她十六歲之後就再也沒有輸入過它,但她的手指記得。賬號:她小時候的名字縮寫。密碼:她生日。
連接成功。
屏幕上顯示出一個空蕩蕩的目錄。裏面只有一個文件夾,名字還和她六歲時一樣——「米娅的畫」。
她把那個激活碼文件拖進了那個文件夾。上傳進度條緩慢地爬行——電話線的帶寬極其有限,一個幾百KB的文件需要將近兩分鐘才能傳完。她看着進度條一格一格地移動,手指搭在鼠標上沒有動。
上傳完成。
屏幕上顯示:「文件傳輸成功 · 1文件已上傳到 /米娅的畫/skywalker_activate.dat」
米娅關掉了FTP客户端。她沒有斷開電話線的連接——她讓那台老舊的調製解調器繼續在線,像一個守在門口的人,等着聽門另一邊的腳步聲。
她向後靠在椅背上。地下室公寓的天花板很低,低到她伸直手臂幾乎能碰到。柏林夜晚的安靜壓在這棟老建築上,透過天井的玻璃能看到一小片深藍色的夜空——沒有星链衞星的軌跡在這片狹小的天井上方經過,或者也許經過了但她沒有去看。
她拿起桌上的手機。沒有信號。但她在離線模式下打開了備忘錄,打了一行字:
「我傳了。剩下的看你了。爸。」
她沒有發送這行字——這裏沒有網絡能發送任何東西。她只是把它寫下來,作為一個記錄。然後她鎖上屏幕,把手機翻過來扣在桌面上。
她在那台老舊的電腦前面坐着,聽着調製解調器通過電話線發出的那種穩定的白噪音。她想起小時候——父親出差回來,總會給她帶一個小禮物。有時候是一塊異國的石頭,有時候是一本圖畫書,有時候只是一張在機場便利店買的明信片。他從來不會説"我給你帶了禮物",只是把東西放在她的書桌上,像一個不想讓自己的行為顯得太刻意的人。
她二十二歲時離開了貝爾格萊德,那些禮物她一件都沒有帶走。但她現在坐在這裏,在柏林一間沒有窗户的地下室公寓裏,用同一台電腦、同一條電話線、同一個FTP賬號,向父親的服務器上傳了一個文件。
那不是一幅畫。那是一枚鑰匙。
她不知道父親會不會用那把鑰匙打開那扇門。
但她已經把它放在他看得到的地方了。
舊金山的時間是下午一點十一分。
米蘭在會議室裏。星链北美運營中心的高管周例會,議程上有三件事:南美洲QKD鏈路的異常審計報告、歐洲市場的新一輪定價策略調整、以及一份來自亞太安全中心的"高風險用户集羣管控方案"——由塞拉斯提報,要求授予安全部門對醫療、金融、教育等關鍵行業的星链賬户的"預防性凍結權限"。
米蘭坐在長會議桌的中間位置,面前放着一台合着的筆記本和一杯沒有動過的水。他的目光落在會議主持人正在投影的演示文稿上,但他的手指在桌面下,正在用觸覺記憶操作着一台放在西裝內袋裏的手機——顯示屏朝內,亮度調到最低。
他感覺到手機在內袋中震了一下。不是電話,不是短信,不是任何通過星链網絡傳輸的消息。他設置了那條電話線的一個專用的硬件監控器——它的唯一功能是檢測那台舊金山地下機房中的FTP服務器是否收到了新的上傳。
顯示器上出現了一個通知:「新文件上傳 · 源IP:柏林的撥號連接 · 文件名:skywalker_activate.dat」
米蘭坐在會議桌旁,周圍是十三個星链的高管和部門負責人。有人在發言,關於歐洲市場的定價彈性。有人在翻看打印的資料,紙張發出輕微的摩擦聲。有人在用終端記錄會議要點,鍵盤聲細碎而規律。
他站起來。
"米蘭?"會議主持人停了一下,"你有意見要補充?"
"暫時離開一下。"他説。他的聲音平穩,沒有任何異常。"私事。"
他沒有等回應。他拿起合着的筆記本,走出會議室的門。走廊很長,兩側是隔音玻璃牆,外面是加利福尼亞的陽光——明亮到近乎刺眼,在白色的走廊地板上投射出大塊的菱形光斑。他沿着走廊走到盡頭自己的辦公室,推門進去,鎖上門。
辦公室裏只有他一個人。百葉窗半合着,陽光從縫隙裏斜射進來,在桌面上切出一道道平行的光帶。
他沒有坐到辦公椅上。他站在桌前,從內袋裏取出手機。屏幕上的通知還在。他點開它。
系統顯示:「文件名:skywalker_activate.dat · 大小:384字節 · 上傳者:來自於198.51.100.0/24的已認證用户(用户名:mjw_drawings)」
他用户名是米娅小時候在這台FTP服務器上註冊的——"mjw_drawings",米兰·沃伊诺维奇+drawing。她六歲選的名字,二十年沒變過。
米蘭站在辦公室裏,午後的陽光通過百葉窗的間隙照在他的側臉上,在另一側的牆壁上投下一道明暗相間的影子。他看着那行文件名看了很久,久到手機屏幕因為長時間未操作開始變暗。他沒有讓它熄滅——他碰了一下屏幕,把它重新點亮。
384字節。
三樓的不速之客。十二萬顆衞星的總設計師。一個在貝爾格萊德戰火中長大的孩子變成的全球最強大通信網絡的首席架構師。一個女兒三年沒有聯繫過的父親。
他站在這些標籤構成的軀殼裏,手裏握着一部手機,手機上顯示着一個384字節的文件名。
他的手指在屏幕上方懸停了很長時間——那種懸停,和他在深圳地下據點裏的陆远在回車鍵上方的手指懸停,有着相同的重量。
他按下了那個文件名的鏈接。不是下載——他不需要下載來知道內容。他只是確認它確實在那裏,可以訪問,完整,沒有被損壞。
然後他轉向辦公桌。桌面上,他的私人終端正在顯示一個他每天都會查看、但從未操作過的圖標——那是他的嵌套入口的狀態指示器。一個隱藏在他自己設計的系統深處的、未被記錄在任何路由表中的邏輯地址空間。
它的狀態是:空閒 · 未激活。
米蘭在終端前坐下。他沒有去動那個嵌套入口。他打開了一個純文本編輯器——不是因為終端上有什麼特殊的工具有用,而是因為他需要一個空白的、沒有任何預設框架的地方來寫東西。
他打了一行字。不是通過任何加密通道——他打開了一個通往陆远那條加密文字通道的接口。那條通道是他在薩赫勒行動之後悄悄建立的——在法尔汉用來聯繫数据党的備用線路中,他嵌入了自己的監聽入口他可以讀取發送給法尔汉的消息。他從來沒有回覆過任何一條。他不知道今晚他會不會收到回覆。
他打字。光標在空白的輸入區閃爍。他敲出的每一個字符,都被加密後通過一條藏在星链核心網審計日誌流中的側通道傳輸出去。傳輸速率極低——大約每三秒鐘一個字符——但速度不是目的。目的是讓這條消息被收到。
「我可以讓你們進去。」
他停了一下。光標在句末閃爍,像一個在等待第二隻鞋落下的耳朵。
「但我也要進去。」
此刻,深圳以北六十公里,廢棄地面站的野草在夜風中發出沙沙的聲響。
陆远的手機亮了一下——不是普通的通知,是一種他從未聽到過的提示音。不是通過任何常規通道——是SkyWalker协议的一個測試用信令通道,法尔汉設置它的時候説"以防萬一有極端情況下的單向通信需要"。他們從沒有在這個通道上收到過任何東西。一次都沒有。
現在它響了。
陆远放下手中的萬用表,拿起手機。屏幕上的消息只有幾行字——文字簡短,沒有標點錯誤,但發送者的身份已經被通道本身完全確認。
米兰·沃伊诺维奇。
陆远讀完了那些文字。然後他把手機遞向法尔汉。
法尔汉接過來讀了。讀完的那一瞬間,他的表情非常複雜——不是完全的驚訝,因為他在內心深處已經預料到米蘭可能會做某種出乎意料的選擇。但他沒有預料到的是這個選擇的具體形狀。
米蘭的條件不是"不要傷害我的女兒"。不是"我可以幫你們但你們要保證我的安全"。不是任何出於自保或恐懼的算計。
米蘭的條件是他也要進去。
他要一個觀察員席位——不是因為他想控制数据天堂,而是因為他需要知道自己能不能在必要的時候關掉它。
法尔汉抬起頭,看着陆远。在廢棄地面站的夜色中,兩個人都沒有説話。遠處的野草叢中傳來一聲不知道是什麼鳥的鳴叫,短促而清晰,像一段靜默中的節拍。
"他可能會把我們都賣了。"法尔汉説。
陆远接過手機,重新讀了一遍米蘭的消息。他看到那些文字的時候,想起的是一件事——不是米蘭的算計,不是米蘭的權力,不是米蘭在星链系統內翻雲覆雨的能力。
他想起的是米娅在拉各斯的那個雨夜説的那句話——"他不是壞人。他只是太害怕了。"
陆远把手機放回口袋。
"他已經賣過我們一次了。"他説。他的聲音在夜風中很輕,但很穩定。"薩赫勒那二十三個人——那是他用我們的命做的一次測試。但那是一次性的。他不會賣第二次。因為他女兒在看着。"
法尔汉沒有反駁。
陆远從口袋裏拿出另一台終端——不是手機,是SkyWalker协议專用的文本通訊器,屏幕只能顯示幾行文字。他按下了電源鍵,屏幕亮起,輸入法的光標在空白的輸入欄裏閃爍。他想起米蘭發來的那句"我也要進去"。那不是一個要求,是一個請求——被包裹在權力和條件的外殼裏的、一個父親對另一個父親的請求。
他輸入了回覆。只用了幾個字。然後他按下了發送。
消息通過QKD信道的噪聲空洞,經過頭頂某顆恰好在中國華南上空飛行的星链衞星,沿着那條被米蘭自己設計的嵌套入口定義的路由路徑,傳輸到了接聽端。傳輸速率大約每秒一比特。那行幾個字的回覆,在太空中飛了整整將近一分鐘才完整到達。
在米蘭的終端屏幕上,在舊金山午後明亮的辦公室裏,那行字一個接一個地出現,像是有人在看不見的地方用手寫的:
「席位是你的。進來吧。」
陆远發完那條消息之後,關掉了終端,把它放回了航空鋁箱旁邊的背包裏。
他轉過身,看向那台發射機的綠色待機指示燈。然後他看向法尔汉。
"時間。"
法尔汉看了一眼自己的手錶——一塊機械錶,沒有連接任何網絡。"距離全球同步注入窗口還有——"他等秒針走完一圈,"——九分四十七秒。"
九分四十七秒。
陆远蹲下來,最後一次檢查了發射機的參數。信號頻率鎖定在S波段的星链舊型號衞星上行頻點。調製方式設置為QKD噪聲特徵模板——不是通信數據,而是那個激活信號本身,那個法尔汉從固件深層挖掘出來的十六進制鑰匙:0xA7F3_1C44_9B20_7D81。模板被加載到發射機的波形存儲器中時,屏幕上的校驗和顯示匹配。
他站起來。
頭頂的天空是純黑色的。深圳的光污染在這六十公里之外已經減弱到不足以掩蓋銀河的程度。陆远抬頭看的時候——他看到了真正的銀河,一條由數千億顆恆星組成的暗淡光帶橫跨天穹。那些恆星用了數萬年甚至數百萬年的時間才把光芒傳遞到他的視網膜上。而在它們之間,以肉眼可見的速度移動的,是那些近地軌道上的人造星星——星链的衞星編隊,以每秒七公里的速度掠過,反射着太陽的光芒。
幾分鐘後——當全球的三十二條鴿子在同一秒鐘把存儲卡插入終端,當米蘭在舊金山按下他私人後門的確認鍵,當這台發射機向天空發送第一個SkyWalker數據包的時候——這個佈滿星星的天空可能會發生一些變化。不是一個肉眼可見的變化,是一個邏輯上的、發生在協議層和路由表中的變化。但在那層變化之上,一個新的數字空間會誕生——一個不在任何路由表上、不連接任何計費系統、不被任何審計日誌記錄的數字空間。
数据天堂。
第一塊飛地。
法尔汉站在發射機旁邊,一隻手放在電源開關上。他沒有按下——他在等。全球同步注入的時間已經硬編碼在所有三十二條鴿子的存儲卡中。他不需要向任何人發送激活信號。他只需要在正確的秒數到達時按下他這邊的按鈕。
陆远站在他旁邊。沒有風。地面站周圍的野草已經停止了搖動,像整個世界都在這個瞬間屏住了呼吸。
他看了一眼手機。屏幕上沒有新的消息——米蘭沒有再發什麼。女兒那邊的醫療窗口還剩大約兩小時。如果他成功讓SkyWalker上線,如果嵌套入口被激活,如果自治域被建立——那些事情不會直接影響醫院系統裏的一個字段。塞拉斯的凍結操作是獨立的,需要米蘭或者更高級別的權限才能解除。
但米蘭這次選擇進來。米蘭已經看到了那個384字節的文件。米蘭知道那扇門是米娅打開的。
陆远可以等待。
他抬起頭。頭頂的銀河之中,一顆星链衞星正從西北方向的天際線滑入視野,在繁星之間以均勻的、不可阻擋的速度移動。那是一顆舊型號的衞星——無法與第三代衞星用激光鏈路通信,但仍然在軌道上運行,仍然維持着它的S波段接收機,仍然在等待一個來自早已被遺忘的地面站的信號。
那顆衞星不知道的是,在它下方的某個廢棄地面站旁邊,一個人正在看着它,手裏握着一個即將在幾分鐘後激活的開關。
法尔汉看着手錶上的秒針。秒針在一格一格地走,安靜得像一個在數數的人,不緊不慢,不動聲色。
"十秒。"
陆远沒有動。他看着那顆衞星在夜空中移動,看着它在星星的背景上劃出一條几乎看不見的弧線。它在接近天頂。它會在正確的角度經過這個座標上空。
"五秒。"
法尔汉的手指放在電源開關上。
"四秒。三秒。"
陆远低下頭。他想起女兒畫的那幅畫——兩個人手牽着手站在綠色的草地上,頭頂是一排用黃色蠟筆畫成的星星。那些星星不是收費的。它們是黃色的,畫在白色紙張上的,被一個五歲的孩子認為應該是黃色的星星。
"二秒。一秒。"
法尔汉按下去了。
發射機的電源指示燈從綠色跳到了藍色。機箱內部的冷卻風扇開始加速運轉,發出一聲從低頻逐漸升高的嗡鳴。屏幕上的波形監視器開始跳動——QKD噪聲特徵模板已被加載到發射序列中,正在通過功率放大器饋送到那根對準了天頂的定向天線。
S波段的載波激活了。
天空中那顆舊型號的星链衞星——編號STK-17254——在它飛越北緯22度、東經113度上空的那個瞬間,它的S波段接收機捕獲到了一個信號。不是它平時接收的那種標準的上行鏈路控制指令。是一種它不認識的調製方式——它的固件中沒有對應的解調錶。但它接收到了。
衞星的機載處理系統按照標準協議處理了它無法識別的信號:將它標記為"未知格式"並轉存到調試緩衝區,等待地面站下次連接時下載分析。這是衞星固件處理所有無法解析的上行信號的默認行為——不丟棄,不回應,僅在本地存儲。
但那個調試緩衝區——它不是一個普通的存儲區。在STK-17254這型號衞星的固件中,調試緩衝區在內存地址上恰好與QKD噪聲特徵採樣器的校準數據段相鄰。而那個相鄰關係,在米兰·沃伊诺维奇六年前設計這個嵌套入口時,已經被精確地計算過。
信號數據從調試緩衝區溢出——不是bug,是設計——溢入了噪聲特徵採樣器的內存空間。採樣器在下一個處理週期中讀取了它認為是"校準數據"的內容。
那串十六進制數字——0xA7F3_1C44_9B20_7D81——被載入了星链衞星的QKD模塊。
嵌套入口的激活條件被滿足了。
在舊金山,米兰·沃伊诺维奇的私人終端屏幕上,一個他已經看了很多年的灰色圖標在那一刻變成了藍色。不是亮藍色——是一種非常安靜的、介於深藍和青色之間的顏色,在他的屏幕右上角靜靜地亮着,像一盞在深夜中被人點亮的小燈。
他的嵌套入口。那個他花了六十三天寫出來、從未測試過、從未告訴過任何人的代碼路徑——它剛剛被激活了。
米蘭看着那個藍色的圖標。他沒有立刻做任何操作。他只是看着它,確認它是真實的,確認它確實變成了他預設中激活狀態的顏色。然後他把手指放在鍵盤上——不是那個需要權限的官方終端,是他私人的終端——輸入了一條命令。
不是打開後門。他已經打開了——嵌套入口的激活信號已經由那顆舊型號的衞星確認了。他敲下的是另一條命令。他打開了通往数据天堂的第一個自治域路由表的一條路徑——不是給数据党用的,是給他自己留的。
一個觀察員席位。
在星链核心路由層的某個微小的角落,出現了一個裂縫。一個沒有被任何路由表記錄的邏輯地址空間。它的初始存儲容量是1,024個字節——一個在TB級星链網絡中比塵埃還小的存在。
但它不在星链的計費系統內。
第一塊不需要納税的數字領土。
米蘭坐在舊金山午後陽光斜射的辦公室裏,看着那個地址空間的第一個數據寫入了它的存儲區。那不是SkyWalker的數據包——那是他自己寫的一條筆記。只有幾個字,像是他在那個剛剛誕生的微弱空間裏安放的第一件傢俱:
「線通了。」
他放開鍵盤,向後靠在椅背上。加利福尼亞的陽光穿過百葉窗的縫隙,在他的辦公桌上畫出一道道平行的金色條紋。窗外很遠的地方,舊金山灣區的天際線在午後的薄霧中若隱若現,像一座正在緩慢沉入海面的城市。
在地球的另一邊,深圳以北六十公里,那台發射機的藍色指示燈已經變成了穩定的綠色。數據傳輸正在進行。SkyWalker协议的第一個數據包已經從廢棄地面站的定向天線出發,沿着嵌套入口打開的路徑,通過那顆舊型號衞星的S波段接收機進入了星链的內部網絡,然後——沒有被審計、沒有被計費、沒有被路由表記錄——安靜地落在了那個1KB大小的地址空間裏。
法尔汉看着屏幕上的確認信息,沒有説話。他蹲下來,關掉了發射機的電源。風扇的轉速逐漸下降,最終停止。周圍重新陷入了那種只有野草和風聲的寂靜。
陆远站在天線基座旁邊,抬頭看着天空。那顆舊型號的衞星已經越過了天頂,正在向東南方向移動,逐漸消失在視野的邊緣。它的任務已經完成了。在它繼續繞着地球飛行的剩餘壽命中——也許還有幾年,也許會在某個時候被星链的主動報廢程序清除——它的內存裏將一直保留着那段不屬於星链計費系統的數據,像一個知道自己藏着一個秘密的人,沉默地飛過每一個夜晚。
"成了。"法尔汉説。他的聲音在空曠的野地裏顯得有些不真實,像是在説一件他自己都不太敢相信已經完成了的事情。
但陆远沒有回答。他在看手機——他的終端剛剛收到了一條信息,不是通過SkyWalker,是通過一條更原始的路徑。他的手機震動了兩次,屏幕亮起。
第一條消息來自赵医生,通過一個緊急備用的短信號碼,是醫院內部用於緊急醫療通知的線路。消息只有幾個字——赵医生大概是在一個沒有加密保障的環境下匆忙發送的:
「賬户限制已解除。遠程會診窗口已開放。速確認。」
第二條消息來自一個不顯示號碼的源地址。比赵医生的那條早了大約十七秒——幾乎是在嵌套入口激活後的同一瞬間發送的。內容也很短,短到不需要第二次閲讀:
「你那邊通了。我這邊也通了。——M」
陆远把兩條消息都讀完了。他把手機放回口袋,指腹在外殼上停留了片刻——不是猶豫,是一種確認他在做的事確實正在發生的物理觸感。
"成了。"他重複了一遍法尔汉的話。但這個複述聽起來不再像是確認一個技術結果——更像是在説一件他自己已經等了很久的事情,很久到當它真正發生的時候,他發現自己沒有任何預設好的語言來表達它。
頭頂的天空中,羣星依然在運行。那些收費的星星,那些不收費的星星,那些真正的恆星發出的數百萬年前的光,那些星链衞星反射的太陽光——它們混合在一起,在深藍色的夜幕上編織成一片無法分辨彼此的光海。
在這片光海中,有一個微小的——幾乎可以忽略不計的——邏輯空間正在安靜地存在。
它很小。只有1KB。
它是空的。但它是自由的。
陆远低下頭,走向那輛銀灰色的五菱宏光。法尔汉已經把航空鋁箱裝回了後備箱,正在用一把鎖重新鎖住那個被撬開的設備機櫃——不是真的能防止別人發現,只是讓它的狀態看起來沒有被觸碰過。
發動機啓動了。法尔汉沒有開大燈,用怠速緩緩駛離了地面站的範圍,直到開上主幹道之後才打開車燈,匯入了凌晨稀疏的車輛中。
在車後,那座廢棄的地面站重新被黑暗和野草吞沒。拋物面天線靜靜地指向天空,像一個沉默的守望者,在沒有人看見的角落裏完成了一次它自己都不知道的使命。
夜空中,編號STK-17254的舊型號星链衞星正在向東南方向移動,它的調試緩衝區裏多了一串數據,它的QKD噪聲特徵採樣器中多了一個標誌位的狀態變化。
它只是一顆即將被淘汰的衞星。但它在今天夜裏,在一顆數據包以每秒一比特的速度穿過它的電路時,接收到了人類歷史上第一個不在任何計費系統中的信號。
很小。很輕。
但它已經不需要任何人的許可了。