第4章 Ep3:増殖バグ(デュープ)
1. 取引キャンセル・グリッチ
王都の路地裏。
マリエルは、薄暗い道具屋のカウンターで、店主と向かい合っていた。
この店は、商店街の表通りから一本入った、日当たりの悪い横丁の奥まった場所にある。
看板の文字は半分消えかかり、窓ガラスは埃で曇り、店内には黴臭い匂いが漂っている。棚に並ぶ商品は錆びた剣やら欠けた盾やら、まともな冒険者なら見向きもしないジャンク品ばかりだ。
だが、マリエルにとって重要なのは品揃えではない。
この店の「取引システム」が、古いバージョンのプロトコルで動いていることだ。
「いらっしゃいませ。何を売りますか?」
店主は中年の小太りな男で、ハゲ頭にバンダナを巻いている。人の良さそうな笑顔だが、目は少し濁っている。典型的な「会話パターンが3種類しかないモブNPC」だ。
「この『ただの石』を売るわ」
マリエルはカウンターに、路地裏で拾った灰色の石ころを置いた。
売値は銅貨1枚。この世界で最も安いアイテムの一つだ。
店主は何の疑問も持たず――というか、「取引可能なアイテムかどうか」のフラグだけを参照し――銅貨を一枚、カウンターに置いた。
『取引を確定しますか? [ はい / いいえ ]』
半透明の取引確認ウィンドウが、マリエルの目の前に表示される。
通常なら「はい」を選択して終了だ。
だが、マリエルは「はい」を押さない。代わりに、カウンターの下に手を伸ばした。
そこには、店のシステムと地脈を繋ぐ、細い魔力線――この世界におけるLANケーブルのようなものが、無造作に這っていた。
表通りの大型店舗なら、こんなものはカウンターの裏板の中にきちんと配線されている。だが、この古い路地裏の店では、改装もされずにむき出しのまま放置されていた。
まるで、90年代のオフィスの床を這うイーサネットケーブルのように。
「(――今だッ!)」
取引確認ウィンドウの「はい」ボタンが表示された、まさにその瞬間。
マリエルの左手が、カウンターの下の魔力線をガシッと掴み――。
バチッ!
――物理的に引き抜いた。
『通信エラーが発生しました。取引をキャンセルします。……接続を再試行中……』
赤い警告メッセージが空中に浮かぶ。
店と地脈サーバーの間の通信が、物理的に遮断された。
「おや? 通信が切れたか。最近、この辺の地脈の調子が悪いんだよなぁ」
人の良さそうな店主のおじさんは、不思議そうに首を傾げた。
彼のAI(行動ルーチン)は「通信エラー→取引キャンセル→通常待機に戻る」というシンプルなフローしか持っていない。エラーの原因を調査するような高度な思考ルーチンは、この安物NPCには実装されていないのだ。
店主はカウンターの上を見て、それから自分の手元を見た。
「あれ? おかしいな。取引は中止になったはずだが……なんでワシの手元に石があるんだ?」
店主は何度も石と自分の手を見比べ、頭をポリポリと掻いた。
ここに、致命的なバグが発生していた。
取引処理のフローはこうだ。
①マリエルが石を店主に渡す(物理移動)→ ②システムが取引を確定する(データ更新)→ ③店主がお金を渡す(物理移動)
通常はこの①②③が一瞬で同時処理される。
だが、①と②の間で通信が切断された場合、どうなるか。
「①の物理移動は完了したのに、②のデータ更新はロールバック(巻き戻し)される」という不整合が発生するのだ。
つまり――店主の手元には「物理的に移動した石」が残っているが、システム上は「取引は成立していない」ため、マリエルのインベントリにも「データとしての石」が残っている。
通信ラグを利用した、古典的な「増殖バグ(デュープ)」だ。
だが、所詮はしがない道具屋の親父。
彼のAIは「通信エラーが起きた場合は、ローカルに残ったアイテムを在庫に戻す」というルーチンに従い、「まあ気のせいか」と石を在庫棚に戻してしまった。
「手元にあるはずのないアイテムがある」という矛盾に気づく知性を、この安いNPCは持っていなかった。
「……ふふ、やっぱりね」
マリエルは薄暗い店内で、唇の端をニヤリと吊り上げた。
彼女の手元にも、同じ石が残っている。
そして、店主の棚にも石(複製)が増えている。
1個の石が、2個に増えた。
これが、4周目の新しいバグだ。
壁擦り増殖は修正された。メニュー開閉バグも修正された。
だが、運営がパッチを当てたのは「物理演算系」のバグだけ。
「通信系」のバグ――つまり、店と中央サーバー間のトランザクション処理(取引確定プロセス)に潜むレースコンディション(競合状態)には、手が回っていなかったのだ。
「対策パッチが甘いよ運営さん! 取引処理のエラーハンドリングがザルじゃない! ACIDトランザクションくらい実装しときなさいよ!」
マリエルは誰にも聞こえない声で、嬉しそうに毒づいた。
ACID(原子性・一貫性・独立性・永続性)。データベースの信頼性を保証する四原則だ。
この世界の「店舗取引システム」は、そのうちの「原子性(Atomicity)」――つまり「取引は全て成功するか、全て失敗するかのどちらかであり、中途半端な状態は許されない」という原則を、通信切断時に守れていなかった。
## 2. 錬金術の代償
マリエルはこのバグを悪用し始めた。
まずは安物でタイミングを練習した。石ころ、木の棒、空き瓶。価値のないアイテムで、通信切断のジャストタイミングを体に叩き込む。
このバグの成功率は100%ではない。通信が切断されてからロールバック処理が走るまでの間――コンマ数秒の猶予――の間に、物理的な受け渡しを完了させなければならない。
だが、マリエルの指先は、3周分のバグ技で鍛え上げられた精密機械だ。10回試して8回成功する程度の精度を、わずか30分で身につけた。
「さて、練習は終わり。ここからが本番よ」
彼女は全財産――増殖で稼いだ僅かな小銭――を握りしめ、王都の薬屋に向かった。
そして、「高級ポーション」を一本だけ購入した。
これを増殖させる。
1個が2個に。2個が4個に。4個が8個に……。
指数関数的に増えていく資産。
路地裏の薄暗い部屋で、マリエルは夜を徹して作業を続けた。
王都中の道具屋を回り、取引のたびに通信線を引っこ抜く。
異なる店で同じバグを使えば、同一店舗での不審な取引履歴は蓄積されない。
足がつかないように、一軒で3回以上は使わない。
店を変え、タイミングを変え、アイテムを変え――。
「あはははは! ちょろい! ちょろすぎる!」
マリエルの笑いが止まらない。
借りた倉庫の中に、ポーションの瓶がうずたかく積み上がっていく。
その数、数千本。
原価はたったの一本分。
錬金術師も真っ青の、究極の「無から有を生み出す」技だ。
彼女は増やしたポーションを市場に流した。
正規価格の半値で。
「レティシアが一生懸命工場で作ったポーション? 知らないね。こっちは原価ゼロだもん。半値で売っても丸儲け。それどころか、1割の値段でも利益が出るんだから、笑いが止まらないわ」
市場にポーションが溢れ始めた。
異常に安い価格で、しかも品質は正規品と全く同じ(そりゃそうだ、元は正規品のコピーなのだから)。
消費者にとっては嬉しい話だ。同じ品質のポーションが半値で買える。
だが、「市場」という生態系にとって、この現象は――。
## 3. 市場崩壊の序曲
その影響はすぐに現れた。
ノクターン領の工場。
日曜日の早朝、工場の稼働音がいつもより静かだ。
それもそのはず、出荷待ちの完成品が倉庫に溢れかえっているのだ。売れないのだ。
「お嬢様! ポーションの相場が暴落しています!」
クラウスが青ざめた顔で執務室に飛び込んできた。
普段は冷静沈着な法務官AIが、ホログラムを明滅させながら焦っている。珍しい光景だ。
『クラウス:市場価格の推移をご覧ください。昨日は金貨10枚だったポーション1本の取引価格が、本日未明の時点で金貨3枚にまで急落。そして……今朝の最新データでは、金貨1枚です』
「10分の1……!?」
レティシアは椅子から飛び上がった。
『ロキ:原因は明らかだぜ、マスター。王都の市場に、出所不明のポーションが大量に出回ってる。しかも全部、ダンピング(不当廉売)価格で。アクセスログ調べたら、ここ3日で市場に投入されたポーションの総量が、大陸全体の月間消費量を超えてやがる。一体どこからこんな量が……』
「……マリエルね」
レティシアは図面を握りつぶした。
指先が白くなるほど強く。
原因は推測できた。
あの聖女が、何らかの新しいバグを見つけ、アイテムを不正に増殖させている。
3周目のバグは潰されたはず。つまり、4周目の新仕様に潜む「新しい穴」を突いたということだ。
「やってくれるじゃない……。私が苦労して設計した生産ラインを、原価ゼロのコピー品で踏み荒らすなんて」
真面目に生産ラインを組み、コスト削減に努力してきた彼女の工場にとって、原価ゼロのダンピング販売ほど恐ろしいものはない。
どんなに効率化を極めても、「ゼロ」には勝てない。数学的に不可能だ。
「お嬢様、工場を止めますか? このままでは赤字が膨らむ一方です」
アイリーンが不安げに問いかける。
「……いいえ。止めないわ」
レティシアは目を閉じ、深呼吸をした。
そして、静かに目を開けた。
「止めたら負けよ。マリエルの目的は市場を荒らすこと。それに私が萎縮して生産を止めれば、あの女の思う壺。……むしろ、逆手に取る」
『シャルル:と言いますと?』
「マリエルは市場にポーションを溢れさせた。つまり、ポーションの『価値』は暴落する。でも、ポーションの『需要』そのものは消えていない。冒険者はダンジョンに潜る限りポーションを消費し続ける。……問題は価格だけ」
レティシアは魔導計算機を叩いた。
「生産品目を切り替えるわ。ポーションは利幅が消えた。なら、マリエルがまだ増殖していない『別の商品』――高純度の魔導燃料、農業用肥料、建材、布地――に生産ラインを転換する。多角経営で、リスクを分散させるのよ」
『ジェム:ライン変更の設計、すぐやるよマスター! コンベアの分岐器と、ゴーレムの作業パラメータを書き換えるだけだから、半日で対応できる!』
「よし。急いで」
レティシアは窓の外を見た。
遠くの空が、わずかに揺らいでいる。テクスチャの境界がチラついている。
市場の混乱は、もう始まっている。
「でも……」
彼女は小さく呟いた。
「やってくれるじゃない、マリエル。でも、そんな不正な稼ぎ方がいつまでも続くと思って?」
レティシアは知っていた。
市場に物が溢れすぎれば、次に起きるのは「金の価値の暴落」――ハイパーインフレだ。
コピー品が市場を食い荒らし、正規の生産者が廃業し、供給の多様性が失われる。
そして、コピー品しか存在しない市場は、コピー元が枯渇した瞬間に崩壊する。
マリエルは自分の首を絞めていることに、まだ気づいていない。
あるいは、気づいていて――気にしていないだけかもしれないが。
「……嵐が来るわ。経済の嵐が」
レティシアは帳簿を閉じ、窓辺に立った。
工場の煙突から立ち昇る煙は、いつもより細く、どこか頼りなげに見えた。




