ブロックチェーンとは何なのか、ややこしいところを中心に概要をざっくりと

ここ数年でブロックチェーンという単語をよく耳にするようになりました。が、イマイチ理解できていなかったので、自分なりにまとめ。備忘メモ。
具体的な動作や理論については書きません、概要をざっくりと書きます。

ブロックチェーン is 何

思想などは後回しにして、とりあえず実体の部分から書いていきます。ブロックチェーンとは何なのかという話ですが、大枠としては「情報の管理手法の一つ」と捉えています。ブロックチェーンの定義を聞かれるとなかなか明確な回答を出すのは難しいと思いますが、JRA日本ブロックチェーン協会)は以下で次のように定義しています。

1)「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」

2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」

この定義を見ても分かるように、ブロックチェーンを一言でズバッと表現するのは難しいかもしれません。未だにfuzzyな印象です。

個人的に「ブロックチェーンとはこういうものだ」ということを理解し辛かった理由の1つとして、ブロックチェーンは大きく2つの特徴的な仕組みを持っていて、それを組み合わせることで成立する技術であったことが挙げられます。その1つは、情報を管理するための「データ構造」です。もう1つは、情報を管理するための「管理手法」です。

まず「データ構造」についてですが、ブロックチェーンはその名の通りブロック(情報の集まり)をチェーン状に繋げていくようなデータ構造で情報を管理します。詳細は割愛しますが、この構造の利点として改竄の検出が容易であることが挙げられます。で、このような構造を持っているからブロックチェーンと名付けられているのか〜、という感じですが、巷で使われているブロックチェーンという言葉はこのデータ構造そのものを差しているわけではないというのがややこしいところです。この「データ構造」を前述の「管理手法」で運用することで、ブロックチェーンという仕組み(概念?)が成立する、という形になっています。

「管理手法」はざっくり言うと、「データ構造」を誰がどうやって管理するかを決めたルールのようなものです。これはブロックチェーン界隈の用語では「合意形成(コンセンサスアルゴリズム)」と呼ばれています。ブロックチェーンという名前が付けられているのでどうしても「データ構造」への意識が強くなってしまいますが、この「管理手法」部分も非常に重要な要素です。むしろ、ブロックチェーンの革新的なところはここにあると理解している人も多いと思います。

まとめると、ブロックチェーンの実体は、特徴的な「データ構造」と「管理手法」を持った「情報管理機構」という認識でいます。それぞれの詳細は別の記事ででも書こうと思います。

ブロックチェーンを使うと何が嬉しいのか

ブロックチェーンは「情報の管理手法の1つ」でしかないので、当然他にも情報の管理手法はあるわけです。代表的な比較対象として、データベースがしばしば挙げられます。ではデータベースなどの従来の情報管理手法とブロックチェーンの差異はなんだろうという疑問が湧いてきますが、これを考える上でも少しややこしいことがあります。それは、ブロックチェーンには「プライベート」なものと「パブリック」なものが存在することです。

サトシナカモト氏が提案した本来のブロックチェーン技術(ペーパーではブロックチェーンという言葉は使われていません)は、信用された第三者による仲介なしに電子通貨の取引をよしなに成立させることが目的となっています。つまり、非中央集権が根本的な設計思想です。これを実現するために前述の「管理手法」、すなわち、中央管理者の存在無しにどうやって参加者間で合意を形成するのか、何をもって正しいとするのか、が提案されました。この仕組みによって、非中央集権的・自律分散的な情報管理の場を作ることが可能になったのです。これが、ブロックチェーンを使って嬉しいことの1つです。そして、従来 ”集中的な管理機構” が必要とされてきたケースをこのブロックチェーンで置き換えられるのではないかということで、色々な分野に適用していくことが期待されているわけですね。このように非中央集権を意識し、誰でもブロックチェーンの運営に携われて、みんなでそこで発生するやり取りの正しさを証明していこうというのがブロックチェーン元々の姿であるように思います。このようなブロックチェーンはその特性から、パブリックブロックチェーンと呼ばれています。

パブリックなブロックチェーンが誕生し注目される一方で、プライベートなブロックチェーンという考え方も生まれてきました。プライベートブロックチェーンは、中央的な管理機能を備えたブロックチェーンです。中央管理機能を導入することで、パブリックブロックチェーンの課題であった取引の高速化、プライバシーの保護などにアプローチできます。しかしこれは、非中央集権という本来のブロックチェーンの思想に反するものです。それでは本末転倒ではないかと思ってしまうのですが、ブロックチェーンが持つ「中央管理機能の排除」以外の凄味に注目し、そこを活用しようというのがプライベートブロックチェーンです。主に、企業などの組織内での閉鎖的な使用が想定されています。例えば、ブロックチェーンが持つ改竄検出が容易なデータ構造を他の何かに適用できないか、ブロックチェーンを使って企業内の中央管理システムを排除して低コスト化できないか、というような仮説のもと、実証実験が行われている段階です。その効果については未知数なところが多いと思いますが、ブロックチェーンの特性を見ていると確かに何か色々なことに利用できそうだという感覚になります。

つまり何が言いたいかというと、パブリックブロックチェーンとプライベートブロックチェーンとでは、見ているもの、実現したいことが違うということです。なので、ブロックチェーンを使うと何が嬉しいのか、ということを考える際には、それがパブリックなものなのか、それともプライベートなものなのかという前提が必要なわけです。どちらが優れているという話ではなく、別の技術としてそれぞれ議論するほうがいいかなと思います。

ブロックチェーンが管理するもの

僕はブロックチェーンを知ったばかりの頃、ブロックチェーンは仮想通貨の送金処理の管理のためだけに使うものだと理解していました。しかし、ブロックチェーンにはそれ以外の様々な用途があります(ブロックチェーンの種類によっても異なるかもしれませんが)。

興味深いのは、ブロックチェーン上に任意のソースコードを配備できる点です(これもチェーンによるかもしれませんが)。このコードは一般にスマートコントラクトなんて呼ばれていたりします。ブロックチェーン上にソースコードを置いてみんなが利用できるようにすることで、中央的なサーバ無しでのコンピューティングプラットフォームを実現できます。コードに書かれた処理を実行するのは、所謂マイナー達です。コンピュータやネットワークの世界では「集中 vs 分散」という構図で色々な議論がなされてきましたが、このブロックチェーンでの分散アプローチはその視点でみても非常に面白いものになっていると感じます。

このようにブロックチェーン上にソースコードを配備することで提供されているアプリケーションは Dapps (Decentralized Applications) と呼ばれていて、今後も様々な分野で提供されていきそうです。というような視点から、ブロックチェーンを「分散型コンピューティング基盤」と捉えることもできそうです。

仮想通貨とブロックチェーンの関係

ここまでの話から、ブロックチェーン(パブリックブロックチェーン)と仮想通貨はあまり関係が無いのではないかと思うかもしれません。しかし、これらは密接な関係にあります(プライベートブロックチェーンとは関係無いこともあります)。

先に書いた通り、パブリックブロックチェーンには中央的な管理者が存在しません。従って、ブロックチェーンネットワークの参加者みんなでそれを維持します。具体的には、各参加者は自身がもつコンピューティングリソースをブロックチェーンネットワークに提供します。所謂マイニングというやつです。マイニングがされなくなってしまうと、ブロックチェーンは機能しなくなります。しかし、マイニングをする参加者(=マイナー)には電力やその他もろもろのコストが課されることになります。それでもなおマイナーが存在し続けている理由は、リソースの提供によりインセンティブが発生するためです。

このインセンティブに、仮想通貨が使われています。ブロックチェーン維持に貢献した者には仮想通貨が与えられる仕組みになっており、これがなくなると恐らくブロックチェーンは機能しなくなってしまいます。このインセンティブが貨幣である必要はないと思いますが、その有効性(流通性)から貨幣以外のインセンティブにより成り立つブロックチェーンというのは想像し辛いですね。結局のところ、ブロックチェーンは貨幣(仮想通貨)によって支えられており、仮想通貨はブロックチェーンによって支えられているのです。

ビットコインも初めは全く無価値のデータに過ぎなかったと思いますが、それがインセンティブとして成立し、ここまで成長しています。このエコシステムこそが仮想通貨で一番面白いところだ、という人もいるかもしれませんね。

おわり

まだまだ理解できていないところだらけですが、ざっくりとブロックチェーンについて現状の理解を書きました。今後情報を取り入れていく中で修正していくかもしれません。以上。

参考(ペーパーへのリンク)

原著:https://bitcoin.org/bitcoin.pdf

日本語訳版:http://www.kk-kernel.co.jp/qgis/HALTAK/FEBupload/nakamotosatoshi-paper.pdf