第37話:泥沼のデバッグ
あの夜、地下研究所で守護者から世界の真実を告げられてから、一ヶ月が経った。
【58:14:33:02】
残り五十八日。
残り時間が二桁に落ちると、現実味が変わる。
百日の猶予と五十日の猶予は、数字上は倍だが、体感は十倍違う。
「レイン君。案31、不適合です」
「……やっぱりか」
禁書庫。
僕とミオの前には、羊皮紙が山のように積まれていた。
研究所から持ち帰ったデータの解析結果。
その全てに、赤い×が書き込まれている。
案1:聖女プログラムのアンインストール → 盟約に組み込まれた依存関係が深すぎて分離不可
案7:マナフィールド共鳴(案47の原型)→ 泉が足りない。時間が足りない
案12:盟約の処理負荷軽減 → 効率化しても消費量が供給を上回る
案18:聖女の代わりに別のエネルギー源を投入 → リナと同等の魔力密度を持つ存在が他にいない
案23:盟約の部分停止 → 停止した瞬間に連鎖崩壊が発生
案31:世界の縮退→ 人口八千万人を維持するには現行規模が最低ライン
三十一個。
三十一の可能性を潰して、有効な解は一つも見つかっていない。
「……次は案32。盟約のバージョンダウン。八百年前の初期仕様に巻き戻して、聖女方式が追加される前の状態に復元する」
「しかし、初期仕様では十二の泉が必要です。泉がない以上——」
「分かってる。それでも検証はする」
僕はコーヒーを流し込み、計算を再開した。
計算するたびに絶望が深まる。
だが、検証せずに捨てた案が実は正解だった、という最悪のケースだけは避けなければならない。
これはエンジニアの矜持だ。
どんなに無駄に見えても、全てのブランチを走査する。
見落としは許されない。
◇
「レイン。あなた、また授業をサボったでしょう」
食堂で遅い昼食を取っていると、エララが険しい顔で近づいてきた。
「……ちょっと調べ物してた」
「ちょっと? 三日間、教室に来てないの。担任が心配してるわ」
「エララ、今はそれどころじゃ——」
「それどころじゃない、は分かってる。でもね」
エララが声を落とした。
「あなたが目立つ行動を取れば、教会の目がこっちに向くのよ。特に今は……監査が控えてるの」
正論だ。
僕が禁書庫に籠もっている間、エララは表側で防壁を張ってくれている。
公爵家の権限を使い、教会の監査範囲を限定させ、リナの所属クラスを検査リストの末尾に回す。
彼女なりの戦い方だ。
「……悪い。明日からちゃんと出る」
「当然よ。……それと、これ」
エララが書類の束を差し出した。
「公爵家の書庫から見つけた、研究所の古い設計図よ。父様の許可は取ったわ。『学術研究用』って名目で」
「エララ……」
「勘違いしないで。これは貸し出しよ。利息付きの」
彼女はぷいと顔を背けたが、差し出した手は震えていなかった。
最初に鍵を渡してくれた時と比べて、覚悟が決まっている。
◇
夜。
エララから受け取った設計図を広げた瞬間、僕は目を疑った。
「ミオ、これを見ろ」
「……これは」
「研究所の最深部の図面だ。僕たちが入ったのは外層だけだ。この奥に、もう一つの部屋がある」
設計図には、僕たちが到達したフロア――守護者と対話した場所――のさらに下に、別の空間が記されていた。
注記には古代文字で「管理者専用区画」と書かれている。
「前回の侵入では外層の情報しか手に入らなかった。だが、この最深部(管理者専用区画)には、盟約の完全なソースコードがあるかもしれない」
「アクセスするには?」
「管理者権限が必要だ。……つまり、守護者の許可か、現管理者——ヴァイスの権限か」
ヴァイス。
あの男は、この構造を知っているはずだ。
管理者として、最深部へのアクセス権を持っている。
「もう一度、研究所に入るしかない。今度は最深部まで」
僕の言葉に、ミオは難しそうな顔をした。
「……現在、旧市街の遺跡周辺は教会の監査特命部が張っています。先日私たちが侵入した形跡を警戒しているのでしょう。私一人ならともかく、全員で強行突破すれば完全に包囲されます」
「ああ、分かってる。だから『陽動作戦(DDoS)』を仕掛ける」
「時期は?」
「……教会の監査と学年末式典が重なる時期だ。学園と王都中がお祭り騒ぎになる。その混乱に乗じてサーバー(警備)を落とす。そこしかチャンスはない」
僕はペンを取り、新しい羊皮紙に書き始めた。
作戦計画。
学年末式典当日の混乱を利用して、研究所の最深部に侵入する。
そこで盟約の全貌を把握し、最後の一手を打つ。
案32の検証は失敗に終わった。
だが、最深部への道筋が見えた。
まだ終わりじゃない。
盟約のデバッグは続く。
答えが見つかるまで、何百回でも。
【今節の専門用語解説】
・ブランチ走査(Branch Search)
プログラムの実行経路(分岐)を全て調べ上げること。レインが31通りの代替案を一つずつ検証しているのは、可能性のある全ての分岐を潰してから次に進むエンジニア的な手法。見落としが最も危険なバグに繋がる。
・スケールダウン(Scale Down)
システムの規模を縮小すること。サーバーの台数を減らしたり、処理能力を下げたりして運用コストを削減する手法。ただし、利用者数が減らなければ意味がない。
・バージョンダウン(Version Downgrade)
ソフトウェアを以前のバージョンに戻すこと。新機能にバグがある場合の応急措置だが、古いバージョンには古いバージョンの問題がある。盟約を初期状態に戻しても、泉がなければ動作しない。
・DDoS(分散型サービス拒否攻撃)
Distributed Denial of Service attackの略。複数のコンピュータから一斉に通信要求を送りつけ、対象のサーバーを過負荷状態にしてダウンさせるサイバー攻撃。レインは学年末式典の混乱や、仲間たちを使った物理的な「陽動」をこれに見立て、教会の警備網をパンクさせようと計画している。




