新たなプロトコル「Algorand」の発想から現在のブロックチェーンの課題を見直す-  MIT Business of Blockchain #1

新たなプロトコル「Algorand」の発想から現在のブロックチェーンの課題を見直す- MIT Business of Blockchain #1

Kouta Takeuchi
Kouta Takeuchi
2018/10/17

今年2018年4月にボストンで開催されたカンファレンス「Business of Blockchain」はMITテクノロジーレビューとMITメディアラボDigital Currency Initiativeによって主催され、ブロックチェーンの技術、思想、社会への影響などのテーマでディスカッションが行われました。Economies2.0編集部ではこのイベントが大変有益なものだと考え、このイベントで扱われているトピックをシリーズとして取り上げることにしました。

本記事ではその一つとして、ローマ大学教授Silvio Micali氏の提案する新たなコンセンサスアルゴリズムを採用したAlgorandのホワイトペーパーを、既存のアルゴリズムが抱える課題とその解決策を踏まえながら解説します。

Algorandとは

Algorand (アルゴランド)とは、ローマ大学教授Silvio Micali氏らによって、フォークの起こる可能性を極限まで下げたアルゴリズムによってブロックチェーンの分散、スケーラビリティ、セキュリティを全て底上げすることを目標として研究されている新しいパブリックチェーンプロトコルです。

パブリックチェーンは、誰でも見て追加できるデータのチェーンです。この特徴から、民主主義社会の在り方を再定義するものと考えられてきました。しかし、現実に社会の機能に実装されると、全くスケールせず、その潜在能力を発揮できていません。Algorandは、この問題を解決するための新しいプロトコルの在り方を提案しています。

Algorandチームの考える、既存のパブリックチェーンの課題

Algorandのプロジェクトチームは、ビットコインのチェーンの問題を、

  1. 計算能力の無駄な消費
  2. 権力集中
  3. ファイナリティの曖昧さ

の三つと捉えています。順を追って説明して行きます。

1. 計算能力の無駄な消費

PoWを使っているビットコインでは、十数万個の公開鍵がシステム上にあるという現状で、500の最強のスーパーコンピューターを稼働しても全体の12.8%しかまかなえないていません。

2. 権力集中

これはマイニングによる電力消費が大きすぎることに起因する問題です。マイニングの参加者は二種類います。一般参加者と、マイニングに特化したマイニングプールです。しかし、通常のコンピューターでマイニングをすると、電気代が報酬を上回ってしまいます。マイニングプールにあるようなマイニング特化のコンピューターでないと利益を出すことはできません。

つまり、現在ブロック生成は実質、ほぼ5つの大きなマイニングプールに握られているのです。このような状況では、パブリックチェーンの大前提である、参加者のマジョリティに悪意がないと言い切れなくなります。

3. ファイナリティの曖昧さ

ビットコインでは、フォークが起きるのが前提となっており、長く続いた方のチェーンが採用される仕組みであるため、最新のブロックに含まれるトランザクションの情報をすぐには信頼できません。

Algorandのアルゴリズムは、これらの問題点を解決するようにできています。

Algorandの新しいコンセンサスアルゴリズム

AlgorandではPure proof of Stakeという思想を採用しています。このコンセンサスアルゴリズムは主に二段階のステップから成り立ちます。

Phase1: 一人のノードが選ばれて新しいブロックが生成される

Phase2: 複数のノードがスロットで選ばれ、新しいブロックを認証する

まず、Phase1で一人が選ばれた時点ではその人が悪意を持っている可能性があります。その危険性を、Phase2で数千人の承認を得ることによって排除します。

そして、このワンラウンドでブロックはほぼ確定します。そのため、トランザクションのファイナリティを明確化し、処理速度を大幅に上げてスケールさせることができます。

また、選ばれる確率はか各参加者の保有ステークに比例します。

アルゴランドの考える、真の非中央集権

ここではPhase2でブロック承認のために選ばれたノードを承認委員会と呼びます。

アルゴランドの考える真の分散ブロックチェーンは、ブロック生成の度に全てのユーザーから新たにランダムに選ばれた委員会によってサポートされるチェーンです。

全てのユーザーから委員選出を安全に行うこと自体に多大な量の計算とコミュニケーションが必要になると懸念する人もいるでしょう。しかし、アルゴランドはこの問題を解決するユニークな方法を導入しています。Secret self-selectionです。

参加者はそれぞれのノードで公平に設計された暗号くじを引き、自分自身だけが自分が委員会のメンバーであるかどうかを知ることができるのです。

そして選ばれた場合、自分が委員会のメンバーであることを証明するためのウィニングチケットを得ることとなります。そして、他の参加者も誰が投票したのか確認ができます。

ここでのポイントは、選出された時点では委員会のメンバーは最初はウィニングチケットは自分自身で保持し、誰も見ることができないことです。そのため、悪意を持った参加者がいたとしても誰が委員会であるかわからないためどこを攻撃すれば良いのか分からないし、わかった頃にはブロック生成は完了しているため意味がない、ということになります。

もう少し噛み砕きましょう。

アリスが委員会のメンバーに選ばれたとします。そして、彼女はメッセージMを送る必要がある場合、メッセージMと彼女のウィニングチケットを一緒に彼女の署名によって送ります。この時点で悪意を持った参加者も彼女がウィニングチケットを持っていることを知ることになるのですが、その時点ですでに伝達された情報を操作することはできません。

ブロック生成の際、委員会のメンバーは選ばれたらただ一つのメッセージを送るだけで良いのです。

また、アルゴランドでは参加者代替性(player replaceable)プロトコルといって、先にも述べたとおり新しいブロック生成の度に違う委員会メンバーが選ばれるため、非常に安全です。

まとめると、アルゴランドは、PoWと比較して以下の特徴があります。

  • 必要な計算能力が少ない
  • ブロック生成のスピードが速い
  • 権力がユーザーに内在しており、ビットコインでいうマイナーのような、どのトランザクションが認証されるかコントロールできるような第三者がいない

PoWスケーラビリティの問題などを解決しようとしたプロトコルは他にもあります。DPoSやBounded PoSなどです。しかし、アルゴランドは、DPoSスケーラビリティとコストを重視しすぎていていて完全に中央集権的になっている点や、Bonded PoSの可処分所得の大きさに権力が左右されすぎてしまう点を問題視し、集団のマジョリティが悪意を持っているような状況に陥らない限りは分散して成り立つアルゴリズムを目指して開発されました。

これは、従来のあらゆるプロトコルの”同じ参加者がブロックを生成し、参加者の代替がきかない”という中央集権的な部分を克服することを目指したプロトコルなのです。

アルゴランドの掲げる思想とは、この参加者代替性こそが真の分散を実現し、敵対勢力からの攻撃耐性を高める最も重要な要素である、ということです。

また、Algorandの代表Silvio氏によると、Algorandはビットコインビットコインキャッシュのような、参加者の意志の反映されないハードフォークにも大変批判的であり、Algorandは、そういったチェーンのガバナンスそのものに関する意思決定も、参加者による合意形成を必要とする仕組みを整えて行くそうです。

まとめ

いかがでしたか?Economies2.0編集部として、Pure PoSに基づいたこのプロトコルが現実的に広く使われるようになるとは考えていませんが、現状のコンセンサスアルゴリズムが抱える課題を見つめ直すきっかけとなるでしょう。


参考

LINE@

LINE@で最新情報をチェック!!

Economies 2.0のLINE@を友達に追加して 最新情報を受け取りましょう

LINE@で最新情報を受け取る