<米テスラがビットコイン決済を中止したら価格が暴落、それも「マイニング(採掘)」のための消費電力が大き過ぎるから、とは??? 以下は、アナログ頭でもビットコインのことがボンヤリ見えてくる解説> *この記事は、ニッセイ基礎研究所レポート(2021年5月31日付)からの転載です。 1――はじめに 昨年末以降、代表的な暗号資産であるビットコインが乱高下している。 足もとでは米大手電気自動車メーカーのテスラのCEO(「テクノキング」という肩書も名乗っている)であるイーロン・マスク氏による自社製品へのビットコイン決済への対応(自社製品へのビットコイン支払いを認める)とその取り下げ発言もビットコインの動きに関係しているなどと指摘がなされている。ビットコイン決済を取り下げた背景にはビットコインの「マイニング(採掘)」作業による電力消費の急増、そしてそれに伴う化石燃料の消費の急増といった懸念があるようだ。 では、そもそもビットコインのマイニングとは何だろうか。なぜ電力消費と関係があるのか。ビットコイン自体は10年以上も前に生まれたもので、これまで様々な解説がなされてきているが、足もとで関心が高まっていることもあり、改めて、本コラムでもビットコインのマイニングについて、やや詳細に解説してみたい。 以下ではビットコインではない暗号資産やブロックチェーンという一般概念にも触れているが、主にビットコインの仕組みを中心に説明している1。私たちは銀行預金による送金の仕組みを知らなくても銀行預金を利用しオンラインショッピングなどで活用しているように、ビットコインの仕組みを知らなくても、それを利用することは可能である。筆者も、電子機器など仕組みを知らずに使っている物の方が多い。それでも、「マイニング」という比喩表現が具体的に何を表しているかを把握することは、実際に暗号資産を保有したい(あるいは発掘したい)と考える人にとっては参考になり、ビットコイン(やそれを含む暗号資産、ブロックチェーンなど)に関連する報道をより深く理解する助けになると考えている。 ----- 1 ブロックチェーンのビットコインへの実装については、主にAndreas M. Antonopoulos, Mastering Bitcoinを参考にした。 ===== 2――ビットコインと預金 ではまず、一般に暗号資産とは何だろうか、という点から考えていきたい。 暗号資産はデータであり、コンピュータ上に記録されている数字の羅列である。 この数字の羅列は、例えばビットコインが暗号「資産」や仮想「通貨」と呼ばれていることから推測できるように、「価値の貯蔵」手段や「決済」手段などとして用いられることがある(ただし、例えばビットコインのドル建て価格は大きく上下に変動することから、価値貯蔵や決済よりも投機的な目的で保有されている印象がある)。そこで、少し暗号資産・仮想通貨の特徴を明確にするため、仮想ではない本物の通貨である現金や預金と比較してみたい。 例えば現金(紙幣や硬貨)はデータではなく、実際のモノである。例えばAさんが八百屋のBさんからリンゴを買いたいときはAさんがBさんにリンゴの価格分(100円)の現金と交換することで売買が完了する(決済される)。 一方、預金はデータである。通帳に印字すれば残高を見ることができるが、実体は銀行が管理するシステムの中にある数字の羅列である。例えばリンゴ10個を銀行振込で買う場合、Aさんはリンゴ10個を送ってもらう代わりに、銀行に対して価格分(1000円)の預金をBさん口座に振り込むように依頼する。銀行はAさんの口座残高を1000円減らし、Bさんの口座残高を1000円増やすことで売買が完了する(決済される)。 ビットコインはデータであるので、この意味では預金に近いと言えるだろう。ただし、ビットコインは銀行のように口座残高を管理する特定の管理者がいるわけではない。これはビットコイン(およびそれに類似する暗号資産)の大きな特徴と言える。 ビットコインは、そもそも銀行のようにデータを管理する特定の人がいないのに、Aさんは100ビットコインを保有している、そのうちBさんに50ビットコインを送金(移転)する、といった保管や取引をすることができるのである。 例えば、次の疑問は単純だが、なかなか興味深い。 「銀行のような管理者がいないのに、Aの財布にあるビットコインは持ち主でなければ使えないのはなぜだろうか(管理者がAさんであると本人確認し利用を許可している訳ではないのに)」 「AからBへの送金(移転)取引はどのように承認されているのだろうか、不正取引をどのように防いでいるのだろうか(「管理者」が不正のないように利用者を見張り、取引承認や口座残高データの増減をしている訳ではないのに)」 前者の回答はマイニングと関係ない部分も多いので、解説は別の機会に譲りたいと思う1。一方、後者の疑問はマイニングにも関連する。以下ではビットコインの特徴やマイニングの説明をするとともにこの疑問への回答についても解説したい。 ----- 1前者の疑問への回答は、公開鍵暗号/電子署名に関する仕組みを学ぶことで理解できる。例えば、松澤登(2020)「キャッシュレスを学ぼう(5)-暗号資産(仮想通貨)」『基礎研レター』2020-06-11には暗号資産の法的位置づけとともに、簡潔に記載されている。 なお、ビットコインの財布はAさん、Bさんという人に紐づいているのではなく、あくまでも電子上の宛先(データで示された住所であり、インターネットの「アドレス」やメールの「アドレス」のようなもの)である。実際には「Aさん」が電子上のAという電子財布(ウォレット)を作成し2、そこに住所(宛先、アドレス)が書かれているのである。Aの住所宛に送られてきたコインからBの住所に50ビットコインを送金(移転)する、という形になっている。 ----- 2 財布の作成は、ビットコイン端末を設置しネットワークへの参加すること(「ノード」と呼ばれる)とほぼ同義であるため、本コラムでは、このノードの意味で用いる。ただし、最近は暗号資産の交換や保管(カストディ業務)を行う業者が増えており、ネットワーク参加者でなくてもこうした交換業者を通じてビットコインを保有することができる。 ===== Aの電子財布を作成するのと、Aが銀行に口座開設するのとは似ているような感じもするが、実際には異なる。具体的に、預金データとビットコインを比較してみると、次のような違いがある3(図表1)。 ----- 3 以下で説明するようにデータとして銀行口座データとビットコインデータには違いがあるが、例えば決済業者にビットコインの保管を委託し、利用するという立場から見ると、預金口座や証券口座を保有するようにビットコイン口座が保有できるため、利用上の感覚は類似する。 まず、預金は様々な人・企業の口座(残高や口座間の異動)データであり、銀行が管理している(図表1の最上段)。Aさんは自分の口座の残高情報や数年前までの取引履歴を知りたいときには、銀行に依頼して、銀行が保有しているデータの一部をAさんに開示するという手続きを踏んでいる。 送金や現金の引き出しは、銀行に対して(ATMカードなどで)Aさん本人であることを示した上でなされ、また、その取引・残高データは銀行が記録する。 一方、ビットコインは、「取引」が連なったデータであり、ネットワーク参加者全員に共有されている(フルノード参加者全員が保有している)。なお「取引」データは、コインがどこからどこに行ったのかを記した、原資(資金源)と送金先・金額が記載されており、「残高」という視点でデータは蓄積されていない。 例えば、図表1中央下段の「【取引3】A→Cに100異動」の「取引」では、送金するための原資(【取引2】〔(3)〕の取引)と送金先((3)からCに100〔(4)〕)というデータが記される。そしてAの残り540(手数料除き)も「取引」の一部として((3)からAに540〔(5)〕)として記される。この後、Aがこの540を原資としてBに送金する場合は、(5)の原資からBに△△という取引が続くことになる(原資と送金先はそれぞれ複数で1つの「取引」となることもある(図表1の一番右の例))。Aが保有するビットコイン(使えるビットコイン)の残高を知りたいと思ったら、これまでの「取引」をすべて集めた上で、まだ送金されておらず原資として使える金額を合計する必要がある。 「取引」データの追加は、ある参加者が正しい(データ上不備のない)「取引」を作成すると、他の参加者にその「取引」データが伝送される形で、全参加者に共有されていく。参加者なら誰でも自ら「取引」を作成することができ、それが全参加者に共有される仕組みである(ただし、原資を保有する人しか、その原資をどこかに送金する「取引」を作成することはできないようになっている。これは前述の最初の疑問に関連する仕組みである)。 この「取引」がいくつかまとまって「ブロック」と呼ばれるデータの集合となる。そして、この「ブロック」の全体がビットコインのブロックチェーンと呼ばれている(チェーンと呼ばれる理由は後述)。「取引」の共有と同じく、基本的にはこのブロックチェーン(ブロックの集合体全部)を取引参加者全員が保有している4。この、ビットコインのような参加者(ノード)がすべてのデータを共有、管理している仕組みは「分散型」のシステムと呼ばれる5。 ----- 4 前述の通り、ここまで参加者によるデータの共有については、いわゆるフルノードの参加者を念頭に説明している。ネットワーク参加者でも、すべてのブロックをダウンロードしない軽量型のノードが存在する(計量型のノードは他のフルノードが持つブロックチェーンの情報を参照することで軽量化を実現している)。 5 分散型システムで保有されるこのデータのことを「(分散)台帳」と呼ぶことも多い。なお、共有されているデータは完成されたブロックチェーンだけでなく、「ブロック」になる前の「取引」なども含まれる(承認前の取引の意味であり、詳細は後述する)。また、「分散型」は銀行によるデータの独占のような「中央集権型」「集中型」の対義語となっている。 ===== 「ブロック」のイメージとして、図表1の下にそれぞれ数個の取引からなる「ブロック#1」~「ブロック#3」まで記載してみた。実際のビットコインはこんなに単純ではないが、イメージとしてはこのような構造で、ブロックはゼロ番から始まり、執筆時点で685,000近いブロックが存在している(図表2の「Height」欄、図表2ではブロックの#1~#3を左から順に並べたが、ブロックを下から上に積み上げるイメージもよく用いられ、その番号を示すものとして「高さ(Height)」の標記が使われる)。また、図表2を見ると、ひとつのブロックに1000から2000を超える取引が含まれていることも分かる(図表2の「Transactions」欄)。 なお、昔はブロックに含まれる取引数が少なく、1ブロックの大きさ(容量、サイズ)も大きくなかったが、近年は全体で1MB(メガバイト)を超えることが常態化している(図表3、なお、1ブロックの容量には制限があるため、1MBを大きく超えることはない)。ビットコインの正体は、最初に稼働してゼロ番目のブロックができた時(2009年)からのすべての「取引」およびそれを含む「ブロック」の連結であり、執筆時点ではビットコインのブロックチェーンの容量は約350GB(ギガバイト)に達する(図表4、当然ながらビットコインが生まれてから時間が経過し「取引」が増えるほどに容量はどんどん増えていく。実際、筆者は約7年ぶりにビットコインのクライアントを起動させてみたが、容量不足で起動できなかった。7年前のビットコインの容量は20ギガバイト弱であった)。 350GBのデータを大きいと思うかは人によるだろうが、暗号資産とは何か、という問いに対するビットコインの場合の回答は、この大きなデータの塊である。 なお、上記脚注3・4で少し触れたように、ビットコインの保有者すべてがネットワーク参加者とは限らない。むしろ、近年は交換業者にデータの保管を委託するケースが多いと見られる。また、ネットワーク参加者でも、すべてのブロックチェーンを共有しないケース(軽量型ノード)がある。上記の「参加者」はフルノード参加者を前提に記載しており、保有者のなかでもはブロックチェーンが共有されている層(一部共有も含む)と、共有されていない層がある点を補足しておきたい(なお、フルノード参加者は「マイニング」にも参加している)。 共有されていない層(例えばブロックチェーンの管理を業者に委託している人)にとっては、自分に関連するデータを業者に照会することになる(銀行口座の残高を問い合わせるようなものである)。 また「分散型」と言う特徴も、参加者間におけるデータの共有という意味で用いており、交換業者にデータの保管を委託している人はデータを保有している訳ではない。 ----- 1前者の疑問への回答は、公開鍵暗号/電子署名に関する仕組みを学ぶことで理解できる。例えば、松澤登(2020)「キャッシュレスを学ぼう(5)-暗号資産(仮想通貨)」『基礎研レター』2020-06-11には暗号資産の法的位置づけとともに、簡潔に記載されている。 2 財布の作成は、ビットコイン端末を設置しネットワークへの参加すること(「ノード」と呼ばれる)とほぼ同義であるため、本コラムでは、このノードの意味で用いる。ただし、最近は暗号資産の交換や保管(カストディ業務)を行う業者が増えており、ネットワーク参加者でなくてもこうした交換業者を通じてビットコインを保有することができる。 3 以下で説明するようにデータとして銀行口座データとビットコインデータには違いがあるが、例えば決済業者にビットコインの保管を委託し、利用するという立場から見ると、預金口座や証券口座を保有するようにビットコイン口座が保有できるため、利用上の感覚は類似する。 ===== 3――「マイニング」とは何か さて、ここまでビットコインのデータイメージについて大まかに説明してきた。ここからは、いよいよ「マイニング」について説明したい。 By convention, the first transaction in a block is a special transaction that starts a new coin owned by the creator of the block. This adds an incentive for nodes to support the network, and provides a way to initially distribute coins into circulation, since there is no central authority to issue them. The steady addition of a constant of amount of new coins is analogous to gold miners expending resources to add gold to circulation. In our case, it is CPU time and