調整される三億円
北島五月が仕事を終え、お気に入りのバーに向かったのは、桜並木の花がすっかり散ってしまった春先のある日だった。店に入りカウンターの端に高橋さんがいるのを見て「あ、今日は水曜だった」と改めて気づく。高橋さんはきっちり毎週水曜日の早い時間にいる常連客だ。どこに座ってもいいのだが、高橋さんの話したそうな様子を見て今日は隣にお邪魔することにする。
とりあえずのビールを頼んですぐ、バーテンダー氏と数日前の三億円路上強盗事件の話になった。都内のこことは反対の西寄りの区で、宝石商が車に積もうとしていた現金入りのスーツケースが強奪されたらしい。犯人が出国しようとしていたところを直前で逮捕された、というニュースを昼休みにスマホで見た。
「そういえば父が、昔も三億円が奪われた事件があったって言ってました。三億は三億でも、現代の金額に直すとざっくり三十億円くらい?だとか。いくら銀行がお金持ちっていっても三億円一気に持っていかれたら大変ですよね」という五月に対して「そうかな」と高橋さん。
「当時の三億は大きいよね。でも、本当に損になったのかね」
「あぁ、保険で補填されたとか?」
「うん。被害は確か保険で補填されたはずだ。そして、保険会社自体も海外の保険会社に再保険をかけている。一番割を食ったのは海外の保険シンジケートってことになるだろうね。でもそれとは別にって話なんだけど」
高橋さんはお気に入りのモルトウイスキー「タリスカー」をオーダーする。
「当時、給与の支払いは給料袋に現金を入れて手渡しが主流だった。あの事件で奪われたのも工場の従業員に支払うためのボーナスだ。銀行が即座に全額補填を決めたから従業員もちゃんとボーナスを受け取れたけどね」
「ボーナス取られちゃったらショックで私しばらく出勤できませんよー」
「はは、そうだね。で、事件は日本中の大きな関心を呼んだ。警察は総動員体制で捜査にかかり、連日報道された。奪われた金がどういうものだったかも伝えられ、結果として給料の手渡しが危険だという認識が急速に広まっていったんだ」
ビールを飲んでしまった五月はマルガリータを頼むと続きを聞く姿勢に入る。
「私も事件当時は赤ん坊だったから実際の現場を知っているわけではないけど、当時の銀行の月末は大変だっただろう。取引先の各社が給料を支払うための現金を用意し、取引先ごとに袋詰めし、といったことが毎月だったわけだからね。これを1円の狂いもなくやらなくてはいけない。ちょっと想像もつかない過酷さだ。銀行としては給料は振込で支払って欲しいだろう」
「あ、そこに三億円事件が起きた。で、給料を振込で支払いたい会社、受け取りたい勤め人が増えた」
「その通り。しかも、振込なら振込手数料という収入がある。ざっくり計算してみようか。当時二千万人くらいの勤め人がいて、その半分の一千万人が事件をきっかけに振込に移行したとする。振込手数料を1件数百円とすると、銀行業界全体で毎月数十億円の収入が生まれたわけだ。そして、各支店での月末の現金狂騒曲も相当に緩和され、人件費を主としたコストが大幅に浮いた。もちろん給与振り込みを実行するためのコンピュータシステムへの投資、運用のコストはあるだろうけどね」
五月はマルガリータに口を付ける。ここのマルガリータは最高。というか、どんなカクテルもここは全然違う。
「じゃあ言っちゃなんだけど銀行業界としては犯人様様じゃないですか」
「細かいことを言えば、現金払いだったころはタンス預金になりがちだった給料が銀行口座に入り、結果として顧客獲得に大きく貢献しただろうし、警察・報道・国民の目線により現金輸送に対する徹底的な脆弱性チェックがなされたことも大きい。穴は見つけたら塞げばいいのであって、それを見つけるところに結構コストがかかるからね。そのコストも幾分かは節約できたのではないかといったらさすがに言い過ぎかな。そもそも事件がなければあれほど急速に給与支払いが銀行振り込みに移行したかどうかも怪しい。給与振り込みを呼びかける広報コストもほぼゼロでなされたわけだ」
「父に聞いたんですけど、取られた三億のうち番号が記録されているお札も一部あったけれど、記録されてるもので日銀に戻ってきたものが一枚もないとか」
「らしいね。使えずに抱えているとか、燃やされちゃったんだとか、いろいろ言われているけれどね。三億、安い投資だったとは思えない?」
「あっ」
そうだ。犯人の本当の目的が現金三億円でなかったとしたら。そんな「はした金」より毎月の莫大な手数料収入、現金取り扱いのコストカット、そんなところにあったとしたら。三億円の現金が使われた痕跡が残っていなくとも不思議ではない。
「あー、だめだ。今日は飲み過ぎた。……聞き上手だね、ほんとに」
呆けている五月を残して高橋さんは勘定をすませて出て行った。
北島五月はいわゆるシステムエンジニア、SEである。彼女は現代のシステムエンジニアとしては非常に珍しい「コボラー」。最古に近いコンピュータ言語のCOBOLを駆使するエンジニアを揶揄する意味で「コボラー」と呼ぶことがある。
彼女がCOBOL技術者を選択したのは、COBOLは金融機関のシステムなど堅牢性が重視される場所で使われ続けている傾向が強く、職場に安定性を求められるかも、という彼女なりの戦略があったからなのだ。
目論見通り彼女は大手金融機関の金融システム保守運用業務に配属されていた。数十年前から稼働し続けているシステムは極めて、極めて安定しており、SE=激務という世間の認識とは正反対に、定時出勤、定時退社、休日出勤もちろんなし、という暇な日々を謳歌していた。
バーでの会話から数日後、五月は職場でコンソールに向かっていた。特に意図があったわけではないのだが、暇に任せてなんとなく ”681210” で基幹システムのコードに全文検索をかけてみたのだ。68/12/10、三億円事件の日付である。
当然何も期待せずにいたのだが、予測に反してあるファイルでヒットした。
000150* 681210: INIT-SYSTEM-PARAMETER / REF-ID: 99-CLR-SUSP
「1968年12月10日……日付そのままのコメント。でも、後ろの 99-CLR-SUSP って何? 通常、本番用のIDは『01(営業)』とか『05(為替)』から始まるはず。99は……テスト用か、論理削除用のゴミ箱のはずで、本番系に残ってちゃいけないはずのコードなんだけど」
続けて “99-CLR-SUSP” を追跡して行くと
008900 PROCEDURE DIVISION.
...
009500* --- SYSTEM DISCREPANCY RECONCILIATION ---
009510 IF TRANS-ID-PREFIX = "99"
009520 PERFORM 99-CLR-SUSP-ROUTINE
009530 END-IF.
「やっぱり。トランザクションIDの頭が『99』の時だけ走る特殊ルーチンが、本番の決算ロジックに居座ってる。これ、絶対に本番系に残しちゃいけないデバッグ用の『裏口』じゃない」
010500 99-CLR-SUSP-ROUTINE.
010510* SPECIAL ADJUSTMENT FOR LEGACY SUSPENSE-TOTAL
010520 PERFORM 26 TIMES
010530 SUBTRACT 10000000 FROM WK-SUSPENSE-AMT
010540 END-PERFORM.
010550 PERFORM 3 TIMES
010560 SUBTRACT 10000000 FROM WK-SUSPENSE-AMT
010570 END-PERFORM.
010580 MOVE ZERO TO WK-ERROR-COUNT-99.
「……1,000万を、29回引いてる。しかも隠ぺいのため? めちゃくちゃ雑だけど、26回と3回に分けてるわね。引き算のループ。しかもこれ、引いた後の行き先がどこにもない。ただ『仮払金(SUSPENSE-AMT)』の合計から、2億9,000万円分を調整しているように見える。エラーカウントもゼロに上書きして……。やだ、なにこれ。でもまさか、ね。どっかで補完されてるんだよね。そうだ、そうにちがいない」
気づけばコンピューターの為に寒いくらいの温度に設定されているはずの部屋で、背中にじっとりと汗をかいていた。これ以上追ってはいけない気がして、五月はファイルを閉じる。その後に行った午後の日次処理の際は、指が震えて何度もタイプミスを連発するありさまだった。
水曜日になるのを今か今かと待ち、バーに行く。高橋さんはほとんど開店からいるはずだ。
「こんにちは。あれ? 高橋さんは?」
「それが、珍しく一昨日いらっしゃって、遠くにお引越しされるとおっしゃっていました。どちらに行かれるかは言葉を濁していたのですが。そして、こちらのボトルを北島さんにと」
「え! 高橋さん、もう来ないんですか?」
「ええ。たぶん、お目にかかることはないだろうな、とおっしゃっていました」
「ボトル、どうしますか?」
はぁ、わけがわからない。わからないけど、もうどうしようもないか。仕方ない、飲むしかないでしょう。
「じゃあ開けてよ」
「でも、これポート・エレンですよ。今はもう閉鎖されてしまった蒸溜所のオフィシャルボトルで、たぶん100万円前後するはずですが」
「いいわ。開けて」
オイリーでシルクのように滑らかなスモーキーさを持つポート・エレンが喉を焼きつつ染みていくのを感じながらも、五月の中には違和感の輪郭がいつまでも残っていた。




