蕭一準備修改鯰魚號船長髮來的星際海盜蜂群控制系統。
在升級到LV4時加強過的處理器頻率和人工智慧演算法的加持之下,蕭一以常人難以實現的速度飛速開發著新的控制系統。
吳樹詢問蕭一更改的方向,究竟要實現怎樣的蜂群控制演算法呢?
蕭一一邊在個人終端上苦思冥想,一邊說:“我們向系統報告的位置必然不能是我們的真實位置,因為必然有一天,我們要和他們翻臉,如果如實上報真實的位置,被順藤摸瓜,就十分不妙了。”
郝天齊卻有自己的顧慮:“可是不如實向蜂群系統彙報自己的位置,飛船要是撞上怎麼辦?”
郝天齊的擔憂是非常正常的,飛船的位置,是蜂群艦隊控制系統中非常重要的引數。
數百艘戰艦匯聚在一起,調整相互之間距離的時候,每個點的位置就是其他飛船的參考,如果彙報的位置不是自己的真實位置,必然會讓編隊混亂不堪,甚至發生不測。
蕭一理解這種擔憂,想到了自己的解決方案:“假設雪橇號所處的空間是一個三階魔方,共二十七塊立體空間,雪橇號就位於魔方的第二層第二行第二列的位置,也就是說,在這個立方體的中間,我會在雪橇號的周圍這個魔方的其他二十六塊空間的位置各新增一條位置座標。我會新增一個隨機數生成器,每一分鐘,向系統報告新的位置座標。”
郝天齊理解蕭一的做法,“你是想讓我們的飛船在蜂群控制系統中看上去像是在二十六個位置上不停閃爍一般麼?”
蕭一很欣喜,郝天齊第一時間想到了這麼做的用意,“是的,這樣,我們飛船在控制系統中,就會有一個經常活動的範圍,這種演算法在設計的時候,為了避免碰撞,一般會設定飛船之間可能的最小距離,我們透過不斷地閃爍自己的位置,實際上會讓我們飛船的這個範圍變得比較大,彙報給系統的位置,雖然永遠不是我們飛船的位置,卻永遠緊鄰我們的真實位置。”
吳樹想了想,張峰則從揹包裡拿出一個魔方,似乎理解了蕭一的想法。
雖然這麼說,但是工程實踐裡還是相對困難的。
蕭一聚精會神地修改位置報告和計算的部分。
高強度的開發工作中,鯰魚號的船長不斷催促,“小行星帶飛船的作業系統都是通用的啊,你們到底缺什麼執行環境?”
儘管雪橇號已經減速了一點點,但是在太空尺度上,這個距離顯然還是太近了。
蕭一沒有理會鯰魚號船長的聒噪。
開發過程非常迅速而順利,蕭一替換了位置報告模組。
在小行星帶星際海盜的群體之中,混入了一艘位置每隔一分鐘就觸發一次閃現的荒誕飛船,更荒誕的是每一個位置都不是飛船真正的位置,而是緊鄰飛船的經過偏置的位置。
就像狼群中,混入了一條不安分的哈士奇。
吳樹起身,看著正忙於開發的蕭一,笑著說,“船長,除了這種位置抖動,你還想要新增什麼功能呢?”
蕭一一邊做著最後的除錯,一邊想著,“我還得預留一個介面出來,在關鍵時刻傳送錯誤的資料包。上次在灶神星軌道上,因為沒有通訊金鑰,我們只能透過在相同頻道傳送海量無意義請求連線的資料包來干擾蜂群網路,星際海盜的人很快就會補上這個漏洞,現在我們已經是這個網路的一部分,我們傳送錯誤資料包就容易多了,只不過現在還來不及開發,先預留一個介面。”
蕭一還要處理一件更重要的事情,就是想辦法繞過蜂群網路的完整性校驗。
蜂群網路在啟動的時候,會校驗控制系統是否經過了未經授權的更改,只有和超過半數的網路成員使用完全相同版本的控制系統的節點,才會被蜂群網路接納。
這是一種高容錯率的方案。
如果想要用篡改過的客戶端接入真個網路,理論上,需要讓這個網路中有超過半數的客戶端使用篡改後的版本。
驗證過程非常麻煩。
蕭一看著驗證客戶端完整性的程式碼部分,深奧的加密演算法讓他非常頭痛。
他想起地球文明古典時代的一句諺語,“大力出奇跡。”
既然要超過半數的節點執行這個篡改過後的版本,那我索性就直接執行很多個節點不就好了?
假設海盜船艦隊中有一百艘海盜船,那雪橇號只要同時執行一百零一個節點,就能取得算力優勢,那麼,蜂群網路的資訊流,就應該以篡改後的節點的資訊為準。