第201章 發送失敗

投票推薦 加入書籤 小說報錯

  零號區的光全滅了。

  看守者關機之後,天花板上的應急燈帶也跟著斷了,整個空間只剩操作台屏幕的待機背光,像一張發灰的紙貼在黑暗裡。

  灰毛衣坐在操作台下面。背靠台腿。

  左口袋師兄的手機,右口袋自己的。兩部手機兩個體溫。右邊的還有點餘熱,剛塞進去的。左邊的涼透了。不知道涼了多久。

  可能八百年。

  他掏出左邊那部。

  屏幕碎得比他的厲害。裂紋從右上角炸開,放射狀,像石頭砸過的車窗。但亮著。壁紙是柳樹。

  他拍的。

  大三那年春天。用的師兄這部手機,因為自己那部摔了正在修。拍完忘了刪,師兄也沒刪。後來就一直是壁紙。

  手機型號太老了。系統停在安卓9。通知欄堆著一串灰色圖標,全是離線的。Wi-Fi、信號、藍牙、定位——全是叉。

  他用拇指從頂部往下拉。

  通知欄展開。清一色的「無法連接」。

  但最底下有一條本地通知。

  來自通訊軟體。圖標是個綠色的氣泡。

  「1條草稿未發送。」

  通知時間:空。系統時鐘在零號區失效了,所有時間戳顯示為1970年1月1日。

  灰毛衣點開。

  通訊軟體的界面古早。頂欄綠得發黑。聊天列表只有三個人。

  第一個是「導師」,最後一條消息是師兄發的「收到老師」。

  第二個是「老媽」,最後一條是他媽發的一張圖,縮略圖糊成一片,像是一盤菜。

  第三個。

  備註名:「不喝枸杞會死星人」。

  頭像是那隻柴犬貼紙的翻拍。

  灰毛衣記得——師兄說要把貼紙當兩個人的群頭像,他說丑,師兄說「丑才沒人偷」。

  灰毛衣點進去。

  聊天記錄最後一條是他自己發的。內容是一張截圖。截圖里是導師發在大群的通知——研三開題報告延期兩周提交。

  他在截圖上畫了個紅圈,圈住「延期」兩個字,旁邊手寫批註:「命續了。」

  師兄沒回。

  往下。

  輸入框裡有字。

  灰色的。草稿。沒發出去的那種灰。

  開頭三個字清清楚楚。

  「跟你說」

  第四個字開始,全是亂碼。

  不是普通亂碼。不是編碼錯誤的方塊,不是字體缺失的問號。

  是一種灰毛衣只在一個地方見過的東西——遺忘協議的數據殘留格式。

  每個字符位置都被一團灰白色的靜態噪點覆蓋,像電視雪花縮小到一個漢字的大小。

  灰毛衣盯著這行字看了八秒。

  師兄在寫這條消息的時候,遺忘協議正在實時吃他的字。

  他打前面的字,協議從後面吞。一邊寫一邊丟。

  灰毛衣把自己的手機從右口袋掏出來。碎屏。解壓完的文件夾還開著。1.7TB的遺忘協議完整母本。

  師兄用四十七天手抄的。

  他花了九秒定位到母本中的文本干擾子模塊。代碼編號OBV-TXT-0017。功能描述只有一行注釋——「覆寫目標文本的存在痕跡,使其從物理介質與觀察者記憶中同步消失。」

  灰毛衣將子模塊的覆寫邏輯逆向編譯。

  原理不複雜。

  遺忘協議不刪字。它把每個字符的編碼替換成與原始編碼等長的偽隨機噪聲。噪聲的種子來自被覆寫者的存在邏輯——也就是說,噪聲裡面裝著師兄的信息。

  逆向還原的關鍵:從噪聲反推種子,從種子中剝離存在邏輯,用剩餘部分還原原始字符編碼。

  這需要母本中OBV-TXT-0017的完整種子生成算法。

  師兄抄了。一個字都不差。

  灰毛衣把兩部手機並排擱在膝蓋上。左手操作師兄的,右手操作自己的。


  碎屏對碎屏。裂縫對裂縫。

  他開始還原第四個字。

  ---

  第一輪逆向。耗時十一秒。

  噪聲數據讀取。種子提取。存在邏輯剝離。

  原始編碼輸出:U+5B9E。

  漢字:實。

  「跟你說實」——

  還沒來得及讀完,師兄手機屏幕閃了一下。

  那個「實」字亮了不到半秒,又被一層灰白噪點蓋回去了。

  遺忘協議殘餘反撲。

  灰毛衣重新跑了一遍。這次種子的偽隨機分量增加了——殘餘在學習他的還原路徑。

  但增量不大。師兄焊在接口上的意識痕跡還在拖後腿。那顆擰歪的螺絲釘。每轉一圈卡頓一次。

  第二輪逆向。十四秒。

  「實」穩住了。

  第五個字。U+9A8C。

  驗。

  「跟你說實驗」——噪點蓋回來。十六秒還原。穩住。

  第六個字。U+5BA4。

  室。

  「跟你說實驗室」。

  灰毛衣的手停了。

  三個字。十六秒、十四秒、十一秒。越往後越快,逆向引擎在建上下文預測模型。

  但每還原一個字,殘餘的反撲就猛一分。第七個字的噪點密度比第四個高了40%。

  他繼續。

  ---

  第七個字。二十一秒。反撲兩次。

  U+95E8。門。

  第八個字。二十六秒。反撲三次。

  U+53E3。口。

  第九個字。三十秒。反撲四次。右手的碎屏手機燙得拿不住了,擱在地上用指頭戳。

  U+7684。的。

  「跟你說實驗室門口的」

  第十個字。三十七秒。手指摁在滾燙的屏幕上,指腹的紋路都快烙進玻璃裂縫裡。

  U+67F3。柳。

  第十一個字。前面他就知道了。

  U+6811。樹。

  「跟你說實驗室門口的柳樹」

  灰毛衣停了。

  Day27。壁紙是師弟拍的。實驗室門口的柳樹。

  他低頭看了一眼師兄手機的壁紙。

  柳樹。春天。嫩得冒水的綠。

  繼續。

  第十二個字開始,噪點密度飆升。逆向時間從三十七秒跳到五十四秒。每還原一個字,手機屏幕亮度暗一檔。處理器過熱。

  U+88AB。被。

  U+780D。砍。

  U+4E86。了。

  「跟你說實驗室門口的柳樹被砍了」

  灰毛衣的手從屏幕上挪開。

  擱在膝蓋上。

  看著這行字。

  師兄在一個連自己名字都快忘掉的地方,在遺忘協議一個字一個字吃掉他打出來的文字的時候,想告訴師弟的第一件事是——

  實驗室門口的柳樹被砍了。

  他怎麼知道的。他被困在零號區。看不到地球。看不到學校。看不到那棵柳樹。

  灰毛衣翻看師兄日誌。Day26到Day34之間。銀白色那個來過。坐在操作台邊上。給師兄看了外面的東西。

  它給他看的。

  那個連自己是誰都不記得的存在,記住了一棵柳樹被砍了。

  灰毛衣沒有建文件夾。沒有關屏幕。

  繼續還原。

  ---

  第十六個字之後,內容斷了。噪點顯示有空行——師兄換了一段。

  新段落更吃力。每個字六十到八十秒。反撲頻率從每字一次漲到兩三次。手機屏幕徹底燙黑了一次,灰毛衣等了四十秒才重新啟動。


  逐字還原。

  「食堂三樓關了一個窗口。賣麻辣燙那個。」

  灰毛衣想起來了。食堂三樓靠窗第二個窗口。阿姨姓周。給他打菜從來不抖勺。

  師兄說那是因為周阿姨覺得他瘦。

  「導師退了。上學期。」

  灰毛衣心裡算了一下。如果師兄日誌沒記錯時間,這條消息大概寫在Day30前後。在零號區待了三十天,腦子已經開始碎了。

  但他記得導師。

  「隔壁組的王磊發了nature子刊。摘要寫得很爛。」

  灰毛衣沒忍住。

  嘴角歪了一下。

  一下。然後押回去了。

  王磊的摘要確實一直很爛。師兄每次組會都要吐槽。

  又一段空行。

  還原速度越來越慢。每個字要一分鐘到兩分鐘。手機屏幕裂縫邊緣開始滲熱氣。碎片之間長了一層霧。

  新段落。

  還原到第三個字的時候,灰毛衣右手食指抽了一下。

  不是意識到了什麼。是手先於大腦反應。

  「你的枸杞」——

  手機黑屏。過熱保護。強制關機。

  灰毛衣等了兩分鐘。屏幕亮了一點。開機。裂縫裡的霧散了一半。

  繼續。

  「你的枸杞換牌子了吧。上次視頻的時候看見包裝不一樣。之前那個好。別換。」

  灰毛衣低頭看了一眼保溫杯。

  空的。枸杞泡爛了。吃了。

  品牌確實換過。研二那年。換了個便宜的。

  師兄那時候還沒消失。

  灰毛衣伸手擰開保溫杯蓋。擰了一圈。擰回去。擰了一圈。擰回去。

  蓋子很鬆。密封圈老化了。擰不緊。

  咯吱咯吱。

  他把蓋子擰好。放下。

  繼續。

  ---

  最後一段。

  噪點密度到了峰值。還原第一個字花了三分四十秒。反撲了六次。

  師兄的手機屏幕開始閃——不是故障,是遺忘協議的殘餘在試圖從物理層面關閉顯示。

  灰毛衣用左手拇指死死按住屏幕。

  指紋發熱。碎玻璃的邊緣割進皮里。一點血。滲進裂縫。

  U+6211。我。

  反撲。按住。

  U+8FD8。還。

  反撲。按住。血沿裂縫往下流。

  U+60F3。想。

  「我還想」

  灰毛衣沒有停。

  第四個字。

  U+5403。吃。

  「我還想吃」

  第五個字開始,噪點消失了。

  不是還原成功。

  是那個字符位置上什麼都沒有。空的。

  灰毛衣查了底層數據。字符位置存在。占位符存在。但內容是主動刪除——不是被覆寫的。

  刪除操作的時間戳比周圍所有字符的覆寫時間早了整整四秒。

  師兄先刪了這個字。

  然後遺忘協議才吞掉剩下的。

  主動刪的。

  灰毛衣盯著那個空位。

  「我還想吃____」

  他知道是什麼字。不用還原。不用逆向。不用任何算法。

  Day7——「但想吃酸菜面。想得很具體。連調料包太咸都想起來了。」

  Day45——「密碼用第三樣。」

  4分15秒的口型——「酸菜面。」

  第五個字是「酸」。或者是「面」。或者就是一個逗號後面接著的完整句子。

  不重要。他知道。


  但師兄刪了。

  都要死了。腦子只剩30%了。遺忘協議正在一個字一個字吃掉他打出來的東西。

  他還是停下來,從這條永遠發不出去的消息里,刪掉了最後一個字。

  灰毛衣想了很久。

  然後他明白了。

  「我還想吃」——如果把那個字留著。如果這條消息有一天被師弟看到。

  師弟就會知道,師兄死之前還想吃那碗酸菜面。

  還惦記著。還有遺憾。

  刪掉了。

  「我還想吃」後面是空白。沒有指向。沒有具體的東西。

  變成了一個通用句式。

  我還想吃。

  想吃什麼都行。食堂的。路邊攤的。外賣的。什麼都行。只要還活著的話。

  不是遺憾。

  是祈願。

  刪掉那個字,這句話從「我沒吃到」變成了「你替我吃」。

  灰毛衣把師兄的手機放回左口袋。

  沒鎖屏。草稿還亮著。

  亮著就亮著。費電就費電。

  他拿起自己的手機。打開外賣軟體。搜索欄輸入「酸菜面」。

  沒有網。

  搜索失敗。

  他沒關搜索頁面。

  ---

  通訊軟體退到後台之前,灰毛衣拇指在聊天界面往上劃了一下。

  習慣動作。看有沒有更早的消息漏掉。

  聊天記錄到頂了。最上面一條是他自己發的,時間是三年前的一個周三下午。

  「到了,你在哪」。

  不是師兄的消息。再往上沒了。

  但系統界面最頂部彈出一行小字。灰色。不是聊天內容。

  是系統提示。

  「加載更早的消息(含已清理緩存)」

  灰毛衣點了。

  加載了三秒。

  彈出一條。

  不在聊天列表里。在底層緩存的碎片日誌里。通訊軟體的本地資料庫殘留。

  發送者ID:一串不存在於任何通訊錄、任何伺服器、任何運營商記錄中的號碼。

  號碼長度四十二位。非標準格式。

  發送時間:

  灰毛衣看了三遍。

  他把這個時間戳和許默此前從苗圃總帳中提取的「第零號用戶」登錄時間做了心算比對。

  精確到毫秒。

  一致。

  內容只有一個符號。

  **。**

  句號。

  沒有前文。沒有後文。

  一個句號。

  從一個不存在的號碼,在苗圃總帳尚未創建的時間點,發到了師兄的通訊軟體緩存里。

  像是在所有故事開始之前,有人先寫下了結尾。

  灰毛衣截了圖。存進右口袋手機。加密。沒有命名文件夾。

  把師兄的手機塞回左口袋。

  拍了拍。

  兩個口袋。兩部碎屏。一左一右。

  他站起來。膝蓋彈了一下。蹲太久了,腿麻。踩著碎石走了兩步。

  走到操作台前。

  彎腰。

  回車鍵。灰色底座。小指寬的弧度。

  他按了一下。

  鬆開。

  聲音很輕。塑料鍵帽彈起來的聲音。

  咔噠。

  又按了一下。

  咔噠。

  第三下,手指沒鬆開。按在上面。

  兩秒。

  鬆手。站直。

  保溫杯在地上。他彎腰撿起來。擰開蓋。倒過來。


  空的。連枸杞渣都沒了。

  他把蓋子擰上。夾在腋下。

  碎石在鞋底磕了一聲。

  主控室方向有光。許默還在。裴朵的通訊頻道還亮著。有聲音——很遠的、年輕女生的聲音,在說什麼「後門奶茶店」之類的句子。

  灰毛衣站在零號區的黑暗和主控室的光之間。

  低頭看了一眼左口袋。

  手機的輪廓頂著布料,方方的。屏幕的光隔著褲子面料透出來,是柳樹壁紙的那種綠。

  他抬腳。往光那邊走。

  走了三步。

  回了一下頭。

  操作台上暗著。回車鍵的弧度還在那兒。

  灰毛衣從口袋裡掏出自己的碎屏手機。打開外賣軟體。搜索欄里還掛著「酸菜面」三個字。

  他把搜索記錄截了圖。

  發到「不喝枸杞會死星人」的聊天框裡。

  發送失敗。

  灰色感嘆號。

  他沒有重視。

  把手機塞回右口袋。

  走了。

  ---

  主控室。七號屏。

  許默盯著一條異常數據。

  灰毛衣手機在兩秒前向師兄手機發起了一次本地藍牙連接請求。被拒絕了——師兄手機藍牙模塊硬體已損壞。

  但在連接請求的握手包中,許默捕到一段附加數據。

  是灰毛衣通訊軟體從本機緩存推送的。自動同步。兩部手機第一次物理靠近時的標準行為。

  推送內容:一個截圖文件。9.7KB。

  許默沒有打開。

  他看到了文件名。自動生成的。

  **「酸菜面_搜索截圖_發送失敗.jpg」**

  許默摘下眼鏡。

  沒擦。擱在操作台上。

  閉了一會兒眼。

  他把這條數據的時間戳拎出來,和四十七分鐘前灰毛衣從師兄手機草稿箱讀取到的最後一條消息的修改時間做了比對。

  兩個時間點之間間隔四十七分二十三秒。

  四十七。

  師兄在接口上焊了四十七天。

  許默重新戴上眼鏡。

  他沒有建文件夾。

  他把「酸菜面」三個字寫在七號屏右下角,字號調到最小,顏色改成和背景一樣的黑色。

  看不見。

  但在那兒。

章節目錄