世間では、ブロックチェーンが持て囃されています。
けれど、中には、ブロックチェーンではできないことや、ブロックチェーンじゃなくてもできることが、ブロックチェーンで実現するかのように書かれているものを目にすることもよくあります。
かなりネガティブな文章のようですが、ブロックチェーンの持つ可能性を正しく理解するには、ブロックチェーンの性質を正しく認識する必要がある、という信念によるものです。ご理解ください。
1. ブロックチェーンでの「改竄が困難」とは、システム管理者による改竄が困難という意味である
普段、銀行にお金を預けている皆さんは、銀行職員によって預金を不正に引き出されないか心配されていると思います。
また、SNSを利用されている皆さんは、SNS運営会社の社員によって、不正にご自身の投稿内容を改竄されてトラブルに発展するのではないかと心配されていると思います。
ブロックチェーンを利用すれば、こういった心配から解放されます。
なぜなら、ブロックチェーンでは、たった一人の人や、たった一つの組織がデータベースを管理するのではなく、数多くのノードが相互に通信し合いながら、信頼性の高いブロックに新たなブロックを付け加えようとしているからです。
けれど、本当にそんな心配していますか?
私は銀行口座もTwitterやLINEなどのSNSのアカウントも持っていますが、これまで、運営会社に不正に改竄されたことはありませんし、これからも恐らくないだろうと信じています。各社とも、そのような改竄が起こらない体制を作っており、現実にも改竄はされていません。
そして、それとは異なる性質の改竄に対しては、ブロックチェーンは特に助けになりません。
ただし、電子署名やハッシュ関数は、システム管理者や運営会社によらない改竄の防止にも一定の効果を示すかもしれません。多くのブロックチェーンでは取引には電子署名を付けることになっているので、結果的には、システム管理者や運営会社以外による改竄の防止に寄与している可能性もあるかもしれませんが。それは、ブロックチェーンを使わなくても電子署名さえ利用すれば実現できるはずのことです。
改竄防止のためにブロックチェーンの応用を考えられている皆様におかれましては、ご自身が実現したい改竄防止に本当にブロックチェーンが有効なのか、今一度ご検討されることをお勧めいたします。
そうそう、文書の改竄・変更履歴を残したいなら、Googleドキュメントとか便利ですね。
2. ブロックチェーンでは情報の複製は阻止できない
情報の「複製」は、人類の歴史にとって、非常に重要なものです。
7世紀に中国で発明された木版印刷、14世紀にドイツで発明された活版印刷、19世紀にアメリカで発明された普通紙複写機。
そして、20世紀に急速に発展したデジタル技術やインターネットにより、情報は世界中に光の速さで、複製ができるようになりました。
情報を無尽蔵に複製することは容易になった一方で、情報や価値を「移転」すること、つまり、私が持っている電子データを別の人に渡して、私が持っている電子データを失わせるか無効にする技術については、驚くほど何も進んでいませんでした。
情報の複製が容易になったことで、著作権侵害や情報漏洩の被害が深刻になった一方で、取りうる対抗策といえば、せいぜい、リバースエンジニアリングされないことを前提としたプログラムを利用して、データの保存をできなくしたり、といったものでした。
そして2009年、Bitcoinの登場により、世界で初めて、P2Pですべてのデータがオープンになった状態での価値の移転が実現しました。
私がそれを知って、真っ先に考えたのが、DRMからの解放でした。
私は電子書籍を利用していますが、購入した電子書籍は専用アプリを通じてのみ閲覧することができます。
もしも私が利用している会社がサービスを終了すると、購入した電子書籍はどうなるのでしょうか? また、サービスやアプリの改悪があり、もうサービスを利用したくないと思った場合、これまでに購入した電子書籍を諦めないといけなくなります。
もしもブロックチェーンを利用し、私が書籍を購入したことを証明でき、購入済みの書籍をDRMなしで利用することができたら、こんな素敵なことはないでしょう。
けれど、残念ながら、その用途でのブロックチェーンの利用はあまり意味がなさそうです。
ブロックチェーンで実現している「価値の移転」とは、複製の禁止ではありません。一度使用したトークンを別の取引でもう一度使用すると、他のノードから無視されてブロックに入れてもらえない、また自分でブロックに入れたとしても、そのブロックは他のノードに無視される、というだけのことです。
「価値の移転」とはブロックチェーンの中での話にすぎず、ブロックチェーンの外にある「価値」をブロックチェーンで移転できると考えるのはナンセンスです。
DRMの例で言えば、ブロックチェーンでコンテンツを配布したところで、そのコンテンツは複製可能で、ブロックチェーンはコンテンツを何も保護しません。
もちろん、既存のDRM技術と組み合わせて、所有権の管理を行う部分だけをブロックチェーンに載せることは可能かもしれません。ですが、専用アプリを利用しなければ読めない状況を解消できなければ、そもそも解決したかった「アプリを提供している企業が、アプリの提供を中止したら、コンテンツを利用できなくなるおそれがある」「サービスに不満があったら、購入したコンテンツごと諦めないといけない」といった問題は何一つ解決できていません。
3. 一目で「それってブロックチェーン必要なの?」って疑問が生じる図をよく見かける
よくこんな感じの図を見かけます。
細部はまちまちですが。中央に「どーん!」と構えられた謎のシステム「ブロックチェーン」!!!
ブロックチェーンは分散台帳システムです。中央に何も置かなくてよくなるのが利点でした。一方、この図は、誰がどう見ても、中央に何かあるシステムです。
やりたいことがこれなら、なんでブロックチェーンが必要なのでしょうか?
こういう風に図を書き換えると、中央集権らしさは消えます。
けれど、もともとやりたいことが中央集権型だったのであれば、図だけ書き換えても、「なんでブロックチェーンでやらないといけないの?」の疑問はなくなりません。
他によく見かけるのが、生産者から消費者までのサプライチェーン上の登場人物に全員、ブロックチェーンのノードを持たせたような図です。気持ちとしては分かるんですが。農家や小売店の方々にノード立ち上げてもらって、運用してもらって、とか、本当にやりたいんでしょうか?
誰か一人が代表してサーバを立てた方がいいような気がしませんか?
4. プライベートブロックチェーンは中央集権的
ブロックチェーンにはざっくりと、パブリックなブロックチェーンとプライベートなブロックチェーンがあります。
BitcoinやEthereumのようなパブリックなブロックチェーンでは、誰もがネットワークに参加でき、ブロックをとりまとめてチェーンにつなぐ役割を担うことができます。
プライベートなブロックチェーンでは、管理者によって承認されたノードのみがネットワークに参加できます。
プライベートとパブリックの間の位置づけとして、完全に閉じたネットワークではなく、協力関係にある数社でネットワークを作るコンソーシアム型のブロックチェーンもありますが、プライベートに近いものと考えていいでしょう。
これらについては、Bitcoinの思想である、管理者がいなくて、互いに信用できない人同士で作るネットワークからは大きく離れてしまいます。
そうなると「一体何のためにブロックチェーンを使うのか」といった疑問が生まれるでしょう。
一方で、そういった脱・中央集権といった意味合いではなく、世界最速の取引処理性能を目指したブロックチェーンもあります(MUFGのプレスリリース)。このような従来のブロックチェーンのメリットとは異なる方向でプライベートなブロックチェーンを利用する試みは、今後も出てくるかもしれません。
また、コンソーシアム型のブロックチェーンについては、個人的には「コンソーシアム組めるんだったら、誰かが代表してサーバを立ち上げるか、サーバを立ち上げて運用するための組織を作ればいいのでは? わざわざ、全員がそれぞれノードを立ち上げて運用するメリットあるの?」って思ってしまいますが、コンソーシアム型ブロックチェーンの採用で、そういった話が円滑に進むなら、それはそれでいいかな、と思います。
5. 攻撃耐性の低いブロックチェーンも結構あるかもしれない
誰もが参加できるBitcoinが攻撃によって覆されないのは、Proof of Workのおかげです。世界中のコンピュータが、Bitcoinのブロックを作るために、大量の電力を消費してマイニングという作業をしています。
一説によると、2017年にBitcoinのために費やされた電力は36テラワット時といわれており、これは、東京都内の一般家庭で年間に利用されている電力を上回ります。
Bitcoinを攻撃して、今すでにあるブロックを覆すためには、50%を超える計算量が必要だと言われていました。俗にいう51%攻撃です。
最近ではSelfish miningという攻撃手法が作られ、33%の計算量でよくなりましたが、それでも莫大な電力を必要とする巨大または大量のコンピュータが必要となることが分かります。
それを用意するのは現実的ではないため、Bitcoinは攻撃に強い、とされています。
では、Bitcoinと類似の仕組みを使いながらも、Bitcoinほどは多くの人がマイニングに参加していないブロックチェーンだと、どうでしょう。
最近、Monacoinが攻撃を受けました。また、Bitcoin GoldというBitcoin派生のブロックチェーンも攻撃を受けました。
ブロックチェーンであれば攻撃に強い、というのは思い込みです。Bitcoinを攻撃するのは現時点では現実的ではないですが、Bitcoinの派生や類似のものについては今後も攻撃を受ける可能性があります。
同様に、Bitcoinと無関係であっても、単純なProof of Workであれば、覆すのに非現実的なコストがかかるほどに成長しない限りは、攻撃される可能性があるといえるでしょう。
コンセンサスアルゴリズムにProof of Stakeなどの、Proof of Work以外のアルゴリズムを採用する方法もあります。一方でProof of Stakeについては、Nothing at Stake問題など特有の問題を抱えており、Proof of Workの代わりとなりうるのか、今のところ決着がついていないように感じられます。
6. 覆せないことが常にいいこととは限らない
皆さんがもしも、クレジットカードやキャッシュカードを無くしてしまったらどうしますか?
カード会社や銀行に電話して、すぐに止めてもらう、再発行してもらうといった手続きを取るかと思います。
皆さんがもしも、SNSで、重大な人権侵害を含む投稿を見たらどうしますか?
運営会社に報告し、管理者による投稿の削除やアカウントの停止を期待すると思います。
これらは全て、カード会社、銀行、SNSが中央集権の仕組みで作られており、管理者が必要に応じて、カードの停止やアカウントの停止などといった特権を行使できるからこそ可能な対処といえます。
Bitcoinでは、もしも秘密鍵を無くしたら、あなたはコインを取り出す術を失います。誰にもどうすることもできません。
何かメッセージを残せる類のブロックチェーンで、誰かが重大な人権侵害を含む言葉を書き込んだら、それはどうなるのでしょうか。
また、プログラミング言語で契約を記述し、書いた通りに確実に契約が履行できる「スマートコントラクト」という仕組みがあります。もしも「契約」にバグがあったとしても、その契約は書いた通りに確実に履行されます。誰も止めることはできません。
これらのうち、一部には対処法があり、例えばBitcoinの秘密鍵の場合、マルチシグという方法で対処が可能です。これは例えば2 of 3マルチシグの場合、コインを取り出す際、3つある鍵のうち、2つ以上の秘密鍵での署名を必要とする方式です。鍵を3つ作って、別で管理しておけば、仮に1つが紛失または盗難にあったとしても、残りの2つを使ってコインを取り出すことができます。
また、スマートコントラクトについても、バグのないプログラムを書くことは一般には不可能ですが、肝心な部分をどう書いたらバグが出にくいか、万一なにかあったときに契約を止めたり変更したりできる抜け道を作るにはどうすればいいか、などといったノウハウは蓄積されていくでしょう。
対処法があるとはいえ、管理者が守ってくれる世界ではなく、自分の身は自分で守るしかない世界です。本当に気をつけましょう。
7. 脱・中央集権的で自律分散型なビジネスモデルを考えるのは非常に難しい
みなさん、口では「透明性」だとか「オープン」だとか「自律」だとか言うのが好きなのですが、管理者がいない、要らない、脱・中央集権的な仕組みを考えるのに慣れている人はめったにいません。
ついつい、特別な役割の人がいないと成り立たない仕組みを作ってしまったり、あるいはビジネス上の理由で、自社に特別な役割を持たせたりしてしまいます。
また、誰もが参加できる仕組みであれば性善説は期待しづらく、その上、管理者による対処もなしでは、荒れ放題のように思えるでしょう。
けれど、Bitcoinのネットワークは、誰もが参加できて、管理者はいませんが成り立っています。各参加者は、自分の利益を追求しているだけです。
ブロックチェーンを使う上で、必ずしも自律分散でなければいけないかというと、そうではありません。
また、完全な自律分散ではなく、一部は中央集権的であった方がいい場合もあります。
それでも、脱・中央集権、自律分散型の仕組みこそが、ブロックチェーンの登場で実現可能になった、最も興味深いものであるのは確かでしょう。
まだ誰も知らない、ブロックチェーンの可能性を、ともに追求していきましょう。