紅蓮槌の採掘士と列車国家 第26話「第24章」
金属の気配が、通路の狭い空気を震わせた。鋼製の床板を踏むたびに、列車の心臓部が遠くで脈打つように響く。火凪紗夜は紅蓮槌を抱え込み、腕に伝わる重さと熱を確かめた――それは彼女にとって武器であり儀礼であり、罪でもあった。
金属の気配が、通路の狭い空気を震わせた。鋼製の床板を踏むたびに、列車の心臓部が遠くで脈打つように響く。火凪紗夜は紅蓮槌を抱え込み、腕に伝わる重さと熱を確かめた――それは彼女にとって武器であり儀礼であり、罪でもあった。
「ここだ」金城朔が低く囁いた。作業用ライトが斜めに揺れて、彼の頬に薄い汗を走らせる。朔は列車の外装を開け、内部の複雑な歯車群が露出するような格好で身を屈めた。歯車の一枚に、微かに焼けたような赤い刻印が浮かんでいる。紗夜はその刻印を見た瞬間、胸の奥が冷たく引き締まった。刻印は、紅蓮槌の柄元に彫られた紋と同じものだ。
「なぜ……」ミオが指を震わせる。医療包帯の端が手首にまとわりついた。彼女の声は通路の反響に飲まれそうだった。
「コピーだよ」朔が言った。「これは採掘で使われていた同期機構の一部だ。その設計を模してシフト制御に組み込んである。見てくれ、ここにプロトコルのタグがある――"連鎖同期v.3.7"」
紗夜は手元の紅蓮槌を握り締めた。柄の木肌が汗に濡れ、熱が指先に伝わる。彼女はもう一度、刻印を見つめる。あの事故の日、刻印は彼女の手の中で泣き声のように震えていた。だが今、刻印は冷たく、計算されたようにここに存在していた。
朔は小さな端末を取り出し、歯車の側面に接続した。端末のスクリーンに、過去の稼働ログと開発者ノートが並ぶ。紗夜は読めない文字列の断片を眼で追ううちに、ある単語が目に飛び込んだ。「合意トークン流用」。ページは暗号が解かれた痕跡でわずかに裂けている。
「これは……」ミオの息が詰まった。「合意トークンって、あの……」
「同じだ」朔が静かに言った。「採掘時代に、作業員の合意を確認するための方法だ。叩く前に同期して、みんながやるって意思を合わせる。安全のための仕組みを改変して――制御に使えるようにした。合意を"外部から使える"鍵に変えたんだ」
紗夜の指先に冷たいものが走った。記憶の断片がざわつく。あの日、彼女は共有された作戦を実行したはずだった。だが誰かがその合意を外部へ流し、別の計画に転用した。被害者の叫びは彼女の胸に残り、彼女はそれをずっと自分の失敗だと思っていた。だがここにあるのは、個人の過失を越えた設計図だ。強制された合意の「流用」があった。
「列車国家がこれを使ってるってことか」紗夜は短くつぶやいた。蒸気と油の匂いが鼻腔を突く。すぐ背後で、低い警報音が一度だけ鳴った。赤いランプが点滅する。
「時間がない」朔が言った。「このモジュールは制御中枢の一部だ。ここを止めれば、外部に対する同期コマンドの発信を一時的に断てる。やるなら今だ」
「だが、そのためには――」リコが唇を噛む。彼女は元列車国家の運行士で、ここへ潜入するための地図を渡してくれた張本人だ。「合意を作らないといけない。紗夜の力は、仲間が合意した作戦を一度だけ現実にする。合意がなければ発動できない」
紗夜は紅蓮槌を抱え直した。彼女の能力は単純だが残酷だった。味方と共有した作戦のみを一度だけ実現する、という条件。単独で使えば感覚の一部を失うという代償。そして何より、仲間の合意を無視すると、能力は敵にも作用してしまうという禁止。彼女はそれを誰よりも知っていた。
「足りないのは――」朔が続ける。「我々の"合意"だ。ここにいる全員が、この作戦に賛成する必要がある。俺は賛成だ。ミオは? リコは?」
ミオはしばらく黙っていた。目が揺れる。医者として多くの命を見てきたが、自分が先頭に立つつもりはないといつも言っていた。だが彼女は一歩前に出た。「私は賛成する。ここで止められれば、次の車両に逃げ込もうとしている避難民を守れる」
リコの顔が一瞬険しくなる。彼女は列車国家に家族を残してきた。逃げた者と置き去りにした者の顔が交互に浮かんでいる。やがて、ゆっくりうなずく。「……私も賛成する。だが一つだけ聞かせて」
「何だ」紗夜は尋ねた。鼓動が耳元で速くなる。ライトの光が紅蓮槌の刃先を踊らせる。
「もし――合意が外部に流用される仕組みがここにあるなら、私たちの合意が敵に転用される可能性もある。それを、君はどう防ぐつもりだ?」
紗夜は呼吸を整え、紅蓮槌の柄を両手で抱え直した。彼女の指先に力が入り、木の匂いが鼻腔を満たす。「朔がこれを切断する。リコは後方の無線を抑える。ミオは脱出経路の治療を手配する。私は合意を媒介して、同期コマンドを一度だけ逆流させる。つまり――」
「列車の制御に――"拒否"という選択肢を返す」朔が言った。彼の声は少し震えたが、それは恐れではなく決意の震えだった。
「やるなら、今だ」リコが背後の通路へ向かって唇を噛んだ。彼女の動きは速い。操舵室にいる監視兵の気配を削ぎ、外回りを押さえる。数分なら持つ、と彼女は見切った。
紗夜は仲間たちの顔を見た。光の輪郭の中で一人一人が選んでいる──これが合意なのだと、彼女は思った。誰かが命じたのではない。皆が、それぞれの恐れと希望を抱いた上で手を挙げた。
「いいよ。合意する」と紗夜は言った。声は震えなかった。それを合図に、朔は端末を操作して合意のハッシュを生成した。リコが無線のチャネルを押さえ、ミオは救護キットを肩にかける。朔が生成したハッシュを、紗夜は紅蓮槌に叩き込むように当てた。
紅蓮槌の先端が、かすかに光った。熱が柄を伝い、掌の皮膚がじりじりと感覚を呼び覚ます。紗夜は目を閉じ、仲間の顔を思った。彼らがその合意を選んだ経緯、誰ひとりとして強制されていないことを確かめるために、自分は心の中で一つずつ同意を確認した。
「行くぞ」紗夜が叫ぶと、紅蓮槌の先から赤い潮のような光が迸った。音が――そして世界の行間が歪むように、同期の波が通路の金属を伝っていく。朔の端末が警報音を上げ、歯車が悲鳴のような高音を出す。だがそれは一瞬のことだった。制御システムの状態がスローになり、中央の表示が"同期再編中"とだけ表示された。
しかし、歓喜は長く続かなかった。端末の画面に、朔の顔色が一気に青ざめる。ログに見慣れた文字列が続き、その先に「外部ハンドル: /consensus/duplicate/」という行が並んでいた。
「何だこれ!」朔が叫んだ。「このモジュール――合意トークンを複製して外部へ送れる。列車国家が過去の"合意"を大量に生成して、他の制御へ流している!」
ミオの手が震え、救護具を落としそうになる。リコは即座に後方のパネルに飛びつき、再送信を遮断しようとする。だが、紗夜の目は画面の隅にある一つのファイル名に止まった。ファイル名は、見覚えのある日付と彼女の名前の一部が組み合わさっていた。胸が凍るようだった。
「――これは、私たちの事故の日の合意だ」紗夜が吐き捨てるように言った。過去の出来事の輪郭が、今になって説明される。合意は彼らのものとして記録され、しかし外部へ流用され、別の計画に差し替えられた。強制された合意、という事実がここに証拠として残っている。
「やられた」朔は荒い息を漏らした。「この転用プロトコルは合意の検証をすり抜ける。要するに、合意の"主語"を勝手に書き換えることができる。俺たちが合意したはずの相互承認が、別の命令に繋がってい