お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
それって,ブロックチェーン使わなくてもいいんじゃないですか? 第3回:ブロックチェーンさんって何をしてらっしゃるの?
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2023/03/23 08:00

連載

それって,ブロックチェーン使わなくてもいいんじゃないですか? 第3回:ブロックチェーンさんって何をしてらっしゃるの?

画像集 No.001のサムネイル画像 / それって,ブロックチェーン使わなくてもいいんじゃないですか? 第3回:ブロックチェーンさんって何をしてらっしゃるの?

 こんにちは! しおにくです。ブロックチェーンゲームの未来をしっかり見据えていく連載の第3回です。見据えすぎているあまり,今のところNFT周辺の話題でよく見かける「唯一無二」「複製不能」「永久不滅」なデータの話は一切出てきていないんですが,大丈夫でしょうか。きっと大丈夫です。

 前回はブロックチェーンのオリジンとも言えるサトシ・ナカモトの論文を紹介し,そこに書かれていた「二重支払い防止」とはどういうことか,またそれを防ぐために中央集権的な管理サーバーが何をやっているかについて,オンラインゲームのDUPEも例に出しつつ説明しました。

関連記事

それって,ブロックチェーン使わなくてもいいんじゃないですか? 第2回:サトシとアイテムDUPE

それって,ブロックチェーン使わなくてもいいんじゃないですか? 第2回:サトシとアイテムDUPE

 ブロックチェーンを紐解く連載第2回は,サトシについてです。ブロックチェーンゲームもNFTも,サトシ氏の論文なくしては始まりません。始祖にして頂点ともいえる部分を,まずは押さえておきましょう。

[2023/02/27 07:00]

 では今回は,サトシ・ナカモトの論文に記された二重支払い防止策が,どのような形でブロックチェーンの姿となって実現されたのか,そしてそのブロックチェーンネットワークを維持するためにゲームユーザーへの影響が発生した「あること」について書きたいと思います。


ブロックチェーンって結局のところ何なの?


 第2回で紹介したサトシ・ナカモトの論文のイントロダクションに「What is needed is an electronic payment system based on cryptographic proof instead of trust,allowing any two willing parties to transact directly with each other without the need for a trusted third party.」とあります(拙訳:必要なのは信用ではなく,暗号ロジックに基づいた電子決済システムによって,信頼できる第三者を用意することなく二者が直接に相互取り引きできることだ)。

 前回,様々な策で二重支払いを防止してくれた「中央集権的な管理サーバー(=信頼できる第三者)」ですが,これを無くしてしまって,二者間での取引を成立させようというのです。
 そして,この論文にもとづいて実装されたリファレンスから,ブロックチェーンの最初にして最適な活用例である「ビットコイン」が誕生しました。
 そもそも二重支払い防止を志していたのだから,その仕組み自体を決済に使える仮想のコインにしてしまえばいい。なるほど,それはそう。

 ブロックチェーンはその名前から推測できるとおりデータの「ブロック」が「チェーン」のように連なっているものです。これから新しい用語が続出しますので,混乱は必至です。ですので,分かりやすいように先に図にしてみました。

画像集 No.002のサムネイル画像 / それって,ブロックチェーン使わなくてもいいんじゃないですか? 第3回:ブロックチェーンさんって何をしてらっしゃるの?

 ブロックがチェーンのように繋がっていますね。一つ前のブロックから次のブロックへ何かが渡されています。これがブロックをチェーンたらしめている「ハッシュ値」です。
 よかった,ハッシュ値については第2回で説明しておきました。元の文字列を暗号化して得られる,不可逆な固定長の値のことです。どうやら,一つ前のブロックを元に作られたハッシュ値を次のブロックに埋め込むことで,数珠つなぎを成立させている模様。

 悪意をもって元の文字列(この場合は取引データ)を書き換えたりすると,ハッシュ値も変わってしまうわけですから,一つ前のブロックで生成したハッシュ値を次に渡せば,元を辿って検証するのに有効です。「なんか途中でズレとる思うたら,おまえハッシュ値違うやんけ! パチもんか,いらんわ!」と書き換えられたブロックを棄てることができます。検証がしやすいイコール「改ざんに強い」というわけですね。
 それに,ハッシュ値は暗号化して作るわけですから,ビットコインなどが「暗号資産」と呼ばれるのも納得です。


演算をマイニングと呼ぶ理由


 なんとなく「暗号化されてるハッシュでつながってて,検証ができるんだな」というイメージが湧いたところで,ブロックに含まれている内容を挙げてみます。

画像集 No.003のサムネイル画像 / それって,ブロックチェーン使わなくてもいいんじゃないですか? 第3回:ブロックチェーンさんって何をしてらっしゃるの?

【ブロックに含まれているもの】
(1)ハッシュ値:一つ前のブロックで得られるハッシュ値
(2)マイニングの難易度:ナンス値を演算する時間の調整に使われる
(3)マークルルート:これまでの全トランザクションの要約(マークルツリーのルートハッシュ)
(4)タイムスタンプ:ブロックが生成された日時
(5)ナンス値:マイニングの結果,導き出される値
(6)取引のデータ

 マイニングという言葉が出てきました。すなわちmine(採掘する)ということなのですが,これだけだとちょっと意味わかんないですよね。
 ビットコインが日本のIT業界で話題になり出した2012年ごろは,ちょうど「マインクラフト」の流行り始めでもありましたから,当時のぼくは,マイニングをマインクラフトの中で金鉱を掘ることだと誤解してたほどです。

 ビットコインにおけるマイニングというのは,ブロックチェーンを成立させるために,そのネットワークにコンピュータ(ノード)を参加させて,演算をすることです。演算をして求められている結果にたどり着くことで,報酬を得ることができます。なので「採掘」なのですね。
 ツルハシを振るって……カン!カン!……カン!カツン!キラッ!金だ! となる。試行錯誤をして報酬を手に入れるその行為に,マイニングという言葉が使われるわけです。

 ではその“マイニング”では,実際にどんな演算をしているのでしょうか。

 前提として,先程の図のように「前のブロックからやってきたハッシュ値(A)と今回の取引データに,ナンス値(X)を加えてさらに暗号化し,新たなハッシュ値(B)を作って次のブロックに渡したい」とします。

 このとき,「ハッシュ値(B)の先頭16桁がゼロになるナンス値(X)を答えてください」という大喜利が出題されていると想像してください。256桁に及ぶハッシュ値のうち先頭16桁さえゼロになればそこから後ろはどんな値が出力されてもOK,というお題です。

 当然,前のブロックで導き出されたハッシュ値(A)や取引データそのものはいじれないですが,そこに加えるナンス値(X)であればいじれます。とはいえ,ハッシュ値(B)というのは暗号化後の復号できない値になりますから,ヒントがあるわけでもなく,先頭16桁がゼロになるものを,ひたすら総当りで探すことになります。

 それに総当たりといっても,自転車のナンバーロックを0000から9999まで手で順番に合わせていってロックを外すのとはわけが違います。ナンス値(X)を1増やしても,それを暗号化したハッシュ値(B)の数値部分が1増えるわけではないからです。ハッシュ値(B)の先頭16桁がゼロになるかどうかは,実際にナンス値(X)を加えて,暗号化をしてみなければ分かりません。

 ここで何かいい例えはないかと「茶碗蒸しを作るときの卵と出汁のいい感じの比率を,試行錯誤して試食する」というのを思いついたんですが,Google先生に聞いても,最近流行りのChatGPT先生(GPT-4)に聞いても,茶碗蒸しにおける卵と出汁の割合は「1:3が黄金比」だとか「Mサイズ(50ml)の卵1つに対して出汁150ml」だとかを教えられてしまいました。この例だと答えが1つに決まってしまっているので,ノードに総当たりさせて条件に当てはまるものを導くという比喩にはなりませんね……。

画像集 No.004のサムネイル画像 / それって,ブロックチェーン使わなくてもいいんじゃないですか? 第3回:ブロックチェーンさんって何をしてらっしゃるの?

 さて,このお題について誰よりも早く正解にたどり着くと,報酬が受け取れます。ビットコインのブロックチェーンネットワークであれば,ビットコインそのものを少量受け取ることができるのです。大喜利で早く答えて,ウケたら座布団を持ってきてもらえるのと一緒ですね。

 参加者(ノード)が全力で総当たりの演算をして「おれが一番最初に正解した!ビットコインくれ!」のチャレンジを繰り返す。

 こうしてめでたく,マイニングによって最初に辿り着いたナンス値を使い,新しいブロックに埋め込むハッシュ値が生み出され,チェーンの先端にブロックが追加されます。
 この一連のブロック生成工程を「プルーフオブワーク(PoW:Proof of Works)」と呼びます。

本文中に出てこなかった二つのキーワードについて解説します。

(2)マイニング難易度
 「先頭16桁のゼロ」の16桁という部分を何桁にするかで,演算の難易度調整ができます。多ければ多いほど難しくなり,正解に辿り着くまでの時間がかかります。
 ビットコインのブロックチェーンネットワークは,約10分でブロックが1つ追加されることを想定して作られていますが,マイナー(マイニング参加者)の数が多くなったり,マイニングするノードの性能アップなどでさっさと演算が終わってしまうことも予期されます。その時間調整を,この難易度でしています。
 PoWにおいては,ノードの演算が短くなればなるほど,一定期間内にブロックチェーンネットワークからマイナーへ渡す報酬が増えてしまいますので,時間がかかるようにして報酬を配り過ぎないようにしているわけです。

(3)マークルルート(merkle root)
 これまでのブロックのハッシュ値をニコイチ※1で組み合わせてハッシュにし,それをさらにニコイチにしてハッシュにし……というのを繰り返したものです。ニコイチを繰り返せば,必ず最後は1つのハッシュ値になります。
 ブロックヘッダ※2に書き込まれたマークルルートですが,固定長ですからデータサイズとしてもコンパクトで,取引の「要約」と呼ばれたりもします。もちろん,これも過去に遡って改ざんしようものなら大きくズレますので,データが書き換えられていないかのチェックに活用できます。

※1
この場合は「2個から1個を作る」意味


※2
(1)〜(5)を「ブロックヘッダ」と呼びます



勃発! GPU争奪戦!


 さてこの,トランザクションにつき大量の演算が必要になるブロックチェーンネットワークですが,マイナー達は,次のような手法で一刻も早く正解に辿り着こうとします。

マイニングにおける様々な工夫
・ブルートフォース:総当たりに近いですが,英数字を順番に試すのではなく,ナンス値をランダムに変化させて次から次へと試す
・マルチスレッド:戦いは数だよ兄貴! とばかりに,CPUのコア数を頼りに同時に複数のナンス値を探す
・マイニングプール:複数人で手分けして演算し,報酬が出たら山分けする。手法というよりはチーム参加
・GPUマイニング:CPUよりも演算が速いGPUを使って,マイニング1秒あたりの演算速度をアップする。ちなみに単位は hash/s(H/s)
・専用のハードウェア:ビットコインのマイニングに有効な「ASIC(Application Specific Integrated Circuit)マイニング」や,「FPGA(Field Programmable Gate Array)マイニング」などがある

 はい,4Gamer.netの読者ならピンと来る言葉「GPU」が出てきました。
 そうです,ブロックチェーンネットワークによっては,GPUによる演算がとても効果を発揮する場合があるんです。

 2017年ごろからブームとなった暗号資産「イーサリアム」において,このマイナー達によってGPU争奪戦が始まりました。さらにイーサリアムが高騰した2018年には,GeForce GTX 1080シリーズやRadeon RX 560シリーズなどが店頭から消え,中古市場も高騰しました。この時期,欲しいグラフィックボードが買えずに「仮想通貨憎し!」となったゲーマーもいるかもしれませんね。

 この流れについて,過去の4Gamer.netの記事から2つピックアップしてみました。

「日本向けの企画を今後も実施する」「カードの国内価格はなんとかしたい」――AMD幹部2名に日本市場攻略のカギについて聞いた
※2014年の記事で,すでにグラフィックボードが仮想通貨マイナーによって買われていることが窺える。

NVIDIA,「GeForce RTX 3060」で仮想通貨の採掘処理性能を制限。製品を本来のターゲットであるゲーマーに届けるため
※コロナ禍を発端とする半導体不足から,ターゲットと製品を棲み分けしている。

 最後に紹介した記事にあるように,ハードウェアメーカーによってマイニング用途での性能が制限されることによって,ゲーマーとマイナーの間での争奪戦は回避されつつあるようですが,世界的な半導体不足の前には誰もが手も足も出ない状況,といったところでしょうか。


どうしてマジック:ザ・ギャザリングが関係あるの?


 今回は,ブロックチェーンやビットコインにおけるマイニングの仕組みと,過熱するマイニングによってグラフィックボード争奪戦が起こったことまでをお話しました。
 グラフィックボード争奪戦をしてまでGPUを求め,入手したそれを世界中でブン回して成り立っているブロックチェーン。その莫大な消費電力の源は,石油を始めとしたエネルギー資源なわけですから,さすがにこれはエコではありません。

 さきほど説明したPoWと呼ばれる「演算という仕事をすればするほど褒美にありつけた」構造から,プルーフ・オブ・ステークス(PoS:Proof of Steaks)へと時代が移っていくことになります。これについては,ブロックチェーンゲーム,NFTゲームの主戦場となる「イーサリアム」ネットワークの解説のところでお話したいと思います。

 さて,次回は「きみはMt.GOX事件を覚えているか!?」です。「マウントゴックス」だと山なのか何なのかわかりませんが,「マジック:ザ・ギャザリング オンライン エクスチェンジ」の略だと知ると,俄然興味が湧きませんか? そしてオンラインゲームとは切っても切り離せない,人によっては耳にするだけでアレルギー反応を起こす(?)キーワード「RMT」も登場です。お楽しみに。

(続く)

■■しおにく■■
20年前にMMOのゲームマスターからオンラインゲーム業界でのキャリアをスタートし,RMT対策やコンプガチャ問題など,ゲームと社会の課題に取り組み続けている。近著は「NFTゲーム・ブロックチェーンゲームの法制」。最近の推しは #ババババンビ


「それって,ブロックチェーン使わなくてもいいんじゃないですか?」連載一覧

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:03月28日〜03月29日