前号: No 236 / 次号: No 238 / 一覧に戻る

メールマガジン「がんばりすぎないセキュリティ」No237 (21/12/06)

No237 ブロックチェーンにだって課題はある


No232から5回に分けてブロックチェーンの仕組みについての解説
を行いました。

今回は少し視点を変えて、現時点でのブロックチェーンの課題に
ついて解説をします。


1. マイニングのごほうびとは?

今や仮想通貨(暗号通貨)はビットコインだけでなく数百種類も 存在しているようですが、その多くはマイニングによってブロック チェーンを成立させる仕組みとなっています。 前回までに何度か書いた通り、ブロックチェーンの目的は信頼 できるサーバがなくとも、信頼に足るデータを構築する仕組みは できないものか?という要求が原点です。 そのため、ビットコインではPoW(Proof of Works)という方式を 採用し、後になってのデータ改竄には時間と労力が必要となること を逆用して、データへの信頼を得ようとしました。 ですが、PoWには労力がかかります。コンピュータをかなりヘビー に使用する上、消費電力もかかる行為です。何のごほうびもなく 協力を得ることは難しいでしょう。 そこで、ビットコインではブロック生成という面倒な作業に協力 してくれたらビットコインをあげるよ、というルールを組み込み ました。 このエコシステムが、参加者自身に積極的にブロックの生成に協力 する原動力となり、ビットコインの大成功につながりました。 ですが、ブロックチェーンには個有の課題もあります。 今回はこの点を解説していきます。

2. ブロックチェーンでは正直者がトクをする?

ブロックチェーンの偽造防止策がユニークなのは、これが理論的な 困難さを根拠としていない点にあります。 通常の暗号理論では暗号強度は正解を見つける数学的な難しさを 根拠にします。暗号化したデータから復号できる組み合わせが 何通りあり、それを試すには非現実的な時間(例えば何億年) もかかる、だから安全だ、という具合です。 ところが、ブロックチェーンでは少々様子が異なります。 確かに後付けでデータの改竄を行うのは非常に難しいのですが、 それは大半の参加者が正当にブロック生成を続けている場合にのみ 成立します。 もし、参加者の半分以上が不正な利益を得るためにデータの改竄に 注力すれば、たちまちのうちにブロックチェーンの仕組みは崩壊 します。流通するデータの半分以上がウソのデータとなれば、何が 正しいかを判別できなくなるためです。 これはブロックチェーンの51%問題と呼ばれています。 ビットコインのように巨大となったブロックチェーンでは既に十分 な数の参加者がいますから、全体の半分を越えるようなウソデータ を流し続けることは事実上不可能ですので、51%問題が表面化する おそれはほぼありません。 一方、立ち上げた直後などの参加者の少ないブロックチェーンでは 大きな計算能力を保有する参加者がいれば、データ改竄ができて しまいますから、簡単にブロックチェーンを崩壊させることができて しまいます。 2021年時点で、これの解決方法は存在しないようですが、研究は 行われていますので、今後の展開に期待といったところです。

3. ビットコインの高騰がマイニング競走を招く

もう一つのブロックチェーンの問題はビットコインの高騰による マイニング競走の発生です。 ブロックチェーンではブロックを生成するために大量の計算が必要 です。そのこと自体はブロックチェーンの設計を行っていた時点で 十分に検討済だったようですが、ビットコインの価値(ドルなどの 通貨との交換価値)がここまで上がることは想定していなかった ようです。 ビットコインを例に取れば、現在は1ビットコインは約500万円です。 2021年12月時点で、ブロック生成で約6ビットコインがゲットでき ますので、10分で3000万円を入手できるわけです。 そりゃ10分で3000万円の売上が得られるともなれば、目の色変える 企業だって出てくるというものです。 一方、最初期のビットコイン取引ではピザ2枚を1万ビットコイン で購入したそうですから、1ビットコインはせいぜい1円未満でした。 この事実から考えるに、初期設計ではPoWといっても、個人が保有 するパソコン(PC)で計算できる程度の計算量を想定していたの でしょう。 ですが、ビットコインがとてつもない価値を持ってしまったため、 ビットコインを手に入れることを目的に巨額の投資をする会社の 参入を招いたのです。 こういった会社にとっては、マイニング(ブロック生成)を成功 させることがビジネスそのものですから、より高速なコンピュータ を使いより効率良い計算を目指します。 同様に他の投資会社も負けずにより高速なマシンでより効率良く ビットコインを手に入れようとします。 この流れではエスカレートするのは目に見えています。 結果、個人で持てるようなコンピュータでは全くたちうちできない 領域となってしまっています。 ですが、一体どんな方法で高速化しているのでしょうか?

4. グラフィックボードがマイニングに?

ブロック作成の高速化には、いかにたくさんのハッシュ関数の計算が できるかがキモになります。 一般的にコンピュータの計算はCPU(Central Processing Unit:中央 制御装置)が行います。 このCPUは何でも計算できますし動作も高速なのですが、同時には 一つの計算しかできません。いくら計算が早くてもマイニングには 不向きです。 ですが、パソコンには、同時に複数の計算を行うのを得意とする パーツがあります。 それはグラフィックボードやビデオカードと呼ばれるパーツです。 ここで使われる半導体はGPU(Graphic Processing Unit)と呼ばれる もので、主にゲームでの画面描画を高速に行うためのパーツです。 ビデオカードは1990年頃に登場したのですが、当初は直線や円を 高速に描くことを目的としていたものです。しかしゲームが進化 し、立体(3D)を扱うようになってからは、その座標計算の高速化を するパーツとして進化します。 こういったゲームでの座標計算は、計算は割と単純なものの、一定 時間内に多量の計算をしなければならないという特徴があります。 そりゃそうです。ゲームを快適にプレイするには1秒で60回程度の 画面更新が必要と言われています。その短時間に描画できなくては ゲームになりません。 そのため、GPUのメーカは様々な高速化手法を実用化してきました。 そういった手法の一つにSIMD(Single Instruction Multiple Data) というものがあります。これは1つの命令(Single Instruction)で 複数のデータ(Multiple Data)を処理するというものです。 この方式では半導体の中に計算回路(例えば掛け算)数百個を組み 込みます。計算前に各回路には計算の元データ(例えば掛ける数と 掛けられる数)をセットしておき、「掛け算しろ」という命令を一つ 実行するだけで、数百の掛け算が一気に実行できるというわけです。 このやり方はゲームのように多数の座標位置を短時間に計算させる のに非常に向いているため、多くのGPUで採用されています。 このGPUの構造が「同じ計算を並行して多数行いたい」需要を満たす ことはメーカ側もずっと前からわかっていて、実際にシミュレーション (天気予報、橋の構造計算、飛行機の空気抵抗)分野に向けて以前 から販路拡大を目指していたのです。 そこに降って湧いたのが、マイニング需要でした。 この時点ではGPUのメーカ側もマイニング特需がどの程度続くのか 全く予想できず増産に二の足を踏んだ結果、高性能なGPUが極端に 入手困難となったのです。2018〜19年頃の話です。 筆者のようなライトゲーマーにとっても非常に迷惑な話でした。

5. 電気代が無視できないレベルに

さて、このようなGPUは、非常に電力の利用効率が高いのですが、 それでも高速なものになればなるほど、消費電力が高くなります。 上述の通り、少しでも高速にマイニングを行おうとすれば、ます ます消費電力は大きくなります。 この消費電力の問題はブロックチェーン方式の大きな課題となって います。 既に2020年の時点でいくつかのブロックチェーンで浪費されている 電力が小規模国家の電力消費量を越えているというレポートが発行 されているほどです。 しかも、マイニングは早いもの勝ちの競走ですから、競走に負けた コンピュータで消費された電力はどこにも使われません。 膨大な電力が全く無駄に消費されたこととなり、人類全体にとって も好ましくありません。 とはいうものの、それで経済的な利益があることは事実ですので、 そう簡単に止めることはできません。 暗号通貨が価値あるものと判断されている以上、仕方のないこと と言えます。 当初のブロックチェーンが目指していた「安価に安全な取引が行える こと」の実現には、まだまだ取り組まないといけない課題がたくさん あるようです。 ブロックチェーンに関する解説は今回で終わりです。 次回もお楽しみに。 (本稿は 2021年12月に作成しました)

前号: No 236 / 次号: No 238 / 一覧に戻る