星暁雄のブロックチェーン界隈ざっくり見て歩き

第6回

ブロックチェーンと暗号通貨への7つの疑問〜電力消費、攻撃は大丈夫? これはITなの??

(Image: Shutterstock)

 ブロックチェーンや暗号通貨の話題が「分かりにくい」と感じている人は、まだまだ多い。今回のコラムでは、よく耳にする質問をいくつか取り上げて回答を試みる。

 最初に断っておくが「正しいブロックチェーンの知識とは、こういうものだ!」という話をしたい訳ではない。ここで述べる回答は、私の取材活動を通して知り得た「現時点で分かっていること、言えること」を整理したものである。

 私は学者でもエンジニアでもなく、ブロックチェーンを推進する企業の役員や社員でもない。読者の皆さんの代表として専門家への取材を続けているフリーランスの一記者である。読者の皆さんと私は、同じ高さの地面に立っている。私の目から見えるものは、読者の皆さんからも見えるはずなのだ。

 なお、今回のコラムではブロックチェーンとは公共のブロックチェーン(パブリックブロックチェーン)を主な対象とすることにしたい。ブロックチェーンの本領を発揮できるのは、公共財としての分野だと考えているからだ。

【疑問1】暗号通貨はブロックチェーンのアプリケーションの一種なのか?

回答:暗号通貨は、ブロックチェーンのアプリケーション以上のものだ。暗号通貨はブロックチェーンのプロトコルを動かすために欠かせない要素だからだ。

 公共のブロックチェーン(パブリックブロックチェーン)と暗号通貨は表裏一体のもので、切り離せない。単なるアプリケーションとはいえない。

 ブロックチェーンと暗号通貨を切り離そうとした試みはいくつかある(Hyperledger Fabric、BBc-1などがある)。これらの評価が定まるのはまだ先のことだろう。

【疑問2】Bitcoinは消費電力が大きいそうだが、そこにどのような意味があるのか?

回答:Bitcoinでは電力を投入して不正な情報の記録を防いでいる。一方、電力消費が少ないブロックチェーンも存在する。

 Bitcoinが採用する機構の1つPoW(Proof of Work)に納得できない人々はまだ多いようだ。ほとんどの技術は省エネルギーの方向に進化しているが、PoWはあえて電力を消費することで機能する仕組みだからだ。

 Bitcoinは、計算能力を得るためにエネルギー(電力)を必要とする。その計算能力は、ひたすら検証=安全性確保のためだけに使う。常識的には、コンピュータにより大きなエネルギーを投入する理由は処理能力を高めるためだ。ところが、Bitcoinではいくらエネルギーを投入しても処理能力は一定だ。その代わり、安全性が上がる。これは今までのコンピュータ分野の常識に大きく反する挙動だといえる。

 ここで発想を変えて「ブロックチェーンとは一種の物理系なのである」と考えてみよう。エネルギー投入により情報の不変性(immutability)を確保する仕組みと考えると、PoWを採用したブロックチェーンが少しはイメージしやすくなる。どういうことかというと、あらゆる情報の書き換えにはエネルギーが必要である。情報の記録媒体が物理系だからだ。その書き換えに必要なエネルギー量が非常に大きければ、記録された情報は強固に守られることになる。

 情報を記録する対価は、エネルギー消費である。例えば、粘土板にくさび形文字を刻む場合でも、ハードディスク上の磁性体に情報を記録する場合でも、そして半導体メモリー内に集積した多数のコンデンサに電荷をチャージする場合でも、必ずエネルギーの消費が伴う。今までのコンピュータ分野は、半導体の微細加工技術を高度化し、情報の書き換えに必要なエネルギー量を少なくすることで高速、大容量に情報を処理する方向に進化してきた。

 ところがBitcoinを筆頭とするPoWを使うブロックチェーンでは、情報の書き換えに必要なエネルギー量を意図的に大きくした。それに加えてハッシュポインタでブロックを結びチェーン上のデータ構造を形成することで不変性(immutability)を確保、情報の改ざんを防いでいる。

 PoWよりも少ないエネルギーで同等の効果を狙うアルゴリズムがPoS(Proof of Stake)やその派生アルゴリズムだ。

 今までPoWを説明するのに物理系の例えを使ってきたが、PoSの場合は説明を変える必要がある。資産の所有権を持つ人々の投票により不正な書き換えの難易度を高める仕組みなので、例え話をするなら株式会社に似ている。PoSの変種といえるNEMのPoI(Proof of Importance)はユーザーの「重要度スコア(Importance Score)」を評価に組み入れるアルゴリズムだ。ブロックチェーンに記録された価値移転の記録を参照して重要度スコアを算出する。いわば経済活動に活発に参加したユーザーを高く評価する仕組みだ。

 PoWとPoSのどちらがより優れているかについては、まだ全員を納得させる結論は出ていない。PoWを採用するBitcoinはいぜん数ある暗号通貨の中で1位の時価総額を持つ。PoWは現時点で多くの人々に支持されていると考えていいだろう。重要な話として、Bitcoinに次ぐ巨大なブロックチェーンであるEthereumはPoWからPoSに移行する計画を持っている。この移行の結果によりPoSへの人々の評価が変わる可能性がある。

【疑問3】Bitcoinの消費電力は増え続けているそうだが大丈夫なのか?

回答:PoWの消費電力は増え続けるだけではなく、減少することもある。長期的に見れば市場の調整により一定水準で落ち着く可能性がある。

 Bitcoinのハッシュレート(計算能力の総和)は2018年夏をピークに減少した。これは消費電力も減少していることを意味する。

Bitcoinのハッシュレートの推移(過去1年分)
ピークの2018年8月頃に比べ、2019年1月末のハッシュレートは約2/3に減少した。それに伴い電力消費も減少している。(出典:Blockchain.info)

 PoWの仕組みを見ると、消費電力が無制限に上昇し続けるとは考えにくい。マイナーはマイニングで利益が得られる範囲でしか電力を消費しない。マイニングの利益が出る水準は、暗号通貨の市場価格と採掘難易度で決まる(マイニング機器の電力対性能比と電力価格が一定の場合)。暗号通貨の価格が下がるとマイナーが活動を控え、消費電力も抑制される。一方、暗号通貨の価格が上がりマイナーが利益を求めて設備を増強すれば消費電力は増える。しかし暗号通貨の価格が無制限に上がることはありえない。市場が納得する価格に落ち着くはずだ。それに伴い、電力消費もその価格で採算が取れる水準に落ち着くはずである。

 Bitcoin価格のバブルとその崩壊に伴い、設備投資を回収できなかったマイナーは打撃を受けたはずだ。だがエネルギー消費の観点で見れば、暗号通貨バブル崩壊とハッシュレート減少は、Bitcoinの消費電力を調整して持続可能性を高める動きだったといえるだろう。

【疑問4】BitcoinやEthereumにはファイナリティがないし処理能力が高くないそうだが、大丈夫なのか?

回答:ファイナリティ&処理性能と、Bitcoinのような1万ノード規模のブロックチェーンは今の技術では両立できない。目的にあったブロックチェーンを使おう。またレイヤー2が実用段階に入れば、この課題のかなりの部分が解決するだろう。

 スケーラビリティ(処理性能)、非中央集権性(ここではノード数)、セキュリティには、トリレンマの関係がある(関連記事)。普通のアプローチでは3つの要素のうち2つまでしか追求できないと考えられている。

 Bitcoinで用いられている合意形成(ナカモト・コンセンサス)は挙動が確率的となる。Ethereumなど多くのブロックチェーンが、このナカモト・コンセンサスを踏襲している。確率的な挙動を認めるかどうか、ここがブロックチェーンの設計の根幹に関わる問題ともいえる。

 ここで確率的とはどういう意味かといえば次のようになる。ある取引がBitcoinのブロックチェーンのブロックに取り込まれた段階(1承認)では、その後ブロックチェーン再編成(reorg)が発生してこの取引が覆る(取り消される)可能性がわずかに残っている。承認を重ねるほど取引が覆る確率は減っていく。慣例として6承認で取引確定と見なす。6承認という数字は一つの目安だ。少額の送金を3承認程度で確定と見なす場合もある。重要性が高い取引の場合はもっと多くの承認数を経てから確定とみなす場合もある。

 この確率的な挙動に対して「これでは合意とはいえない」「ファイナリティ(決済の確定性)がない」と批判的に捉える意見もある。「確率的な決済」や「確率的なデータの更新」という考え方は、従来の決済システムの仕様とは大きく異なる。また、情報システム分野で「トランザクション」といえば「不可分で一貫性と独立性があり永続的である」という性質(ACID特性)を徹底的に追求する考え方が長く続いていたが、その考え方からも大きく逸脱している。分散システム研究分野で研究されてきた合意形成アルゴリズムPBFT(Practical Byzantine Fault Tolerance)やその変種とも、考え方が大きく異なる。

 その一方で、ブロックチェーン界隈の人々にとっては確率的な挙動の合意形成、つまりナカモト・コンセンサスは受け入れ可能な出発点である。「Bitcoinは何年間もちゃんと動いているのだから、自分は信用する」という考え方の人が多いだろう。

 はっきり言おう。ナカモト・コンセンサスを受け入れる人々と、そうでない人々の間には分断がある。どちらの立場に立つかで、結論は大きく変わってくるだろう。ここでは中立的な立場から、両者のトレードオフを説明したい。

 Bitcoinでは確率的な挙動を許容することにより、BitcoinのP2Pシステムを構成する約1万ノード以上が単一の処理結果に合意することに成功している。Bitcoinではノードが増えても通信量が爆発的に増えることはないし、ノード数に全体の性能が引っ張られることはない。さらに、ノードは許可なく立ち上げて参加することができる。Bitcoinはノード数がいつの間にか増えたり減ったりしても正常に動き続ける。この特性をP2P界隈では「Churn耐性」と呼び、重要な性質と見なされている。大規模なノード数とChurn耐性を備えながら分散合意形成を機能させている点は、Bitcoinの発明と呼べるのではないだろうか。

 一方、ファイナリティや処理性能を追求したい場合、EOSやTendermintのような新しいブロックチェーン技術が登場している。ただし、ファイナリティがある合意形成アルゴリズムは、ノード数をあまり多くできない。EOSは21ノード、Tendermintは最大100ノードとされている。研究例としてNEC Laboratories Europeが開発した高速な合意形成アルゴリズム「FastBFT」(関連記事)は200ノードで毎秒10万取引を処理するとしている。高速性とファイナリティを追求した合意形成アルゴリズムは、ノード数の上限が21から200あたりまでが「相場」のようだ。

 またBitcoinのレイヤー2技術と呼ばれることもあるLightning Networkは、少額の決済では処理性能とファイナリティを共に追求できる。Ethereumの新技術であるPlasmaも、性能とファイナリティを追求するアプローチが可能だ。公共のブロックチェーンに取り組む人々は、このような新しい技術により大規模なブロックチェーンの性質を保ちながらファイナリティと処理性能の課題を解決できるはずだと信じている。

【疑問5】モナコイン、Ethereum Classicなどが攻撃を受けた。ブロックチェーンは改ざんできないというが、今や危ないのではないか?

回答:一概にいえない。Bitcoinのようなハッシュレートが巨大なPoWブロックチェーンが攻撃される可能性はきわめて小さい。ハッシュレートが小さなブロックチェーンには攻撃リスクがあるが、承認数を増やすことで被害を防げる。攻撃はダブルスペンド(二重支払)を狙うもので、ブロックチェーン上の記録内容の改ざんとは関係がない。

 2018年5月、モナコインが攻撃された(関連記事)。2019年1月にはEthereum Classicが攻撃された。モナコインへの攻撃の種類は「Block withholding攻撃」(セルフィッシュマイニング攻撃と表現している場合もある)、Ethereum Classicは「51%攻撃」。詳細は異なるが、大筋としては大きな計算能力を一時的に集め、それを悪用してダブルスペンド(二重支払)を仕掛けて利益を得たものだ。

 Block withholding攻撃や51%攻撃では、通常時では起こらないような規模が大きな(ブロック数が大きな)ブロックチェーン再編成(reorg)が起こる。これを利用して攻撃者はダブルスペンド(二重支払)ができてしまう。

 攻撃によるダブルスペンドの概要は次のようになる。攻撃開始と同時に暗号通貨を取引所に送金し、その直後に別の暗号通貨に交換して出金し、その後にブロックチェーン再編成により最初の送金を取り消してしまう。取引所は損害を受け、攻撃者の手元には送金した分の2倍の金額に相当する暗号通貨が残る。これとは別に、攻撃を受けた暗号通貨の市場価格が下落すると予想してショート(空売り)を仕掛け利益を得ている可能性もある。

 このような事件を理解するには、複数の概念を区別して考える必要がある。攻撃により送金を取り消す(ファイナリティを悪用する)ことと、ブロックチェーン上で確定した記録を改ざんする(不変性を破る)ことは本質的に異なる。また、攻撃が成立する条件は限られている。まずハッシュレートのかなり大きな比率(Block withholding攻撃では最大33%、51%攻撃では51%)を一時的にせよ支配する必要があり、これにはコストがかかる。ハッシュレートを集めることができ、なおかつ攻撃するコストより、攻撃による利益が上回る場合に、攻撃のリスクがあるということになる。

 ひとつの結論として、攻撃リスクがあるのはハッシュレートが小さなブロックチェーンだと考えていい。例えばBitcoinを51%攻撃するには過半数のマイナーを買収する工作が必要だ。しかもダブルスペンドを狙うには不意打ちの攻撃である必要がある。そのような大がかりな工作を秘密裏に進め、不意打ちで攻撃を仕掛けるというアイデアには無理がある。巨大なブロックチェーンへの攻撃のコストは大きく、利益の期待値は低いことから、攻撃するインセンティブは低い。

 また、ハッシュレートが小さなブロックチェーンにも有効な対策は存在する。「送金後に決済確定を遅らせてダブルスペンドを実行する」ことが攻撃の狙いである。したがって攻撃される懸念がある場合、送金を受け取る側が承認数を上げて決済確定を攻撃コストが釣り合わなくなるまで遅らせればよい。

 ここで例え話をしてみよう。古代メソポタミアでは粘土にくさび型文字を刻んで帳簿をつけていた。この種のブロックチェーンへの攻撃を粘土板に例えると、粘土板に記録した帳簿を粘土が固まる前の柔らかい段階で潰して書き直すようなものだ。記録した後に焼き固めた非常に堅い粘土板であれば、この攻撃はできない。また粘土が乾燥して固まるまで十分に時間をおけば攻撃を防ぐことは可能だ。

 ハッシュレートが巨大なブロックチェーンは例え話の「焼き固めた粘土板」のようなものだ。承認数を上げる対策は冒頭の例え話の「粘土板が乾燥して固まるまで十分に時間をおくこと」に相当する。

 例え話の結論としては、安全性を重視する場合にはよく焼き固めた粘土板(ハッシュレートが大きなブロックチェーン、例えばBitcoin)を使うべきだし、柔らかい粘土板(ハッシュレートが小さなブロックチェーン)を使う場合は乾燥して固まるまで十分な時間をかけること、つまり受け取る側が承認数を上げることが対策になる。

【疑問6】プライベート型ブロックチェーンの意味は?

回答:私企業が私有できるブロックチェーンである。

 今回のコラムは、公共のブロックチェーンに話を絞るつもりだったのだが、よく聞かれる質問なので短く回答する。

 プライベート型ブロックチェーン、コンソーシアム型ブロックチェーンはエンタープライズIT(企業情報システム向けの技術)の一種だ。P2Pと暗号技術を応用し、消えにくく、改ざんしにくいデジタル台帳を実現する。この観点から分散型台帳技術(Distributed Ledger Technology、DLT)と呼ぶ場合もある。

 このようなプライベート型/コンソーシアム型のブロックチェーンは従来型のデータベース管理システムと比べて何が違うのか、とよく聞かれる。複数の回答がありえるのだが、ここは意見が割れやすいところでもある。ここでは短くするために「ブロックチェーンの名前を使うと、コンソーシアムを実現しやすいこと」と回答してみたい。冗談を言っているのではない。通常のやり方では難しい利害が対立する企業が集まるコンソーシアムの設立を実現できる事例は登場しており、これはコンソーシアム型ブロックチェーンのメリットとして認識されている。

 そして、今回の疑問に限っては、今までの回答をいったん忘れてもらって構わない。プライベート型/コンソーシアム型のブロックチェーンは暗号通貨とは直接の関係はなく、PoWによる電力消費も通常は発生しないし、多くの場合ファイナリティがあり高速なアルゴリズムを使っているだろう。閉じた環境で動くので攻撃対策はあまり真剣に考えなくてもよい。

 面白いと思うのは、私有のブロックチェーンよりも、公共のブロックチェーンに取り組む開発者の熱気が上回っていると感じられることだ。特に若い人々の中には、公共のブロックチェーンしか眼に入らない人もいる。ここから何かのサインを読み取ることができるかもしれない。

 将来的には、プライベート型/コンソーシアム型のブロックチェーンは、公共のブロックチェーン(パブリックブロックチェーン)と連携して動くようになると考える人々もいる。

【疑問7】ブロックチェーンはITなのか?

回答:公共のブロックチェーンはITの一種というよりも、それ以上のものだと考えた方が分かりやすい。プロトコルの動作のために人間の活動が欠かせないからだ。

 私自身はIT、つまり情報技術について長い間取材を続けてきて馴染みがある。ITは今や文明を支える主要技術の一つと位置づけられるようになった。ブロックチェーンはそのようなITの長い伝統を踏まえて生まれてきた技術なのかと問われたなら「必ずしもそうとは言えない部分がある」と私は答える。これは記者としての直観だ。

 ITのメインストリームとは違う場所から、Bitcoinが生まれ、それに続く各種のブロックチェーンが登場した。BitcoinもEthereumも大学、研究機関、企業の研究開発とは違う場所から生まれてきた。そして「今までとはどこか違う匂い」がする。

 ブロックチェーンの動作には人間の関与が欠かせない。Bitcoinの動作のためには、設備を買い、電気代を支払ってマイニングをするマイナーの存在が前提となる。もちろん手数料を支払ってBitcoinを送金するユーザーの存在も大事だし、Bitcoinのソフトウェアを継続的に改善し続けている開発者コミュニティの存在も欠かせない。プロトコルの動作に人間という要素が組み込まれているという事情は、他のブロックチェーンでも同様だ。ゲーム理論とブロックチェーンを組み合わせた取り組みも登場している(関連記事)。

 暗号通貨を説明するとき、よく引き合いに出される例え話として「ヤップ島の石貨」がある。動かせないほど大きな石の貨幣に印を刻み込むことで、財産の所有権の移転を表現する。これは、暗号通貨が改ざんできないブロックチェーンに情報を記録することで価値の移転を表現するのとよく似ている。価値の移転を記録する媒体という意味では、石貨は共有財といえる。ブロックチェーンもまた、そこに参加する人々の共有財としての性格を持っているといえる。

 ここで一つの提案をしたい。「Bitcoin以前」と「Bitcoin以後」で技術思想に断絶があることを認めてしまおうではないか。

 Bitcoinの開発者たちは、従来の常識とはいろいろな点で異なる技術体系を作り上げた。確率的な挙動のナカモト・コンセンサスや、「特定の第三者への信頼を前提としない」設計(トラストレス)などだ。Ethereumの開発者たちはそのアイデアを引き継ぎ、万能のブロックチェーン(スマートコントラクト実行機能を備えたブロックチェーン)という魅力的なアイデアを形にした。

 いずれブロックチェーン分野の知識は整理されて、従来型の技術体系ときれいに接続されて理解されることになるのかもしれない。だが現段階では、「確率的な分散合意形成」「第三者の信頼を前提にしない取引」のような新しい概念を扱うには、従来の情報システムの常識をいったん忘れて、改めてブロックチェーンを理解する立場に立った方が分かりやすいのではないか。

 若い人々は特に抵抗なくブロックチェーンを学んでいるのであまり心配しなくてもいのかもしれない。ただ、年長の人々はいったん古い知識を忘れて取り組んだ方が早く理解できる可能性があると私は考えている。

星 暁雄

フリーランスITジャーナリスト。最近はブロックチェーン技術と暗号通貨/仮想通貨分野に物書きとして関心を持つ。書いてきた分野はUNIX、半導体、オブジェクト指向言語、Javaテクノロジー、エンタープライズシステム、Android、クラウドサービスなど。イノベーティブなテクノロジーの取材が好物。