その6 オペレーション・マンダム

    *


 コンピュータ部の部室には六人の男女が集まっていた。俺は理乃とコンピュータ部の三人を前に状況をかいつまんで説明した。マトは学校を休んでいたところを俺が呼び出した。眼鏡をかけ、居心地悪そうに俺の隣に立っている。


「――と、いうわけだ。みんなの力を貸してほしい」


 俺は深々と頭を下げる。マトは「えと、その」とあたふたして言う。


「その、別に無理しなくてもいいし、えと、対価! 対価はちゃんと支払うから――単価百五十万人月、夜間五割増しの人工にんく計算で――」

「対価はなしだ」


 マトの呪文のような言葉を遮る。


「実際にかかった分だけでいい」

「でも、それじゃみんながやる理由がないわ」

「確かにないなあ」


 そう言ったのは理乃だった。マトははっとしたような顔で理乃を見て、そして切なそうに俯いた。理乃は両手を背で組んで、ツインテールを揺らしながらマトに近づいた。


「ねえ、マトっち。マトっちはどうしたいの? アメリカに行きたいの? 行きたくないの? どっち」

「私は……」


 爪を噛んで床に目を這わせるマトに、理乃はじれたようにたたみかける。


「サイバー兵器とセキュリティパッチ、どっちを作りたいの?」

「……」

「十億円と六百万」

「……」

「アメリカと日本」

「……」

「鴻上先生と祐」

「……」


 理乃は腰に手を当てて「やれやれ」と大きくため息をついた。


「これだからコンピュータにばっかかじりついてるは。いい? マトっちが祐を置いていくってことは、祐はあたしのものになるってことなのよ?」

「違うだろ」


 思わず口を挟んだ俺を理乃がきっ、と睨み付ける。


「そこまでしてマトっちはサイバー兵器を作りたいの? だったらあたしは何も言うことはない。応援するよ。友達だもん」

「私は……」


 バンッ、と鋭い音にみんながびくっとする。理乃がテーブルを叩いた音だった。


「覚悟決めなよ、マトっち」


 理乃がゆっくりと顔を上げてマトを見つめる。


「あたしも、祐も、コンピュータ部も、みんな覚悟決まってる。覚悟決まってないのはあんただけなんだよ、マトっち」


 コンピュータ部の連中を見ると、細田に隠れるように身を寄せながらも、首がちぎれそうなくらいうなずいていた。

 

「どっちを選んだっていい。でも、あんたが助けてって言えば、ここの連中はみんなあんたのために動けるんだ」


 マトは俯いたまま、スカートをぎゅっと握りしめる。振り絞るように、かすかな声が唇の間から漏れ出た。


「……助けて、祐……理乃……」

「おう」

「まかせて!」


 マトのか細い声に間髪入れず、俺と理乃が応える。


(これ、ほんとは祐の仕事なんだからね)


 理乃が俺の胸を小突きながらぼそっと言う。まったくそのとおりだった。


「あの、ボクたちもやります」


 三人並んだコンピュータ部の部員の真ん中、細田も手を挙げた。


「コロモガワ・マトさんの海外流出は国益に反すると思うので、協力は惜しまない所存です」

「ありがとう――でも大げさだな」


 俺が呆れたように言うと、細田はたたみかけるように言った。


「国益っていうのは冗談ですけど、でも、コロモガワ・マトさんが脆弱性を暴く側でなく、隠す側に回るなんて、考えただけで恐ろしいですよ」

「――そうだな」


 日本一の賞金額を誇るバグバウンティハンターによって見つけられ、対処された脆弱性は枚挙に暇がない。鴻上はマトによる被害は百五十億にもなると言っていた。それらはゼロリウムがすでに見つけていた脆弱性だ。今後はマトによって暴かれることもなく、それどころかマトによって新たな脆弱性が――サイバー兵器として見つけられることになる。細田の言うことは大げさではないのかもしれない。


「それに――また、コンピュータ部に遊びに来てもらいたいですし」


 細田が照れくさそうに笑う。


「よし、じゃあマトが受け取ったビターコイン、一千万ドル分相当を返金するぞ」


 俺はぱちん、と手を叩いてみんなの顔を見回した。うなずく瞳が力強い。

 マトはまなじりを指で拭くと、みんなと同じようにうなずいた。


「返金といっても一筋縄ではいかない。すでにキャンセルできる期間は過ぎているし、相手の返金先はわからない」

「じゃあ、返金先を調べればいいの?」

「そういう手もあるけど、そもそも返金先がない可能性が高い」

「銀行の方に事情を説明して受け取り拒否する、とかは?」

「俺も難しくてよく分かってないんだけど、ビターコインだけでなく仮想通貨ってのには銀行みたいなものはないらしいんだ」

「じゃあ、どうやってお金を受け渡すの? 直接人の財布から財布に渡すしかないってこと?」

「ああ、そうか。だから仮想通貨は口座じゃなくて財布ウォレットって言うのか――」


 俺が違うところに感心していると、マトが説明を始めた。


「仮想通貨はブロックチェーンを利用したP2Pの決済網のことよ。一定時間内に生じたトランザクションリクエストはブロック単位でまとめられ、直前に決済されたブロックの持つハッシュ値を元にした、ある条件を満たす値を見つけた人によって次のブロックを――」

「細田、つまりどういうことだ?」


 マトの説明を遮って細田に訊ねる。


「ボクもあまり詳しくはなくて――加藤の方が詳しいと思います。こいつ、数学強いんで」

「へえ、コロッケみたいな顔してるのに」

「してないでしょ! なんなんすか先輩、うちのコロッケになんか恨みでもあるんすか!」

「いやすまん、つい――それで、どういうことなんだ?」

「ブロックチェーンを成立させる要因の一つにはPoWプルーフ・オブ・ワークがあります。新たに決済されるブロックヘッダには直前に決済されたブロックのハッシュ値と、新しいブロックに含まれるトランザクション情報などがあるんですが、ヘッダ自身のハッシュ値は一定数未満でなければなりません。そのように調整するための値としてナンスがヘッダに含まれており、ハッシュの持つ一方向性関数の現像計算困難性に――」

「理乃、つまりどういうことだ?」

「諦めなよ、祐。理解するしかないよ」


 俺は肩をすくめながらホワイトボードに向かった。


    *


「つまり、仮想通貨ってのはトランプゲームのスピードみたいなもんなのか」

「は?」


 三十分後。頭から煙が出そうになっている俺の言葉に、理乃以外の全員がぽかんとした顔をする。失礼だな、君たち。


「今の話をどう聞いたらそうなるんですか」

「だってさ、スピードって、場に出てるカードより一つ大きいか、小さいかのカードを早い者勝ちで出すゲームだろ? 新しいカードが出るまで次のカードに何を出せるのかわからない、早い者勝ち、並びが正しいかどうかはいつでも確認できる、という意味だと一緒だろ」

「……まあそうですけど、そこまで単純化しますか……」

「すごぉい、祐! よく分かったぁ!」


 理乃のその反応もバカップルっぽいからやめてくれ。


「それで、今、マトのカード――一千万ドルの取引情報はもうカードの山に埋もれてしまっている状態だってことだ」

「そうですね」

「このマトのカードを抜くと、前後がつながらなくなる。だから今から取り消すことはできない、そういうことなんだよな?」


 みんながうなずく。


「じゃあ、マトのカードを抜いた後、そこにどんどんつなげていったらどうだ? マトのカードだけなかったことにするんじゃなくて、マトのカード以降すべてなかったことにするってのは」

「それはReOrg巻き戻しと言われる攻撃よ」

「あ、すでにあるんだ」


 思いつきで言ってみたけれど、意外にあり得る話だったらしい。


「どこかの時点で一枚のカードから二つの列に分岐するのよ。そしてその一方は隠しておく。当然、参加者たちは表に見えている列にどんどんつなげていくのだけれど、攻撃者の方は隠された列の方にどんどんつなげていく。時期が来たら隠していた列を表に出すってわけ」

「列が二つできていいのか? ブロックチェーンは一列しかないから信頼されるんだろ?」

「列が分岐することなんてしょっちゅうあるわ。そのときは列の長い方が残って、短い方は消える。だから、攻撃者は表の列よりも隠れて伸ばした列の方を長くしようとするのよ。ReOrgが成功した例は少ないけれど、もしかしたら試み自体はしょっちゅう行われているのかもしれないわ」

「ちょっとわかんないんだけど」


 理乃が唇に人差し指を当てて訊く。


「ReOrgは取引をなかったことにするだけでしょ? どうして攻撃者はそんなことをするの? それで得をするの?」

「別の通貨に換金してしまえばいい。例えば百万円分のビターコインを購入し、それを取引所で日本円に換金する。そしてビターコインの購入のところからなかったことにすれば――」

「手元には百万円が残る、ってわけか」

「そういうこと」

「でもそんな簡単なことがどうして防げないの?」

「防げるわよ――普通なら。表の列よりも長くするためには過半数の人たち――というか過半数の計算力を持ったコンピュータが悪意を持って結託しなければReOrgは成功しない」

「なるほど」

「それがPoWってことです」


 加藤が補足し、理乃が曖昧にうなずく。俺は書き込みで真っ黒になったホワイトボードを消して、「計算力」と書いた。


「他に問題は?」

「判例があるわけじゃないですけど、攻撃っていうくらいだから犯罪じゃないですか?」

「でも、やってること自体は不正じゃないでしょ」

「取引所は損害を被るわけだから――偽計業務妨害にはなりそうですね。それともブロックチェーンを破壊したってことで電子計算機損壊等業務妨害とか?」

「そんな罪状あんのかよ」

「そもそもダークウェブの取引所が訴えますかね」

「確かに」


 俺は「犯罪性」と書いて矢印を引き、その先に「ダークウェブなら大丈夫?」と書いた。


「じゃあ、みんな命が惜しかったら俺に協力しろ」

「なんですか急に」


 いざとなったら俺に脅迫された、ということにすればいい。そうすれば罪に問われるのは俺だけで済む。


「お気持ちだけ受け取っておきますよ、鷹野先輩」


 細田がそう言うと、コンピュータ部の他の二人もうなずいた。


「他にないなら、計算力だけの問題ということになるな」

「それが一番難しいんだけどね。すでに時間が経ってしまっているから、まずは表のチェーンに追いつかなきゃいけない。それにビターコインの場合は六時間を経過したブロックは確定してしまってReOrgできなくなる。過半数程度じゃ足りないと思うわ」

「なんか、早い計算方法とかないのか?」

「あったらみんなそれを使うわよ」

「だよな。そうするとなるべく多くのコンピュータをかき集めるしかないか。ここにあるのは何台だ?」

「……十台もないですよ」

「何台くらい必要だと思う? マト」

「スペックによるから台数でカウントできるものじゃないけれど、ビターコインの規模はかなり小さいから二千台程度あれば」

「二千台!?」


 桁が違った――しかも二つも。


「あの……クラウドを使うのはどうですか?」


 長谷川が手を挙げる。


「クラウド?」

「ざっくり言うと、コンピュータの時間貸しです。スペックが低いものなら一時間〇.五円くらいから借りられます」

「二千台でも一時間千円か。なんだ、いけそうじゃないか」


 声が弾む。クラウドすごい。


「実際にはもっとスペックの高いマシンじゃないとダメだと思いますけど、それでも一時間五百円くらいまでですね」

「千倍になってるんだが……」


 一時間百万になったぞ、おい。クラウドこわい。


「ダークウェブのクラウドを使うわ。一千万ドル分のビターコインを突っ込む」


 凜としたマトの声に振り向く。


「ええっと、それって――いいのか?」

「……正直、リスクはあるわ。けど、当事者の私が受け止めるべきだと思う」


 なぜリスクという言い方をしたのかはよく分からなかったが、マトの強い意志を込めた瞳に俺はうなずいた。


「では、これより『オペレーション・マンダム』、開始ッ」

「なにそれ」


 鴻上光太郎をコーコーと呼ぶマトだけがにやりと笑った。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます