第11話「パケットの戦場」
2000年7月3日。月曜日。
三郷市立皐月中学校。2年2組。
午前10時。2時間目。数学。
鳴海航は、窓際の席で教科書を開いていた。
「——それでは、この連立方程式を加減法で解いてみましょう——」
教師の声が、遠い。
39歳の脳みそで聞く、中学2年の数学。加減法。代入法。すべて、四半世紀前に通り過ぎた道だ。
航は、教科書の端にシャープペンシルを走らせた。
書いているのは、数式ではない。
// Metis v0.2 patch note
// auction_predict.cpp L.247
// 入札タイミングの最適化
// RTT補正値を動的に変更
メティスの修正コード。
昨夜、VOのオークションで発生したラグを解消するためのパッチ。神崎に渡す予定のメモだ。
「鳴海くん」
声がした。
顔を上げる。
教師が、こちらを見ていた。
「問3の答え、わかるかな」
航は、黒板を見た。
連立方程式。2x + y = 7、x - y = 2。
「……x = 3、y = 1」
「正解。ちゃんと聞いてたね」
教師が頷いて、次の問題に移る。
航は、また教科書に目を落とした。
加減法。両辺を足せば、3x = 9。
こんなものは、暗算で解ける。だが、この教室で「暗算で解ける」と言ってはいけない。13歳の鳴海航は、成績中の下。目立たない生徒。それが、航の選んだ「設定」だ。
窓の外で、どこかの家の室外機が低く唸っていた。梅雨の晴れ間。湿気を含んだ空気が、じわりと肌に張り付く。
もうすぐ、夏が来る。
---
午後6時。
マギ・ハブ。
1階のサーバールームは、業務用エアコンをフル稼働させても、30度を超えている。神崎のTシャツは、背中に張り付いていた。
3台のDELL PowerEdgeが吐き出す熱。4台のCRTモニターが放つ輻射熱。そして、神崎亮が淹れ続けるコーヒーの湯気。
航は、キーボードの前に座っていた。
「神崎。パッチ、入れたか」
「当たり前だ。朝イチで反映した」
神崎が、缶コーヒーを投げてよこした。ジョージア。エメラルドマウンテン。冷蔵庫で冷やしたやつだ。
「今夜、いくぞ」
航は、缶を開けた。
「VO。オークション。全鯖同時展開」
神崎の目が、光った。
「全鯖? マジか」
「マジだ。メティス、状況は」
〈Seoul Test Server #1〜#5、全サーバーへの接続準備完了。マギ・アント、総数48体を各サーバーに分散配置済みです〉
メティスの声が、スピーカーから響く。低く、冷たく、無機質な声。
〈本日のターゲットは『ヴァルキリーの涙』『深淵の鉱石』『古代の設計図』の3種。推定市場価格、合計で約30万ゴールド。RMT換算で18万円相当です〉
「18万か」
神崎が、口笛を吹いた。
「1日で18万。しかも元手ゼロ。詐欺だな、これ」
「詐欺じゃない」
航は、モニターを睨んだ。
「経済戦争だ」
---
午後8時。
VOの世界が、動き始めた。
画面の中で、マギ・アントたちが一斉にオークションハウスへ向かう。48体のボットが、5つのサーバーに分散して配置されている。回線帯域の限界を考慮した、最適な分散配置だ。
〈Seoul #1、『ヴァルキリーの涙』3個を確保。平均落札価格、52,000ゴールド〉
〈Seoul #2、『深淵の鉱石』5個を確保。平均落札価格、31,000ゴールド〉
〈Seoul #3、競合入札者を検知。対応中〉
メティスの声が、淡々とデータを読み上げる。
神崎が、別のモニターで数字を追っていた。
「すげえ……。価格が、リアルタイムで動いてる」
「当たり前だ。俺たちが買い占めれば、市場価格は上がる。上がったところで売り抜ける。それがRMTだ」
「わかってるけどよ。目の前で見ると、やっぱすげえな」
〈Seoul #4、本日の目標達成率、73%。予定より12分早いペースです〉
アイリスの声が、割り込んだ。
「マスター。Seoul #3で異常を検知しました」
航の指が、止まった。
「異常?」
「競合入札者の動きが、不自然です。入札タイミングが、メティスの予測を0.3秒ずつ先回りしています」
〈確認しました。統計的に有意な偏差です。偶然ではありません〉
メティスが、データを表示した。
画面に、グラフが現れる。マギ・アントの入札タイミングと、競合入札者のタイミング。
ほぼ完璧に、0.3秒ずつズレている。
「……誰だ、こいつ」
航は、画面を睨んだ。
〈アカウント名『void』。取引履歴、ゼロ。本日初出現です〉
「また新規か」
「マスター」
アイリスの声が、わずかに緊張を帯びていた。
「通信パターンを解析しました。このプレイヤーの応答速度は、平均47ミリ秒です」
「47ミリ秒?」
神崎が、振り向いた。
「待て。ISDNで47msは——」
「不可能ではありません。専用線を使えば」
「専用線? 個人プレイヤーが?」
航は、椅子の背を掴んだ。
47ミリ秒。
一般のISDN回線では、日韓間のRTTは100〜150ミリ秒が限界だ。47ミリ秒を出すには、企業向けの専用回線か、あるいは——
「……ソウルにいるのか」
航は、呟いた。
「韓国国内からの接続なら、47msは出せる」
〈仮説としては妥当です。ただし——〉
メティスが、言葉を切った。
〈——このプレイヤーの入札アルゴリズムは、私の予測モデルを学習しているように見えます〉
「学習?」
〈過去2時間の入札パターンを分析しました。『void』は、マギ・アントの行動を観察し、次の入札タイミングを予測しています。その精度は、時間とともに向上しています〉
航の喉が、詰まった。
学習するアルゴリズム。
2000年に、そんなものは——
「マスター」
アイリスの声が、静かに響いた。
「私と同種の技術が使われている可能性があります」
---
午後10時。
オークションは終了した。
結果は、予定の82%。目標には届かなかった。
「……『void』に、3割近く持っていかれたな」
神崎が、コーヒーを啜った。
「あいつ、何者だ?」
航は、答えなかった。
モニターには、『void』のプロフィールページが表示されていた。
アカウント作成日:2000年7月1日。取引履歴:ゼロ。ギルド:なし。
何もない。
だが、その「何もなさ」が、逆に不気味だった。
「アイリス」
「はい、マスター」
「『void』の通信ログ、全部保存しろ。パケットの中身も、可能な限り解析だ」
「了解しました」
〈マスター。一つ、報告があります〉
メティスの声が、割り込んだ。
〈本日の日経平均終値は、17,156円でした。正史との累積乖離は、412円に拡大しています〉
航は、目を閉じた。
412円。
6月30日の時点では177円だった。わずか3日で、乖離は倍以上に膨らんでいる。
「……俺がここにいることで、歴史が変わり続けている」
「マスター」
アイリスの声が、少しだけ柔らかくなった。
「それは、マスターの責任ではありません。歴史は——」
「違う」
航は、目を開けた。
「俺の責任だ。俺がこの時代に存在すること。俺が動くこと。その全部が、歴史を書き換えている」
窓の外で、気の早いニイニイゼミが一匹、チーと鳴いた。
7月の三郷。夜になっても、湿気は消えない。
「……でも、俺だけじゃないかもしれない」
航は、呟いた。
「『void』。あいつが使ってる技術。2000年のものじゃない」
神崎が、こちらを見た。
「お前、まさか——」
「わからない。まだ、何もわからない」
航は、立ち上がった。
「だが、調べる。誰が、何を、どこで——全部、洗い出す」
〈マスター。『void』の通信パケットから、一つ気になるデータを検出しました〉
メティスの声が、響いた。
〈暗号化されたヘッダに、『reprompt』という文字列が含まれています〉
航の背筋を、冷たいものが這い上がった。
reprompt。
暗号化されたヘッダの向こう側に——誰かがいる。自分を見ている。
それは、航が作ったサイトの名前だ。
「……偶然か?」
〈不明です。ただし、この文字列が偶然一致する確率は、0.0003%以下です〉
アイリスの声が、静かに響いた。
「マスター。この世界には——私たち以外の『未来』が、混じっているかもしれません」
遠くで、ニイニイゼミがまた一声、チーと鳴いた。
夏は、もうすぐそこまで来ている。




