表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

PR
33/70

第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周目の新仕様に潜む「新しい穴」を突いたということだ。


「やってくれるじゃない……。私が苦労して設計した生産ラインを、原価ゼロのコピー品で踏み荒らすなんて」


 真面目に生産ラインを組み、コスト削減に努力してきた彼女の工場にとって、原価ゼロのダンピング販売ほど恐ろしいものはない。

 どんなに効率化を極めても、「ゼロ」には勝てない。数学的に不可能だ。


「お嬢様、工場を止めますか? このままでは赤字が膨らむ一方です」


 アイリーンが不安げに問いかける。


「……いいえ。止めないわ」


 レティシアは目を閉じ、深呼吸をした。

 そして、静かに目を開けた。


「止めたら負けよ。マリエルの目的は市場を荒らすこと。それに私が萎縮して生産を止めれば、あの女の思う壺。……むしろ、逆手に取る」


『シャルル:と言いますと?』


「マリエルは市場にポーションを溢れさせた。つまり、ポーションの『価値』は暴落する。でも、ポーションの『需要』そのものは消えていない。冒険者はダンジョンに潜る限りポーションを消費し続ける。……問題は価格だけ」


 レティシアは魔導計算機を叩いた。


「生産品目を切り替えるわ。ポーションは利幅が消えた。なら、マリエルがまだ増殖していない『別の商品』――高純度の魔導燃料、農業用肥料、建材、布地――に生産ラインを転換する。多角経営ポートフォリオで、リスクを分散させるのよ」


『ジェム:ライン変更の設計、すぐやるよマスター! コンベアの分岐器と、ゴーレムの作業パラメータを書き換えるだけだから、半日で対応できる!』


「よし。急いで」


 レティシアは窓の外を見た。

 遠くの空が、わずかに揺らいでいる。テクスチャの境界がチラついている。

 市場の混乱は、もう始まっている。


「でも……」


 彼女は小さく呟いた。


「やってくれるじゃない、マリエル。でも、そんな不正な稼ぎ方がいつまでも続くと思って?」


 レティシアは知っていた。

 市場に物が溢れすぎれば、次に起きるのは「金の価値の暴落」――ハイパーインフレだ。

 コピー品が市場を食い荒らし、正規の生産者が廃業し、供給の多様性が失われる。

 そして、コピー品しか存在しない市場は、コピー元が枯渇した瞬間に崩壊する。

 マリエルは自分の首を絞めていることに、まだ気づいていない。


 あるいは、気づいていて――気にしていないだけかもしれないが。


「……嵐が来るわ。経済の嵐が」


 レティシアは帳簿を閉じ、窓辺に立った。

 工場の煙突から立ち昇る煙は、いつもより細く、どこか頼りなげに見えた。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ