仮想通貨を体系的に説明するCryptoEconomicsとは?
Shota

こんにちは。Shota(@shot4crypto)です。
本記事はCryptoEconomicsというコンセプトについて説明していきます。
CryptoEconomicsとはブロックチェーン技術を利用した仮想通貨の設計に関してを理論的に説明する学問分野です。
個人的にブロックチェーンの面白さを集約した部分だと考えているので、是非本記事でこの理解を深めていただきたいです!
この記事のポイント!
- 仮想通貨は暗号学と経済学を融合した分野である暗号経済学を軸に成立している
- ビットコインはP2Pシステムにおいて初めて貢献者にインセンティブを付与することに成功した
- ブロックチェーンの暗号学的な仕組みのおかげで通貨としての優れた機能や価値が保たれている
- 希少性やPoWなどのシステム緻密なシステム設計がネットワーク維持の肝になっている
目次
CryptoEconomicsとは?
CryptoEconomicsとは名前の通りCrypto(暗号)とEconomics(経済学)を融合させた分野です。正確には、Cryptography(暗号学)とEconomics(経済学)の2つの要素で構成されているとするものです。(対訳が見つからなかったので本記事では以降暗号経済学とさせていただきます。)
仮想通貨の暗号学的な側面に関しては暗号学的な、また経済的な側面に関しては経済学的な理論で説明をすることができます。
暗号学などの比較的複雑な理論体系を説明する前に、仮想通貨の根幹をなすブロックチェーンが何故革新的であるのかという点について説明していきます。
この説明の後に仮想通貨(ブロックチェーン)の暗号学的側面、経済学的側面の解説を行います。
ブロックチェーンの革新性
分散型台帳を利用したブロックチェーンの仕組みはP2Pネットワークの応用としてとらえることができます。というのもブロックチェーン自体が中央集権的なサーバーを持たず、個人個人が繋がることによって成立しているものであるからです。
P2Pといえば一時期世間を騒がせたWinnyなどのP2Pファイル共有が有名ですが、これらのP2Pとブロックチェーンの違い、Winnyなどのファイル共有システムが不完全なものとして終わった理由は何でしょうか。
P2Pファイル共有の失敗
P2Pファイル共有において不完全であった部分は単刀直入に言えばEconomicsの側面です。分散型のシステムである以上、ファイルをユーザーからダウンロードする際にファイルを所有するユーザーは常にネットワークに接続し続けていなければならないという前提があります。P2Pファイル共有においてこれらのネットワークに接続し続けているユーザーはシードと呼ばれますが、シードがネットワーク上にいて初めて成立するのがこのシステムです。
この際、シードには接続し続けておく状態の維持、すなわちP2Pファイル共有の環境維持に貢献するインセンティブは皆無です。その為、十分なシードがいて初めてエコシステムとして成立するtorrentは失敗に終わったと言われます。
ビットコインの出現
2008年Satoshi Nakamotoと呼ばれる人物(機関?)によってビットコインが誕生しました。
ビットコインはP2Pの分散型台帳を利用したブロックチェーンを利用して作られた初めてのコインでしたが、経済学的にP2Pが注目されるに至ったことには理由があります。
先ほども述べた通りP2Pのエコシステムの前提はネットワークに接続し続けるユーザーが存在することですが、ビットコインはP2Pにおいて初めて、ネットワークに接続し続けることに対してユーザーにインセンティブを付与することに成功しました。
これが経済学的にビットコインを価値のあるもの足らしめる重要な要素になっています。
このインセンティブ設計に関しては記事後半で具体的に説明します。
また、ハッシュを持つ連続性のあるブロックを生成し続ける仕組みや、ブロック内の情報を改変することが非常に難しい点、有効なトランザクションのみを処理する仕組みなどは暗号学・暗号理論的な部分と密接に関連しています。
これらの様々な要素が重なり、行動暗号経済学の学問分野の範疇で成り立つ初めてのモデルとしてビットコインの革新性が注目され始めるようになりました。
仮想通貨の暗号学的側面
先ほど軽く説明した仮想通貨(ブロックチェーン)の暗号学的な側面ですが、
- ハッシュ
- 署名
- Proof of work
- ゼロ知識証明
の主に4つの特徴が挙げられます。
ハッシュ
ハッシュとは簡単に言えばインプットされたデータを特定のアルゴリズムを用いた固定長の文字列に変換しアウトプットするというものです。BTCではSHA256というものが使用されています。このハッシュには主に2つの暗号学的特徴があります。
- 不可逆的
インプットするデータをA、アウトプットするデータをBとしたとき、AからBを生成することは可能ですが、BからAを復元することはできません。 - 衝突耐性
インプットデータA1とA2があった場合そのデータにほぼ違いがない場合(例:トランザクションにおいてXがYに2回同額送金)でも必ずこのアウトプットB1はB2と異なる文字列になります。
署名
現実社会においての署名は、例えば取引において自分がこの取引を受け持った、などの有効性を与え更に紙に押す印鑑などは複製ができないという点で大きな意味を持ちます。
ビットコインの署名においてもその意味は同一で、あるトランザクションにがどの二者間で行われたのかをデジタルで証明することができます。
まずは上のイメージで電子署名の全体像をご覧ください。
右の男の子二人は、このトランザクションの発行元が誰であるか(誰の署名が記載されているか)を知りたい状況であると仮定します。
トランザクション(TXs)発行者であるタケシ君は自身の秘密鍵(プライベートキー)AAAとその秘密鍵から生み出される公開鍵(パブリックキー)AAAを持っています。
TXsを発行する際、タケシ君は自身の秘密鍵AAAで暗号化の処理を施し、自身の秘密鍵で生成した公開鍵AAAでしか解読できない状態にします。
次に、マモル君とユウタ君が登場します。
彼らは、それぞれ公開鍵AAAと公開鍵BBBを持ちます。
このTXsには暗号化の処理が施されているため、解読(復号化)の処理を施さなければなりませんが、ユウタ君の持つ公開鍵BBBでは解読を行うことができません。
一方で、公開鍵AAAを使って解読に成功したマモル君は、このTXsがタケシ君によって発行されたこと(公開鍵AAAが秘密鍵AAAの保有者によって発行された)ことを証明することができます。
この一連のプロセスがビットコインで採用される署名方式になります。
Proof of Work
Proof of Workとは、集権的なネットワークでの合意形成が不正・エラーなどによってうまくいかないという問題を解決した、ビットコインの合意形成アルゴリズムのことです。
ユーザーはネットワーク上で、ナンスと呼ばれる16進数の数値を、ビットコインのハッシュの値(アウトプット)に当てはまるまでコンピュータの計算能力を使って算出しようとします。この計算はマイニングと呼ばれ、先ほど述べたP2Pにおけるインセンティブの付与の部分にも関係してくるのですが(後述)、この計算によって承認されたもの(=ネットワーク内で合意があるもの)のみがブロックチェーン上に繋がれていきます。
この計算は難易度が非常に難しく設定されており、アウトプットには膨大な計算能力と時間を費やします。これによって一部の人物がブロックの内容を自在に操ることなどが非常に難しくなります。その一方で計算の答え合わせは、ハッシュが既定のアルゴリズムを持つため非常に単純なものになります。その結果、指定されたアルゴリズムで暗号化されたもの以外の計算結果を弾く結果となり、それによって正確な合意を形成することができるようになります。
このネットワーク内の合意形成のアルゴリズムがProof of Workと呼ばれます。
ゼロ知識証明
ゼロ知識証明とは、命題が真であることを、真であることを伝える以外の方法で、真であることを証明することです。少しややこしい日本語だと思うので例を使って説明します。
Aさんはジャンケンの必勝法を知っているとします。Bさんは必勝法があるのかどうかをAさんに証明してもらいたいですが、Aさんは必勝法を教えずに必勝法があるということを証明(ゼロ知識証明)しなければなりません。
ここで、AさんとBさんは100回ジャンケンすることにしました。もし、Aさんがこのジャンケンで見事100連勝することができたならば、必勝法の詳細(知識)をBさんに教えなくとも証明することができます。というのも、ジャンケンの必勝法を知らなければ、その勝利の確率は、試行回数を重ねれば重ねるだけ一定の値に収束していきます。更に、BさんはAさんの必勝法が真であるか偽であるかという情報以外証明することができません。
仮想通貨において、このゼロ知識証明は様々な用途で使われています。先ほどの例において、マモル君やユウタ君が知り得るのは、タケシ君が発行したトランザクションであるか否かという結果のみです。
このゼロ知識証明によって『TXsの過程で何が起こっているのか』というテクニカルな部分を意図的に省略し、『このTXsはどういった情報を持つか』という必要な情報のみを知ることができます。
仮想通貨の経済学的側面
仮想通貨が価値を持つ理由などを説明するのが、暗号経済学における経済学的な側面(だと感じています)です。経済学的な仮想通貨の説明は主に2つのセオリーがあるのでそちらを紹介させていただきます。
- 需要と供給
- ゲーム理論
どちらも経済学を専攻された、もしくは理論を軽くでも理解をしている方にとっては、聞き馴染みのある言葉だとは思いますが、特に2つ目のゲーム理論に関しては仮想通貨独自のものとなっているので、是非一度目を通してみてください!
長くなってしまいましたがこの2つで最後です!
需要と供給
仮想通貨になぜお金としての価値がつくのか、という疑問に対しての答えは、金やお金と一緒で人々がその仮想通貨に対して信用を置いているからという点に尽きます。人々が、あるモノに対して共通の信用を置くことでそれに価値が付きやがてお金と同等として扱われるようになります。
この信用を裏付けにした需要、また供給量(=希少性)の関係性を表したグラフは仮想通貨の経済学においても同様に機能します。
(画像はたんめんさんの記事から引用させていただきました)
ビットコインは供給量が2100万枚と決まっていますが、ここで重要になってくるのが難易度調整とブロック生成時間の概念になります。これらが定められていない場合だと、マイナーが好きなだけビットコインを掘っては市場に投げ売る、供給過多の状態になり上の画像に照らし合わせても分かる通り、価値を保つことができなくなってしまいます。
難易度調整
この難易度調整のアルゴリズムは、ハッシュのアウトプット難易度に関連することなのですが、ユーザーから計算されたハッシュが承認されるのは、ある一定の数字以下の文字列が生成されたときのみです。この数字が難易度と呼ばれていてビットコインにおいてはこれが0から始まります。
ブロック生成時間
1ブロックの生成時間が10分、それに対するインセンティブが25BTCと定められています。これによって、無造作にブロックチェーンに新たなブロックを繋げられるだけ繋ぐといったようなことができなくなります。
難しい話になってしまいましたが、簡単に言えば採掘(計算)の難易度を定めることによって、採掘の結果(供給)をシステム的に調整できるということです。
この2点が大まかなビットコインの採掘のルールになります。このルールがあるおかげで、ビットコインの供給の市場において、参加者が常に整合性を保っている状態を維持することに成功していると言えます。
この2点が仮想通貨のシステム的な供給への影響となりますが、需要の部分に関しては、開発者チームの良し悪し、通貨の社会貢献などへのポテンシャル、歴史など様々な要素が影響していると考えられます。
仮想通貨におけるゲーム理論
経済学におけるゲーム理論は上の画像のような囚人のジレンマなどで有名ですが、仮想通貨におけるゲーム理論とはどんなものになるのでしょうか?
ブロックチェーンを改竄しようとするとき、Proof of Workの理論に基づけば、ネットワーク上のユーザーの合意形成が必要になることは自明ですね。
このブロックチェーンを見てください。1→2→3と繋がっていくのが通常ですが、悪意を持ったユーザーが1→2Aとブロックを分岐させて自分の利益のためにフォークさせたとします。
このときおそらく多くのユーザーは自身の計算を無駄にしたくないので1→2→3のブロックに合意します。ここでの悪意を持ったユーザーの利益は0になります。ここでの0というのは莫大な計算能力を使ってアウトプットまでした後の0です。つまり電気代などを考えた場合のマイナスです。
通常のネットワーク上のユーザーが取れる選択肢は
- 1ドル分の電気代分をブロックの報酬を貰う(+1ドル)
- 1ドル分の電気代分で承認される可能性が非常に低いブロックの承認(-1ドル)
の二択です。
画像だとこのようになります。
Proof of Workの合意形成アルゴリズムにおいて不正をすることがいかに不毛であるか、お分かりいただけたでしょうか?51%攻撃などの言葉からも直接推測できる通り、51%以上の合意を勝ち取れない限り不正に改竄などをすることは非常に難しい仕組みになっていますね。
囚人のジレンマなどがよく例にされることの多いゲーム理論ですが、どちらの行動をとるべきかは自明の理です。
このゲーム理論で証明された通り、マイナーが常に最大限の利益を出すことを目的としている前提であれば、マイナーは信頼できる可能性が高いということになります。
まとめ
長い文章になってしまいましたが、仮想通貨が暗号通貨たる所以を理解していただけたでしょうか?
今回は暗号経済学の簡単な説明でしたので、それぞれの内容についての詳しい説明は割愛させていただきました。ですがその代わりに、仮想通貨(暗号通貨)のどのようなシステムが暗号的であるのか、価値がどのように生み出され、マイニングのインセンティブがどのようにして生まれるのか、などの点に注目した内容になっています。