車窓のラベル面、あるいは二月の不整合

──平成0x29A年02月09日 19:50

自動運転シャトルが旧環状七号を這うように進んでいる。車内は俺ひとりだった。

十九時五十分。窓の外は暗い。ヘッドライトが照らすアスファルトの継ぎ目だけが、一定のリズムで流れていく。座席の下からカセットテープが巻き取られるような、かすかな駆動音がする。この型のシャトルはもう旧いらしい。

「健、次の停留所で降りたほうがいい。ドクトリン署名の照合、車内でやると通信が安定しないから」

右耳の奥で、叔母の声が言った。宮地敏子。享年五十一。胃がん。俺が高校を出た年に死んだ。几帳面で、請求書のミリ単位のズレを許さなかった人だ。今は俺のエージェントとして、主に帳票周りの仕事を補佐してくれている。

俺は内閣ユニットの下請け、いわゆる署名照合の出張屋だ。各地の端末に残った閣議決定の署名ログを巡回して、党ドクトリンとの整合性を物理的に検査する。今日は旧板橋エリアの中継ノードで、二件の不整合が検出されたという通報を受けた。

膝の上のアタッシュケースを開けると、CD-Rが三枚、ラベル面を上にして並んでいる。署名のスナップショットを焼いたものだ。端末がネットワークから切り離されている場合、物理媒体で持ち込むしかない。ラベルには油性ペンで「0x29A-0209-A」「同B」「同C」と書いてある。叔母の字だ。エージェントが俺の手を借りて書くとき、いつもこの几帳面な角ばった文字になる。

「Bのラベル、ちょっと滲んでるわね」と叔母が言った。

「読めるよ」

「読めるかどうかじゃなくて、美しくないの」

シャトルが減速し、スマートドアが音もなく開いた。外気が冷たい。二月の夜風が鼻の奥を刺す。ドアの縁に埋め込まれた認証パネルが俺の生体を読み、降車ログを記録する。パネルの表示フォントがやけにポップで、どこかのフリーフォントみたいだった。平成のいつ頃のセンスなんだろう。

中継ノードは停留所から三分ほど歩いた、元コンビニの建物の地下にあった。蛍光灯がちらつく階段を降りると、端末が四台、金属棚に載っている。一台の画面に赤い警告が出ていた。

「署名ハッシュの末尾四桁、ドクトリン側と合ってない」と叔母が読み上げた。「ただ……健、これ、見覚えない?」

CD-Rを端末に差し込み、照合ツールを走らせる。結果はすぐに出た。

不整合の原因は単純だった。ドクトリン署名アルゴリズムの第七次改定と第八次改定の境界で、タイムスタンプの丸め方が違う。五分間の内閣ユニットが切り替わる瞬間にちょうど署名が走ると、どちらの丸め方を使うかで末尾が変わる。要するに、既知のバグだ。

「これ、三年前にも同じの出たわよね。旧練馬で」

「出た」

「報告書、そのとき書いたやつのテンプレ残ってる?」

「カセットテープのバックアップに入ってるはず」

ケースの底からカセットテープを取り出した。超高密度のデータカセットだが、筐体は昔ながらの透明プラスチックで、中のリールが見える。これも平成のどこかの意匠だ。ポータブルリーダーに差し込むと、三年前の報告書がそのまま出てきた。日付と場所とハッシュ値を書き換えれば、今日の分は完成する。

叔母が静かに笑った。「直ってないのね、三年経っても」

「誰も直す気ないんだよ。ドクトリンの改定自体が閣議決定で、閣議決定にはドクトリン署名が要る。署名アルゴリズムを直すための署名が、そのバグで通らない可能性がある」

「永久機関みたいね」

「壊れた永久機関だけどな」

報告書をCD-Rに焼いた。ラベル面に「0x29A-0209-D」と書く。叔母が俺の手首を微かに制御して、線の太さを均一にした。

階段を上がると、シャトルがもう停留所に来ていた。スマートドアが開き、暖かい空気が漏れ出す。乗り込むと、座席の下でまたあのカセットテープみたいな駆動音がした。

「次の巡回、来月だっけ」と俺は訊いた。

「再来月。でもどうせ同じのが出るわよ」

「だろうな」

シャトルが動き出す。窓の外を、閉まったままの元コンビニの看板が遠ざかっていく。

壊れた永久機関は、それでも回っている。俺の仕事がなくならない程度には、きっちりと。