ステークプールによるブロック生成の開始に伴い、Cardano完全分散化への第一歩が踏み出されました。ここで今後の展望を紹介します。
2020年8月14日 Kevin Hammond 読了時間12分
概要
Shelley期の開始に伴い、完全分散化への第一歩が踏み出された。ここでいう分散化とはネットワーキング、ブロック生成、ガバナンスの3つのコンポーネントが1つの環境内で調和して作用することで達成される。
Cardanoに導入されたdパラメーターは、ブロック生成の分散化をコントロールする値であり、IOHKコアノードが全ブロックを生成する中央集権的d=1から、バランスを見ながら徐々に減少させる「恒常的減衰」アプローチにより、最終的にステークプールがブロックを100%生成するd=0を目指す。
当面の予定として、これから11月1日までにd=0.5まで段階的に減少させていくが、0.5に達したら、その先へはP2Pプールディスカバリー機能が実装されていること、プロトコルパラメーターや他の重要なプロトコル変更に関してコミュニティが投票できるシステムが整っていることを確認してから進むことになる。
もう1つのパラメーターであるk値は、より多くのプールにステークが委任され、ブロック生成の機会を与えられるように設定される飽和閾値である。この値は、ネットワークがサポートできる持続可能なプール数の最大化、バランスの取れたエコシステムの創造を目的にさまざまな要素を考慮して慎重に設定される。
ステークプールが1つでもブロックを生成する限り、d値が報酬に与える影響はない。また、減少させたd値を再び増加させる可能性はごく小さい。
d値が徐々に減少され0となった時点で、ステークプールコミュニティにより運営される、完全に分散化されたブロックチェーンとしてのCardanoネットワークが実現する。
完全分散化はCardanoの使命の中核にあります。これは私たちが目指す唯一の目標ではありませんが、多くの面で他のほぼすべてを可能にし、加速させる目標であり、プロジェクトとして到達しようとしている場に不可欠のものです。
これはまた、Cardanoプロジェクト全体の哲学的技術的な基本概念が、非常にリアルかつ具体的な形でコミュニティに伝わる場でもあります。このため、私たちは分散化を効果的かつ安全に達成する方法について、エコシステムの健全性を常に念頭に置きながら思索を続けてきました。
分散化の定義
まず、分散化で私たちが意味するものについての説明から始めましょう。これはブロックチェーンコミュニティの間で様々な相反する意味合いを持って普及している、扱いの難しい言葉です。
私たちにとっては、分散化とは目的地と道のりの両方を指します。Shelley(シェリー)は完全に分散化した状態へと向かう最初の一歩を表しています。これは、Byron(バイロン)期の静的な連合型アプローチから、完全に民主的な環境、すなわちコミュニティがネットワークを運営するだけではなく、ガバナンスと投票というオンチェーンの枠組みを通じて意思決定に携わる力を得、これが奨励されるという環境へと向かうものです。
真の分散化は3つの基本となるコンポーネントが調和して作用することで実現します。
- ネットワーキング - 地理的に分布したエージェントがリンクされ、共に安全で堅固なブロックチェーンプラットフォームを提供する。
- ブロック生成 - ブロックチェーンを構築および維持する作業が、ネットワーク全体にわたる協力ステークプールの集合に分配される。
- ガバナンス - ブロックチェーンプロトコルおよびCardanoの進化に関する決定がCardano関係者のコミュニティによって集合的になされる。
これらすべてのファクターが1つの環境に存在する場合のみ、真の分散化が無事に達成されたということができます。
分散化に影響する主要なパラメーター
ここでd値について説明しましょう。
dパラメーターはブロック生成の分散化をコントロールするうえで主要な役割を果たします。分散化は、もちろん絶対的なものというよりスペクトルで表されるものです。簡単に言うと、d値はネットワークが「どの程度」分散化されるかをコントロールします。極端な例では、d=1の場合ブロック生成は完全に中央集権化されています。この状態では、IOHKのコアノードがすべてのブロックを生成します。これがByronによる運営です。
反対に、d=0になると、分散型ガバナンスが敷かれており、チェーン上では「完全」な分散化が達成されていることになります。この時点では、ステークプールオペレーターがすべてのブロックを生成し(ブロック生成の100%分散化)、コミュニティは今後の方針および開発に関するすべての決定を下し(ガバナンスの分散化)、地理的に分布したステークプールによる健全なエコシステムが、一貫した効率的なネットワークに接続されています(ネットワークの分散化)。この場合、分散化の目標が達成されたことになります。
d値が1から0へ向かう道のりは、プロトコルのアクションとネットワークおよびそのコミュニティの反応の間で慎重にバランスをとる必要がある微妙なものです。即座に減少させるのではなく、「恒常的な減衰」期を経て徐々に減少させていき、最終的にd値が0に達します。この時点で、Cardanoは完全な分散化を果たしたことになります。この漸進的過程により、すべての重要なポイントに向かって進んでいくにつれて、ネットワークのパフォーマンスデータを集め、状態をモニタリングすることができるのです。パラメーターに基づくアプローチは、コミュニティに透明性およびある程度の予測可能性を提供することに役立ちます。その間、私たちは結果を注意深く監視します。「野に放たれ」れば常に、考慮すべき社会経済的要素、そして市場の要素が存在することになるでしょう。
時間の経過に伴うdパラメーターの変更方法
1から0へ進むのは比較的単純です。
d=1の時、すべてのブロックは、Ouroboros Byzantine Fault Tolerance(ウロボロスビザンチンフォールトトレランス:OBFT)モードで稼働しているIOHKコアノードにより生成されます。ステークプールオペレーター(Ouroboros Praos-ウロボロスプラオス-モードで稼働)により生成されるブロックはありません。すべての報酬はトレジャリーに行きます。
d=0の場合、正反対となります。すべてのブロックがステークプールにより生成され(Praosモードで稼働)、IOHKコアノードによるものはなくなります。すべての報酬は、トレジャリー分の固定割合を差し引いた後にステークプールのものとなります。
この両端の間では、ブロックは部分的にコアノードとステークプールにより生成され、その正確な割合はd値により決定されます。例えば、d値を0.7にするとブロックの70%がコアノードにより生成され、30%がステークプールにより生成されます。d値がその後0.2に達すると、20%のブロックがコアノードに、80%がステークプールにより生成されます。
ステークプールにより生成されるブロックの割合に拘わらず、いったんd < 1となると、すべての報酬は保持するステーク量に応じてステークプールのものとなり(トレジャリー分の固定割合を差し引いた後)、コアノードにはいかない、という点は重要です。これは、IOHKにとってdパラメーターを高くキープしておくことによる利点はないということを意味しています。実際、d値が0になることにより、IOHKはコアノードを稼働するコストを削減できます。このコストは決して低くありません。
他の多くのADA保有者と同様、IO Globalは現在メインネットで若干のステークプールを運営しています。Cardanoプラットフォームの創設者として、IO Globalは当然のごとく財務、信託、安全の各面におけるその成功に大きな関心を寄せています。そしてこの成功は多数の有効かつ分散化されたプールを基盤として築かれるものです。民営企業として、IOはそのステークから収益を生み出す必要があります。一方、ステークプールのエコシステム内で果たすべき役割、そして完全な分散化に向かうにつれ、ネットワークの成長および健全性の維持をサポートする役割も認識しています。中期的には、私たちは私的/公的/コミュニティ委任アプローチを採ります。これはITNで採用した方法と類似のもので、私たちの持つステークをIOHKとコミュニティプールの双方に拡散させます。しかし短期的には、IOGプールをメインネットで運営して、コアノードの負担を減らす多数の自プールを確立します。ネットワークの安全性を守り安定させるために私たち自身のステークと技術的知識を使用することは、当初は重要な要素となりますが、dパラメーターの減少に伴いその重要度は下がります。分散化への道は、あらゆるサイズのプールが自己を確立し、進行するにつれて繁栄できるような多くの機会を提供することになります。
d値の道のりにおける主要なマイルストン
d<1.0(中央集権からの離脱)
最初のマイルストンは8月13日。エポック210から211への切り替え時にdパラメーターが初めて1.0未満に設定されました。この時点でIOHKのコアノードは、ステークプールのコミュニティと協働してブロックを生成し始めました。これをもって、完全な分散化へ向けた道のりが始まりました。
d=0.8(ステークプールがブロックの20%を生成)
0.8ではより多くのプール(d=0.9の場合の倍)がブロックを生成して足場を固める機会を得ます。このレベルでは、割り当てられたブロックの1つを生成して報酬を得さえすれば、プールがランキングで不利になることはありません。この方法により、私たちはネットワークにおけるブロック生成の割合を増加させることが、低いネットワークリスクで始めることができると確信しています。
d<0.8(ステークプールのパフォーマンスを考慮)
次の主要なマイルストンはdを0.8未満に落とすときです。このレベルより下では、受け取る報酬額を決定する際に、各プールのパフォーマンスが考慮されます。このレベルより上では、プールのパフォーマンスは無視されます。この理由は、期待される生成ブロック数がわずかである場合に、プールに対して公平さを欠くことを防ぐためです。
d<0.5(ステークプールが過半数のブロックを生成)
dが0.5を下回ると、ステークプールが過半数のブロックを生成することになります。ネットワークは、分散化が不可避となる臨界点に達します。
このドラマティックなステップを踏み出す前に、2つの欠かせない機能を確保する必要があります。P2Pプールディスカバリーと、コミュニティの投票を可能にするプロトコル変更です。これにより、完全な、真の分散化に向けた最終ボタンを押すことができるようになります。最近公表されたProject Catalystプログラムはこの第一歩であり、現在完全なオンラインガバナンスへ向け並行して進められています。
d=0(完全な分散化の達成)
パラメーターが0に達すると、IOHKコアノードは恒久的に停止します。
IOHKは自身のステークプール運営を続け、他のあらゆるステークプールと同様に、自らが惹きつけるステークに応じてブロックを生成します。しかしこれはもはや、Cardanoネットワークの維持において何らの特別な役割も持ちません。もちろん、その膨大な量のステークはコミュニティプールへも委任されます。同時に、投票メカニズムが有効となり、もはやd値を増加させることも、Cardanoを「再中央集権化」することもかなわなくなります。
この時点で、Cardanoネットワークは完全な分散化へと、もはや後戻りできない状態で突入したことになります。ネットワーク + ブロック生成 + オンチェーンガバナンス = 分散化。
恒常的な減衰のスピード
d値の漸次的減少は「恒常的な減衰」と呼ばれます。徐々に減らしていくことにより、減少させるたびにネットワークへの効果を監視し、必要に応じて調整する機会が得られます。パラメーターを減少させるにつれて、プールが生成するブロック数が増加するため、より多くのステークプールがブロックを生成できるようになり、ブロックを生成するために必要となるステークが少なくなります。
この現象を促す主要なファクターは以下となります。
- ネットワーク全体としての回復性と安定性
- ブロック生成可能なプール数
- 委任されたステークの総量
これは、現在の実装プランです
この後は、パラメーターを0.5未満に下げる前に、一旦ストップして、上記2つの主要条件を確保します。
- 新たなP2Pプールディスカバリーメカニズム実装がリリースされ、正しく作用している
- Shelley期初のハードフォークに無事移行し、プロトコルパラメーターや他の重要なプロトコル変更に対するコミュニティ投票の基盤が導入される
d=0へのカウントダウンは同様の速度で再開されますが、最終的に2021年3月にd=0へ移行する前に必要に応じて再びストップすることも考えられます。
分散化に影響を及ぼすその他のファクター:飽和閾値
2つ目のパラメーター、kはステークを広範に委任することを奨励することを通じて、多数のプールの成長を促すために使われます。報酬を稼ぐステーク量に制限を設けることにより(飽和閾値)、新しい委任者はステーク量の少ないプールに誘導されます。理想的なコンディションにおいては、ネットワークは目標とする特定のプール数に近づくにつれ安定性を増します。実際には、ITNでこの数よりずっと多くのプールが、私たちが選んだ設定によりサポートされました。
Shelleyハードフォークでは、kパラメーターを150に設定しました。この設定は、Shelley期の開始時において非常に多くのステークプールをサポートする必要性、そしてコミュニティによりセットアップされる有効プールがほんの少数である可能性とのバランスを考えて選びました。いずれ、ハードフォーク以降のCardanoエコシステムから発生した非常に多くのプールを反映して、増加することになるでしょう。これは、より多くのプールにステークを、そしてブロック生成を広めることになります。パラメーターの設定を選ぶ際の全体的な目的は、ネットワークがサポートできる持続可能なプールの数を最大化すること、そして、バランスの取れたエコシステムを創造することです。これを達成するためには、ブロックを生成するプールを運営する機会を、システムを運営したいと望むプールへと開放することと、実際に委任されているステークから得られる報酬を考慮して、プール運営の生のエコノミクス(ベアメタルサーバーからクラウドサービス、人の時間まで)との間で、注意深くバランスをとることが求められます。したがってこのパラメーターの変更は、完全に分散化されたCardanoネットワークの長期にわたる成功を保証するために、注意深くバランスを考えて実行されます。現在私たちは初期のプールデータを慎重に検討し、次の動きに入る前に更なるモデル化を行っています。
d値とプールの報酬
ここで、2つの問いが残ります。プールが獲得する報酬へのd値の影響と、このパラメーターが増加へ向かうことがあり得るのか、という点についてです。
報酬に関しては、プールが少なくともブロックを1つ生成すれば、このパラメーターはプールが獲得する報酬に一切影響を及ぼすことはありません。影響が出るのはプールに分配されるブロック数にのみとなります。したがって、仮にちょうど1%のステークを持っているプールは、総報酬額のちょうど1%を稼ぐことになります。
最後に、理論上、d値は増加させることもできますが、これには本当にやむを得ない理由が必要となります(例えば、重大なプロトコルの不具合や基本的なネットワークのセキュリティなど)。これを実行することは、実際にまったく予想していません。なぜか。その理由としては単純に、真の分散化という目的を達成するために、パラメーターをスムーズに、そして徐々に0へと減らしていきたいと考えているからです。この道のりは慎重に、しかし一歩一歩確実に進んでいきます。各ステップを思慮深く確信を持って進めていけば、引き返す必要はないはずです。d値が0になったら、中央集権的IOサーバーは最終的に停止され、Cardanoは他が目標とする分散型ブロックチェーンのモデルとなるでしょう。
結論
中央集権的存在の衰退は、完全な真の分散化へ向けたCardanoの進歩と期を同じくしています。近い将来、Cardanoブロックチェーンは、ネットワークの健全性と更なる開発を最大関心事とするステークプールの強力なコミュニティによってのみサポートおよび運営されるようになります。
Shelleyとdパラメーターの実装で始まったこの道のりは、d値の減少に伴いネットワークがどんどん分散化されていく進化の各ステージへとCardanoをいざなうでしょう。この道のりは、ブロックチェーンが分散化を余儀なくされる状態になって初めて終了します。この時、ネットワーキング、ブロック生成、そしてガバナンス運営が1つの環境内に調和している状態が見られることでしょう。