第167章 第193步的崩塌

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

  九月一日,晚上八點零六分。

  江臨結束軍訓,洗完澡回到402室時,研究支持單元轉來的材料已經躺在固定窗口隊列里。

  郵件標題經過了重新編號。

  【A-1/BB5/第一輪復現材料/僅供本地審查】

  附件沒有直接進入電腦。

  附件中包含外部代碼。

  即使代碼公開,也可能訪問不該訪問的文件,或者在異常輸入下長期占用處理器和內存,因此必須放進斷網、限權的隔離環境中復現。

  江臨先核對來源、文件清單、公開decider倉庫的提交記錄,以及內部證書草案的版本清單。

  確認哈希校驗無誤後,他才把壓縮包下載到一塊專門負責外部代碼審查的物理介質里。

  聯網電腦的網線隨即被拔除,無線模塊物理斷電,介質接入旁邊的隔離工作站。

  工作站的屏幕亮起,展露出核心材料的真容。

  三份來自公開倉庫的decider代碼。

  三套包含數千個邊界情況的測試集。

  三份由清華團隊根據現有decider輸出格式整理出來的未公開證書草案。

  以及二十七個已經被原始工具驗證通過,卻在統一草案中暴露出欄位衝突、錯誤拒絕或兼容性問題的邊緣樣例。

  目錄和昨晚建立的三個空項目一一對應。

  【Cyclers_Reproduction】

  【Translated_Cyclers_Reproduction】

  【Backward_Reasoning_Reproduction】

  江臨沒有運行作者提供的一鍵腳本。

  在不可信的環境中運行自動化腳本,無異於把系統底層的控制權交出去。

  他新建虛擬機快照,固定了編譯器版本、底層運行庫和所有第三方依賴,將三個項目的網絡權限從內核層面全部切斷,又為原始代碼目錄設置了只讀掛載。

  每一次編譯產生的中間文件、標準輸出和異常退出記錄,都被定向寫入一個單獨的復現日誌系統。

  第一輪復現很快失敗。

  程序能夠正常完成編譯,首個證書的哈希卻無法與原記錄對齊。

  Cycler項目引用了一個用於證書持久化的序列化庫。原作者環境中保留著舊版本,本地構建腳本卻沒有寫明依賴上限。新版接口改變了欄位的默認編碼順序,同一個證書對象寫入磁碟後,字節表示與原環境不再一致。

  江臨沒有修改源碼,也沒有強行兼容新版編碼,而是根據提交日期回退依賴版本,並在復現日誌中記錄環境差異。

  八點四十三分,第一組樣例完成復現。

  屏幕上出現第一組機器編號和運行記錄。

  【Machine_ID: CY-RP-017】

  【State_Count: 5】

  【Symbol_Count: 2】

  【t1: 186】

  【t2: 254】

  【Configuration_Hash_Match: TRUE】

  江臨沒有因為最後一行綠色的TRUE就輕易接受結果。

  他從空白紙帶重新執行轉移函數,在第186步和第254步分別導出完整有限支撐、讀寫頭位置和內部狀態,再逐項比較。

  兩次配置完全相同。

  從第186步開始,機器落入了一個無可逃脫的陷阱。

  之後六十八步形成了一個封閉的拓撲環。

  圖靈機再次回到與起點毫無二致的配置,它未來的全部演化,只能像推石頭的西西弗斯一樣,機械地重複這段軌跡,直到時間盡頭。

  Cycler證書所需的見證對象很清楚。

  一張確定的包含所有分支的機器轉移表。

  兩個明確的整數時間點。

  兩份通過計算得到的,必須完全一致的機器配置。

  以及從第一份配置執行到第二份配置的,可由獨立程序覆核的確定性運行段。


  江臨把作者提供的四百二十七個普通Cycler樣例,送進自己的模擬器里全部重新跑了一遍。

  四百二十七次測試,全數通過。

  隨後,他開始進行破壞性測試。

  他寫了一個簡易的變異腳本,隨機篡改證書中的時間點、把讀寫頭位置偏移一格、擴大紙帶驗證邊界,甚至僅僅是翻轉了某個非活躍區間的單個符號,從而生成了一大批人為製造的偽造證書。

  核驗器如同無情的閘刀,將這些偽造品逐一拒絕,沒有出現一次漏判。

  十點五十一分,第一份復現記錄撰寫完成。

  【Cyclers_Reproduction / PASS】

  【證書語義:精確配置重複】

  【可信前提:核驗器獨立執行t1至t2之間的全部轉移】

  【異常測試:未發現錯誤接受漏洞】

  江臨保存虛擬機快照,物理切斷隔離工作站的電源。

  當天的固定技術窗口就此結束。

  第二天清晨,他照常去操場。

  軍姿、隊列、正步、休息、補水。

  九月的陽光帶著殘存的暑氣,在塑膠跑道上蒸騰。

  白天的訓練沒有因為昨晚硬碟里那些複雜的拓撲結構發生任何變化。

  關於圖靈機的多維狀態空間、停機與非停機的邊界,全都被他嚴絲合縫地壓在意識的後台,直到晚間窗口重新打開。

  九月二日,晚上八點零九分。

  江臨開始復現Translated Cycler(平移循環)。

  前一晚在審閱立項摘要時,為了讓技術聯絡員快速理解,江臨用了一個通俗的比喻,把Translated Cycler概括成了一枚不斷向遠處滾動的印章。

  印章每翻滾一圈,就在紙帶上留下一個相同的圖案,只是位置更靠右了。

  既然它永遠在向右開拓新的未訪問區域,自然永遠不會停機。

  但現在真正進入代碼級別的復現,他需要檢查的,恰恰是那段科普里最容易被一筆帶過的附加條件。

  印章確實可以不斷向右滾動。

  但它過去留下的那些舊痕跡,那些被遺忘在左側遙遠坐標上的零星符號,真的永遠不會像幽靈一樣,在某次未知的回溯中重新擋住它前進的去路嗎?

  作者提供的專用decider非常謹慎。

  它不會在紙帶上隨便挑選兩個看起來相似的局部圖案就草率判定。

  只在讀寫頭抵達此前從沒到過的新位置時留下記錄,等機器再次向同一方向開出新格子,再把兩次記錄中的讀寫頭位置對齊。

  兩次記錄之間,讀寫頭向後退得最遠有多少格,需要比較的窗口就至少覆蓋多少格。

  只有機器狀態相同、窗口內的圖案能夠平移重合,而且窗口外的舊痕跡不會重新擋住去路,才能把它列為Translated Cycler候選。

  前二十七個基礎樣例全部順利通過。

  但江臨沒有繼續編寫腳本擴大測試數量。

  二十七個綠色的通過記錄,只能證明本地復現環境與原作者的開發環境在依賴和編譯器行為上達成了一致,卻無法證明清華團隊試圖草擬的那套通用證書規則在數學邏輯上是可靠的。

  他把目光投向了那些棘手的邊緣數據。

  不過他沒有先處理那些被統一草案拒絕的樣例,而是從已經被專用核驗器和統一核驗器同時接受的樣例里,抽出了一台處在紙帶邊界附近的機器。

  這台編號為 TC-EDGE-09 的機器,在第912步和第1074步,出現了兩段形狀完全相同的局部紙帶圖案。

  內部狀態一致,讀寫頭的相對偏移量一致,第二段圖案整體向右平移了十一格。

  Translated Cycler原始判定程序將它判定為非停機。

  清華團隊為這類證書編寫的專用核驗器接受了它。

  試圖統合所有規則的統一核驗器也返回了通過。

  一切看起來都很順利。

  江臨敲擊鍵盤,調用可視化工具,把兩次機器配置從局部窗口,直接展開到了整條紙帶的全局視野。


  第912步,在被標記為有效的窗口左側,距離三十七格的地方,安靜地躺著一個孤立的數字1。

  那是機器在極早期的運行階段,向左側無序遊蕩時留下的廢棄物。

  在此後的七百多步里,讀寫頭一路向右狂奔,再也沒有回頭訪問過這個坐標。

  到了第1074步,那個孤立的1依然停留在原先的絕對坐標上。主體圖案向右平移了十一格,窗口內部的0和1完全一致,整條紙帶卻沒有發生嚴格的整體平移。

  這台機器仍然可以被正確判定為Translated Cycler。

  原始專用decider並不需要預測機器的無限未來。它只在讀寫頭抵達此前從未訪問過的最右位置時留下記錄,然後等待機器再次向右開出新格子。

  兩次記錄之間,讀寫頭向左退得最遠有多少格,專用decider就把比較窗口至少向左擴展多少格。隨後,它將兩次記錄中的讀寫頭位置對齊,檢查機器狀態是否相同、窗口內的圖案能否在平移後完全重合。

  如果這些條件全部成立,確定性的轉移規則就會讓下一段運行按照同樣的方式整體向右平移。不斷重複這一結論,便能證明機器只會繼續開闢新的格子,不會重新退回窗口之外的孤立符號。

  專用核驗器之所以接受這台機器,是因為它會獨立重放兩次記錄之間的運行段,重新計算最大回退距離,並檢查比較窗口是否真正覆蓋了所有可能重新參與演化的內容。

  但在試圖追求通用性的統一核驗器代碼里,江臨沒有找到這段防禦性的檢查邏輯。

  為了讓普通的Cycler和複雜的Translated Cycler能夠共享同一套精簡的數據結構,草案的設計者做了一個大膽的架構妥協。

  他們把窗口之外的舊痕跡以後絕對不會重新參與演化這個極其複雜的動態驗證過程,強行壓縮成了一個由證書生成端自己填寫的布爾類型欄位。

  【Isolated_Window: TRUE】

  對於眼前的這台 TC-EDGE-09 機器來說,這個布爾值在物理事實上恰好是真的。

  它確實不會回頭。

  統一核驗器雖然放棄了親自驗證,但因為它碰巧讀到了一個誠實的聲明,所以碰巧得到了正確的結果。

  江臨的眼神冷了下來。

  一個被設計用來進行最終形式化裁決的核驗系統,它的權威性不能建立在證書生成端碰巧說實話的脆弱基礎上。

  如果在法庭上,法官只憑嫌疑人自己出具的一紙無罪聲明就直接落槌,那這套審判系統本身就是最大的安全漏洞。

  江臨在復現日誌的頂端,敲下第一條被標紅的阻塞項聲明。

  【Blocker-01:Translated Cycler證書缺少可獨立核驗的窗口隔離見證。】

  【技術細節:專用核驗器會獨立重放兩次記錄之間的運行段,並校驗最大回退範圍;統一核驗器則只讀取Isolated_Window欄位。】

  【結論:當前邊緣樣例雖判定正確,但該流程存在根本性邏輯斷裂,無法證明統一核驗系統具備抗偽造能力。】

  寫完阻塞項,他隨後複製了那份邊緣樣例,準備進行一項在系統驗證領域極具攻擊性的操作——構造惡意的邏輯炸彈。

  原始的圖靈機規則、原始的生成證書、原始的通過判定全部保留,作為比對的基準對照組。

  在複製出來的新沙盒裡,江臨像個精密的外科醫生,拆開機器的轉移函數表。

  改寫了其中一條罕見觸發的分支規則,強行修改了讀寫頭的轉向。

  這台被改造過的機器,依然會在早期運行中把一個1拋棄在有效窗口之外數十格的地方,也依然會規規矩矩地完成兩次相隔上百步的局部圖案平移,生成一份看似無懈可擊的平移證明。

  但是,在這兩次平移完成、騙過比對邏輯之後,江臨植入的暗門被觸發了。

  機器的狀態陷入了一個冗長的折返循環,讀寫頭開始緩慢而堅決地向左側倒退。

  對應的惡意證書依然只提交那段表現良好的局部快照,並在隔離聲明欄位里,堂而皇之地填上了代表安全的真值。

  【Isolated_Window: TRUE】

  機器的靜態描述哈希、窗口內部的運行軌跡追蹤、以及局部的配置快照哈希,全都順利通過了統一核驗器的重重重算。


  唯一沒有被核驗器獨立沙箱驗證的,依然是那個問題。

  窗口之外的符號,到底能不能重新侵入讀寫頭的路徑?

  原版專用核驗器重新執行證書對應的運行段,發現讀寫頭的最大回退範圍越過了證書聲明的隔離邊界,因此拒絕了這份證書。

  然而,清華團隊主推的現有統一核驗器,毫無防備地讀取了那個虛假的布爾值,跳過了邊界檢查。

  屏幕上,一行刺眼的綠色字符跳了出來。

  【Certificate Valid(證書有效)】

  江臨盯著這行違和的綠色字體看了一會兒,調出自己編寫的底層模擬器,將這台被篡改的機器置於空白紙帶上,讓它在沒有環境干預的情況下自然演化。

  時間流逝。

  終端上的步數計數器瘋狂跳動。

  第6841步,向左折返的讀寫頭越過證書聲稱不會回訪的邊界,碰到了窗口之外那個孤立的1。

  局部平移結構隨即被破壞。機器沿著新觸發的轉移繼續執行,進入停機狀態。

  而就在幾分鐘前,代表著最高審查標準的統一核驗器,剛剛莊嚴地接受了一份證明這台機器永遠不會停機的法定證書。

  江臨面無表情地敲擊回車,把測試環境完全重置,清空所有緩存,再次運行整個流程。

  結果沒有任何改變。

  綠色的有效聲明,與最終的停機事實,構成了極其諷刺的對比。

  這次漏洞,錯誤不在挖掘出這台機器的原始decider,也不在於那個勤勤懇懇做邊界檢查的Translated Cycler專用核驗器。

  它完全且只存在於那份雄心勃勃,試圖用一套簡潔結構容納三類複雜數學證明的統一草案之中。

  原樣例里的隔離聲明確實是真的,偽造證書里的同一聲明卻是徹頭徹尾的謊言。

  統一核驗器讀取了這個決定生死的欄位,卻主動切斷了分辨真偽的神經。

  一個試圖用形式化工具縮小可信邊界、消除人類干預的系統,在最底層的架構設計上,反而把最核心的判斷權,原封不動地交回了根本不受信任的證書生成端。

  晚上十點五十六分。

  江臨沒有繼續去修改草案的驗證代碼。

  在確認了架構上的邏輯斷裂後,修補幾行代碼沒有任何意義。

  他保存了那份惡意偽造的失敗證書,長達6841步的完整運行軌跡,統一核驗器被欺騙後的接受日誌,以及最終停機配置、完整紙帶快照與運行軌跡,生成了一個獨立的隔離復現包。

  【TC_False_Accept_Case_01】

  但這還遠遠稱不上是一個優雅的最小反例。

  當前的測試對象依然保留了太多原始機器複雜的轉移結構,需要運行足足六千多步,狀態空間膨脹到難以肉眼追蹤,才會暴露出核心衝突。

  這種龐大且混亂的用例,對於需要進行人工邏輯覆核的研究員來說,無異於在垃圾堆里找線索,說服力大打折扣。

  江臨移動滑鼠,把任務看板上的狀態從【漏洞確認】改成了【反例壓縮】。

  十一點,固定窗口關閉。

  江臨保存所有進度,安靜地合上電腦。

  第三天晚上,江臨依然沒有去碰第三個項目 Backward Reasoning(反向推理)。

  他調出了昨晚那台錯誤接受的測試對象,開始進行枯燥卻需要邏輯直覺的剪枝工作。

  他要在不破壞底層漏洞邏輯的前提下,逐項刪除機器多餘的狀態節點和轉移路徑。

  首先,他嘗試將五個狀態節點壓縮成四個。

  刪去一個輔助跳轉狀態,重新路由相關的轉移指令。

  重新運行統一核驗器,依然被欺騙接受。

  運行模擬器,機器依然在數千步後停機。

  錯誤路徑存活。

  接著,他盯上了轉移表里一條只有在機器剛啟動,向左遊蕩那幾十步里才會被觸發的冗餘支路。

  手起刀落,將分支抹平。

  重新測試,錯誤仍然存在。


  隨後,他開始挑戰物理空間的極限。

  那台機器把炸彈符號扔在了距離主體圖案三十七格遠的地方。

  這太遠了。

  江臨調整了寫入邏輯,讓機器剛走出去九格,就把那個1留在原地,然後立刻掉頭開始構築偽造的平移結構。

  統一核驗器依然對九格之外的隱患視而不見,盲目接受。

  而原本要熬到第6841步才會暴露的衝突,因為物理距離的縮短,被極大地提前到了第193步。

  江臨看著轉移表,試圖進行最後一次極限壓縮。

  他試圖再刪掉一個狀態節點,讓機器變成三狀態。

  但這一次,數學的剛性顯現了。

  在當前構造中,再刪一個狀態便無法同時保留局部平移和延遲回訪。

  江臨毫不猶豫地撤銷更改,退回到上一個四狀態版本。

  壓縮後的樣例只保留四個狀態、七條有效轉移、一個位於窗口外九格的符號,以及兩次相隔26步的偽平移配置。

  統一核驗器在不到一秒內接受了證書。完整模擬運行到第193步時,讀寫頭重新碰到窗口外的符號,機器隨即停機。

  而將其放入底層模擬器,僅僅在運行到第193步時,讀寫頭便撞上了那個遺留的符號,機器宣告停機。

  【TC_False_Accept_Case_01 / COMPRESSED】

  【Verifier_Result: ACCEPT】

  【Ground_Truth: HALT_AT_193】

  【Root_Cause: Unverified_Isolation_Claim(未核驗的隔離聲明)】

  江臨連接了宿舍里的小型印表機,伴隨著輕微的機械運作聲,把這份濃縮了整個驗證漏洞的完整反例列印到了兩張A4紙上。

  第一張,是清清爽爽的四狀態轉移表,以及前兩百步紙帶演化的關鍵幀圖解。

  第二張,是統一核驗器從讀取惡意證書、跳過邊界檢查,一路狂奔到返回接受結果的底層系統調用路徑。

  這晚,江臨並沒有急於把這份足以推翻現有草案的反例發出去。

  他需要確保溝通的絕對清晰。

  於是把轉移表、錯誤接受路徑和基於底層邏輯的根因說明,用精煉的語言壓成了一頁只有核心事實的覆核摘要。

  九月四日,晚上七點四十六分。

  門外傳來一陣隨意的敲門聲。

  江臨看了一眼時間,按下快捷鍵,內部證書草案、復現報告和帶有項目標識的目錄同時鎖定。

  隔離工作站上只留下公開decider代碼、他自己構造的四狀態測試機,以及一組去掉了所有來源環境信息,純粹展現底層推演的運行結果。

  確認屏幕上不再有任何敏感信息後,江臨起身打開了門。

  趙承宇站在最前面,手裡拎著烤冷麵和小酥肉

  顧明澈稍微靠後,手裡提著一袋水珠未乾的紫黑葡萄。

  林一舟則抱著一盒切好的冰鎮西瓜。

  趙承宇往上抬了抬手裡的塑膠袋:「剛才在紫荊園碰上了,尋思著順路過來看看你在不在。」

  這是開學以來,三個人第一次真正踏進402室。

  江臨沒有多說什麼,轉身從鞋櫃裡取出三雙尚未拆封的塑料拖鞋撕開包裝,又彎腰把摺疊凳和床鋪邊緣的軟墊拉出來,騰出足夠坐下的空間。

  趙承宇很快占住床沿。

  顧明澈坐到相對板正的摺疊凳上,把葡萄放到桌子中間。

  林一舟拖過另一把靠背椅,坐下時,位置不由自主地離江臨那台散發著微光的工作站稍近了一些。

  烤冷麵濃郁的醬汁味、小酥肉的油炸香氣,很快和西瓜清冷的甜味混雜在一起,充滿了市井煙火氣。

  最初的十幾分鐘,幾個人邊吃邊談,話題自然而然地圍繞著白天枯燥的軍訓打轉。

  哪個教官計時格外嚴格,哪支連隊休息時多唱了兩首歌,明天會不會下雨,紫荊園三樓的牛肉麵究竟值不值得排隊。

  江臨坐回工作檯前,一邊聽他們說話,一邊重新運行四狀態測試機。


  帶有內部標識的材料仍處於鎖定狀態,屏幕上展示的只有公開原理和不對應任何真實未決機器的人造反例。

  七點五十九分,林一舟先注意到終端里的三個目錄。

  【Cyclers_Reproduction】

  【Translated_Cyclers_Reproduction】

  【Backward_Reasoning_Reproduction】

  「Busy Beaver,繁忙海狸問題?」林一舟推了一下眼鏡,聲音裡帶著一絲意外。

  「嗯。」江臨應了一聲。

  得到肯定答覆的林一舟拿西瓜的動作慢了半拍。

  信息學競賽國家集訓隊不會要求選手求出BB(5),那不現實,卻足以讓他知道這個名字的分量。

  那是計算理論邊界上最著名的難題之一。

  由於不存在一套能夠判斷所有程序是否停機的萬能方法,研究者只能把五狀態機器分成一類又一類,再為每一類尋找可以覆核的排除證據。

  屏幕上的三個Reproduction目錄,也就不再像普通開源項目的測試文件。

  江臨正在檢查的,是數以百萬計的判定結果憑什麼能夠被人相信。

  顧明澈順著林一舟的目光看過去,注意到了終端右側不斷滾動的紙帶運行軌跡。

  「你在判斷這個小程序會不會停機?」

  「更準確地說,我在審查一份試圖證明它永遠不會停機的邏輯證書。」江臨解釋道。

  趙承宇從烤冷麵的盒子裡抬起頭,遠遠看了一眼滿屏的0、1、L、R,無語道:「能用人話說說嗎,這堆零和一到底在幹嘛?」

  江臨伸出手,指向屏幕左側那個正在解析配置文件的進程。

  「有人交來一份形式化的證明,聲稱這台機器會像一枚滾動的印章一樣,在紙帶上永遠向右側複製相同的圖案,永遠不會觸及停止狀態。」

  接著,他的手指平移,指向右側那個正在瘋狂增加步數的完整模擬界面。

  「左邊這個被隔離的小程序,負責用一套既定的規則去審查這份證明是否合法。而右邊,是從一條絕對空白的紙帶開始,不加任何假設,讓這台機器真正地一步步往下運行。」

  「所以,理論上兩邊應該得出完全相同的一個結論?」趙承宇咽下食物,抓住了核心邏輯。

  「對。」江臨的回答乾脆利落。

  解釋到這個深度,對於非專業領域的聽眾來說已經足夠。

  趙承宇繼續吃烤冷麵,顧明澈翻看書院剛發下來的通知,林一舟偶爾抬頭看一眼屏幕右側那台機器依然在不斷攀升的運行步數。

  林一舟是姚班這一屆的新生,同樣也是信息學奧林匹克競賽國家集訓隊出身。

  他的知識儲備足以讓他一眼看懂轉移表的結構和當前的測試框架。

  在過去數年的信競生涯中,他也曾無數次為了卡掉別人寫錯的算法,而絞盡腦汁構造各種極端的邊界數據。

  但Translated Cycler這種涉及平移後的配置重複、窗口隔離條件證明的前沿理論,究竟需要建立何種嚴密的形式化邊界條件,已經超出了他憑藉直覺就能直接判斷的範疇。

  他唯一能夠確認的是,在那個終端界面上,測試機的每一次微小改動、甚至只是修改了一個狀態的分支走向,都被嚴謹地打上了獨立的版本號。

  機器描述的哈希值、運行軌跡的內存快照、局部圖案的二進位比對結果,甚至最終停機那一刻的內部狀態、讀寫頭位置和紙帶內容,全都被分門別類地保存著。

  這意味著任何一個看似偶然的結果,都可以隨時從那條代表著起點的空白紙帶上,分毫不差地重新推演出來。

  這是標準的、帶有防禦性質的工程驗證級開發。

  八點零七分。

  安靜運行的屏幕左側,審查進程率先結束,亮起了一行顯眼的綠色結果。

  【Certificate Valid】

  然而,屏幕右側的完整模擬並沒有因此停止,依然在執拗地向前推進。

  第190步,第191步,第192步,第193步。


  右側的終端突然卡頓了一下,隨後彈出鮮紅的提示。

  【HALT】

  趙承宇把正準備夾起最後一塊小酥肉的筷子硬生生地停在打包盒上方,眼神在左右兩個窗口間來回切換。

  「等等,左邊剛才不是說那份證明有效,這機器不會停嗎,右邊這怎麼直接停機了?」

  「因為這份證書遺漏了一個致命的前置條件。」江臨的聲音沒有絲毫起伏,像是在宣讀一份物理實驗的觀測數據,「它只向核驗器展示了讀寫頭附近那段平移得很工整的圖案,卻無法用邏輯證明,那些被它拋棄在窗口外面的舊痕跡,以後永遠不會重新擋住它的路。」

  顧明澈放下手機,看著並排停住,結論卻截然相反的兩個終端界面,若有所思:「你的意思是,這台機器後來走回頭路了?」

  「準確地說,是在第193步。」江臨調出那一瞬間的紙帶快照,「它越過了證書里信誓旦旦聲稱絕對不會回訪的物理邊界,碰到了早期運行時刻意留在外面的一顆地雷——一個孤立的數字1,整個平移結構瞬間崩潰。」

  「那是原來的那個判定程序寫錯了?」顧明澈追問。

  「原始專用decider會重放有限運行段,並重新檢查最大回退範圍。」

  江臨指尖在鍵盤上划過,把去掉來源信息的兩個運行結果和紙帶快照並排放大。

  「缺少這個安全條件的,是後來有人試圖強行揉捏出來的一份統一證書草案。這台機器本該被拒絕,但新草案為了兼容性開了後門,被我構造的數據騙過了。原有的那些數學分類證明,暫時不受這個反例的影響。」

  林一舟沒有參與討論,他的視線正定在屏幕角落裡的版本演進摘要上。

  【Initial_Case:5 States/Halt at 6841(初始案例:5狀態 / 6841步停機)】

  【Compressed_Case:4 States/Halt at 193(壓縮案例:4狀態 / 193步停機)】

  「你最初找到的那個漏洞模型,要一直跑到六千八百四十一步才暴露出錯誤?」林一舟突然開口,聲音有些低沉。

  「對。」

  「然後你把這個反例壓縮到了只要193步就能暴露?」

  「只有把狀態壓減到四狀態,兩張A4紙就能列出完整轉移表、關鍵紙帶快照和錯誤接受路徑。」江臨看了一眼桌面上那兩頁紙,「排除了所有干擾項,別人在做人工覆核時才不會被多餘的邏輯分支轉移注意力。」

  林一舟看了一眼桌邊列印出來的四狀態轉移表。

  在信息學競賽里,找到一組讓程序答錯的數據並不算結束。

  真正能夠直接刺穿底層邏輯的反例,應當刪除所有無關結構,讓錯誤只指向一個明確的邊界條件。

  而眼前這台被江臨親手捏造出來的機器,還要滿足遠比競賽苛刻得多的理論要求。

  它必須在極小的狀態空間內,表現出完美的局部圖案平移,必須能讓機器哈希和運行段校驗順利通過核驗器的審查,最後,還要極其精確地沿著那條被核驗器遺漏的路徑,在第193步重新碰到窗口外的舊符號,並沿新觸發的轉移進入停機狀態。

  在這個逼仄的四狀態空間裡,江臨哪怕多刪一條轉移規則,反例就會灰飛煙滅。

  少刪一條,人工覆核的代碼量就會成倍增加。

  要在圖靈機的確定性運行軌跡上,精準地找出這條狹窄到令人窒息的縫隙,並且始終維持著局部平移的偽裝……

  這不僅需要深厚的數學功底,更需要不帶任何情緒的工程直覺。

  林一舟沒有再多問任何關於Translated Cycler細節的問題。

  因為他知道,眼前這台冰冷的四狀態機器本身,就是最高效也最具壓迫感的回答。

  顧明澈看了看江臨的背影,問:「所以,你這幾天都在做這個?」

  江臨點點頭:「第一種循環已經復現完成,第二種的統一證書層被這個反例卡住了流程,至於第三種反向推理,環境還沒搭建好,還沒開始。」

  顧明澈能夠聽懂的技術細節有限,卻聽懂了三個狀態之間的重量。

  一個已經完成獨立復現,一個被江臨用反例卡住,剩下一個仍在等待處理。對他們而言,繁忙海狸還是計算理論中一個遙遠而著名的難題;到了江臨手裡,它已經被拆成能夠編號、復現、否決和繼續推進的具體工作項。


  更讓顧明澈在意的是,江臨談到那份錯誤證書時,語氣里沒有發現大漏洞後的興奮。

  他先劃清原始decider不受影響,再說明出問題的只是統一證書層。

  找到錯誤之後還能壓住結論邊界,這件事本身比屏幕上的【HALT】更難。

  趙承宇低頭看了看面前還剩半盒的烤冷麵,又抬頭看了看那台造價不菲的工作站屏幕上刺目的【HALT】。

  微妙的荒謬感湧上心頭。

  他們三個人今晚只是因為剛經歷了苦哈哈的軍訓,窮極無聊,帶著水果和夜宵過來串個門,聊的都是哪個教官更嚴厲,食堂哪個窗口的大媽手抖得沒那麼厲害這種雞毛蒜皮的閒天。

  但是,就在距離他手裡這個廉價塑料打包盒不到兩米遠的地方,一份試圖在數學界統合三類複雜非停機證明的前沿技術路線,已經被屏幕上這台剛剛跑完一百九十三步的粗糙小程序,硬生生地截停在了半空中。

  屏幕上代表有效和停機的矛盾結果,誰都能看得懂。

  但至於這個矛盾在更深層次的形式化證明上為什麼會成立,這個漏洞的影響範圍應該劃到多遠,清華團隊下一版的系統核驗架構又該怎樣重構,這依然不是他們三個才剛剛穿上迷彩服的大一新生能夠接手探討的問題。

  九點零七分,幾個人意興闌珊地開始收拾桌面。

  吃空的紙盒被整齊地裝回塑膠袋系好死結,剩下的葡萄和西瓜重新蓋上保鮮膜放進冰箱,喝空的飲料瓶被統一放在門後的垃圾桶里。

  趙承宇換回自己鞋子的時候,沒忍住又回頭看了一眼那個黑底白字的終端屏幕:「說真的,本來只是打算來串個門聊聊天,怎麼吃頓烤冷麵的功夫,還撞上停機問題了?」

  「是非停機證明的安全核驗問題。」林一舟在一旁嚴謹地糾正了他的說辭。

  趙承宇擺了擺手,推開門:「行吧行吧,他今年都已經搞出了江氏磚,搞定了PFR猜想,再解決一個非停機證明的安全核驗問題,也是非常符合邏輯的。」

  三個人魚貫而出,離開了402。

  房門咔噠一聲關上。

  宿舍里重新恢復了寂靜,只有小酥肉的油膩味和西瓜的甜香還殘留在空氣中,證明剛剛有幾位年輕人帶著大學生的鮮活氣息來過。

  江臨重新坐回工作檯,按下解鎖快捷鍵。

  內部證書草案與那份長達數頁的完整復現報告,重新在屏幕上鋪展開來。

  閒聊結束了。

  現在,真正需要白紙黑字寫進正式報告的技術邊界,被重新冷酷地攤開在無影燈下。

  Cycler的證明邏輯極其簡單,提交的只是兩份完全相同的全局機器配置,以及連接這兩份配置的確定性正向運行段。

  Translated Cycler的邏輯發生了跳躍,除了要證明局部圖案發生平移,還必須用強有力的邏輯外殼,證明窗口外部的未知內容絕對不會像幽靈一樣重新進入演化區域。

  而尚未開始復現的Backward Reasoning(反向推理),其數學邏輯更加晦澀。

  它提交的不再是正向的演化,而是通過回溯,去證明某個特定的狀態集合是一個不可達的反向孤島,或者提供一個能夠證明這個孤島完全閉合的有限見證。

  三類證據可以共享機器描述、空白紙帶初始條件和單步轉移語義,也可以被裝進同一個外層證書容器。

  真正不能強行合併的,是各自特有的見證結構與核驗規則。Cycler需要重放完整配置之間的運行段;Translated Cycler需要額外檢查平移窗口與最大回退範圍;Backward Reasoning則需要驗證反向不可達集合的閉合條件。

  當前草案的問題,正是把這些不同的證明義務壓縮成了幾項由證書生成端自行填寫的布爾欄位。

  江臨在接口草案頂部劃掉原目標。

  【目標:統一三類非停機證書的數據結構。】

  改為——

  【目標:統一機器語義與可信核邊界;允許不同證明規則提交各自的見證結構。】

  公共部分暫時保留五項。

  【機器描述哈希】

  【空白紙帶初始條件】

  【單步轉移語義】


  【證書類型標籤與核驗規則分派】

  【核驗結果、失敗步驟與復現軌跡】

  這個調整沒有否定共享核驗內核的可行性。需要停止的,是讓當前統一證書草案直接承擔最終裁決的路線。

  如果繼續沿用舊草案,即使後續所有測試樣例都顯示綠色,也無法排除核驗器只是相信了證書生成端自行填寫的錯誤聲明。

  十點二十四分,江臨在鍵盤上敲下最後一個句號,完成了第一份針對草案的正式回傳材料。

  附件文件非常克制,只有四頁。

  【第1頁:經過極限縮減後的四狀態反例轉移表】

  【第2頁:利用漏洞生成的偽平移證書原始數據】

  【第3頁:統一核驗器因未執行方向檢查而導致錯誤接受的底層調用路徑追蹤】

  【第4頁:底層架構修改建議與系統安全影響邊界】

  影響邊界的部分,被他用粗體字單獨標出。

  【該反例僅針對統一草案的架構安全。它不影響普通Cycler、Translated Cycler與Backward Reasoning原始專用decider已經獨立完成的機器的判定結果。】

  【該反例只針對統一證書草案,不影響三類原始專用decider及其既有分類結果。】

  【在窗口隔離見證、完整的數學支撐,或邏輯等價的替代條件被正式編寫進可信核代碼以前,嚴禁使用該草案生成任何具有約束力的形式化結論。】

  江臨沒有在郵件末尾附上一套看似圓滿的全新完整方案。

  因為他是個純粹的技術現實主義者。

  第三項Backward Reasoning的反向不可達邏輯尚未開始復現,這套經過重構的統一可信核究竟能不能安全容納那種詭異的反向證明結構,還沒有經過任何髒數據的實戰測試。

  如果在缺乏驗證閉環的此刻,貿然提交一個僅憑腦補設計出來的所謂新架構,那只不過是用一個未經驗證的黑色盲盒,去替換掉另一個已經破底的黑色盲盒。

  他只在文檔的最後一頁,用代碼塊畫下了一個粗糙卻邊界清晰的下一階段拓撲草圖。

  【Shared Kernel(共享可信核)】

  ├── 【Machine Semantics(底層機器語義)】

  ├── 【Exact Cycle Rule(精確循環核驗規則)】

  ├── 【Translated Cycle Rule(平移循環核驗規則 - 需補充隔離驗證)】

  ├── 【Backward Unreachability Rule(反向不可達核驗規則 - 待定)】

  └── 【Failure Trace(異常回溯記錄)】

  十點三十一分,這封帶著反例的郵件通過研究支持單元,正式轉發回清華。

  九月五日,上午九點十七分,對方的團隊在他們的伺服器上完成了對這份四狀態反例的獨立復現。

  回復仍然先進入三樓的研究支持單元。

  技術聯絡員快速核對了一遍附件和那四頁刺眼的影響說明,立刻將郵件的優先級標紅,打上【A-1/原問題直接反饋】的標籤,安靜地放入江臨的信箱,等待著今晚窗口期的開啟。

  晚上八點整,剛從操場上帶著一身疲憊回來的江臨,點開回信。

  ……

  【反例已由我方獨立沙箱復現成功。】

  【測試記錄顯示,統一核驗器在該惡意樣例上發生嚴重錯誤接受,完整模擬實測於第193步發生停機。】

  【根因完全確認:統一草案底層架構存在信任漏洞,錯誤信任了未受保護的 Isolated_Window 欄位。原專用 Translated Cycler decider 中核心的方向性邊界檢查算法,在整合過程中未被有效遷移。】

  【處置方案:當前版本的統一草案已在內部倉庫緊急撤回。三類原始decider的運行不受影響,既有的圖靈機分類結果依然安全。】

  在嚴謹的技術確認之後,郵件的末尾,多出了一項字斟句酌的新請求。

  【經組內緊急討論,若您在後續日程中順利完成對Backward Reasoning(反向推理)的復現與壓力測試,希望能邀請您繼續深度參與並審查我們依據您的建議所重構的共享機器語義、分離證明規則的可信核新方案。】


  ……

  江臨看完,把這封確認郵件歸檔入BB(5)的本地項目日誌中。

  右側的狀態看板隨之發生了一次重大的變動。

  【Cyclers_Reproduction / PASS】

  【Translated_Cyclers_Reproduction/CERTIFICATE_LAYER_BLOCKED(證書層受阻)】

  【Backward_Reasoning_Reproduction/PENDING(待處理)】

  【Unified_Certificate_Schema/WITHDRAWN(統一草案/已撤回)】

  【Shared_Verification_Kernel/FEASIBILITY_RETAINED(共享核/保留可行性)】

  屏幕右上角,代表BB(5)探索進度的總計數值沒有發生變化。

  資料庫里也沒有多出一台被重新歸類的機器。

  但在繁忙海狸問題中,進度從來不只意味著又排除了一台機器。

  最終答案建立在一條漫長的排除鏈上。

  每一台被判定為永不停機的機器,都必須有能夠經受獨立覆核的理由。

  任何一個核驗器只要錯誤接受過一份證書,它便失去了繼續替其他結論擔保的資格。此後經它放行的每一項結果,都必須重新接受審查。

  江臨構造的四狀態反例,第一次運行只用了不到一秒。

  它沒有改變BB(5)的已決數量,卻讓一份準備承擔最終核驗責任的統一草案從【候選】變成了【撤回】。

  對方必須停止原有路線,重新劃分可信核,把窗口隔離、最大回退範圍和不同證明規則各自需要承擔的義務,真正寫進能夠被獨立檢查的代碼。

  如果這個漏洞晚一些被發現,未來通過統一草案生成的形式化結果,都可能建立在一句未經驗證的窗口已經隔離之上。

  屆時需要推倒重查的,將不再是一份四頁報告,而可能是一整條已經延伸出去的證明鏈。

  從這一晚開始,任何人想把一台機器送進已證明永不停機的集合,都不能再遞上一句聲明。

  他必須帶來證據。

  可以說,江臨雖然沒有替BB(5)增加一台已決機器,但他替那個最終答案,守住了必須是真的這道門。

章節目錄