ブロックチェーンは素晴らしい技術であり、これまでのすべてのデータベースシステムを置き換える可能性を秘めた革命的なテクノロジーだ。あらゆる情報がブロックチェーンに書き込まれるようになれば、すべての情報は永遠に失われることはなく、サービスの手数料は格段に下がり、絶対に破られることのない強固なセキュリティによって、人々は見知らぬ相手とも安心して取引を行うことができる。

という未来像が、ブロックチェーンに対して喧伝されているように思いました。

わたしは新しい技術が好きなので、そう信じたい気持ちというのも非常によくわかりました。

しかし、あるとき冷静になって立ち止まってみると、ブロックチェーンが向いていないことというのは確実にあって、従来のクライアントサーバー型のデータベースと比較して一長一短であり、置き換えるのではなく、互いに補い合う関係であることがわかります。

 

確定しない

分散型データベースの学術用語に、CAP定理と呼ばれる概念があります。

CAP定理は、C(Consistency:一貫性)、A(Availability:可容性)、P(Partition Torrelance:分断耐性)の3つの頭文字を取ったものであり、この3つを同時に満たすシステムは存在しえないというものです。

なぜそうなのかという証明はアカデミックな分野にお任せするとして、そういうもんだと思えばいいでしょう。

 

ブロックチェーンは、一貫性(C)を満たすことができません。

一貫性(C)というのはシステムに対して呼び出しを行った時、「直前の書き込みの値」か「エラー」の必ずどちらかが返ってくる、ことを表すものです。

一般的なクライアントサーバ型システムであれば、これは保証されています。

ブロックチェーンは、常にノードがブロックの探索と承認処理を行っていて、永遠に止まることがないシステムです。

ある時点でブロックチェーンに問い合わせを行ったとしても、戻ってくる値は直前にシステムに書き込まれたものが必ず返ってくるわけではないということです。

決済系のシステムではこれは致命的なことです。

お店のカウンターで「1万円支払う」という取引を指示したとしても、「支払いが確認できません」となるわけですから。

ビットコインのブロックチェーンは、この問題を解決するために「10分くらい待って」という制限をシステムに持たせており、その瞬間はわからないけれども、将来のいつかは一貫性が保たれるというのを結果整合性といいます。

ブロックチェーンが導入される事例では、この「◯◯待って」という制限が許容される必要があるでしょう。

 

改ざんはありうる

ブロックチェーンは絶対に改ざんされないシステムだと宣伝されることがありますが、いつか改ざんされる可能性は否定できないシステムです。

俗に51%攻撃と呼ばれるものですが、51%なくても乗っ取ることは可能です。

51%攻撃がおきない理由としてよく挙げられるのは、「見返りがない」「計算量が用意できない」という理由です。

 

1点目の「見返りがない」に関しては、技術的な面よりも政治的な理由で覆される可能性があります。

例えばビットコインの用途は闇取引が多く行われているのですが、これを撲滅しようと国家レベルでネットワークを止めにくる可能性はあると思います。

ブロックチェーンのネットワークそのものから見返りを得るのではなく、ブロックチェーンを破壊することによって、別のところから見返りを得ようとすることもありえます。

これは人間の行動心理をもとにした理由であるため、起きるかもしれないし、起きないかもしれないです。

 

2点目の「計算量が用意できない」ですが、徐々に用意されつつあります。

ビットコインのマイニングは、個人がそれぞれマイニングに直接参加しているというよりは、マイニングプールと呼ばれるマイナーグループに参加して行う割合の方が多く、この寡占化が進んでいます。

現在、上位4グループの計算量の合計で全体の半分を超えている状況です。

また、51%というのも、「全てのノードが接続されていた状態で」という条件がつきますので、ノード感の接続経路が分断遮断されてしまえば、半分なくても改ざんは可能だと言えます。

 

まとめ

弱点があるから全部ダメ、ということではないのです。

どんなことにも向き、不向きがあるだけのことで、熱狂は醒めて、どういう分野に向いているか?ということを冷静に探る段階にきているんだということです。