IOGブログ, Q&A, ...

クラシックからハイドラへ:Ouroborosの実装を解説

以下はIOGブログの記事「From Classic to Hydra: the implementations of Ouroboros explained」を翻訳したものです。

クラシックからハイドラへ:Ouroborosの実装を解説

Ouroborosは、Cardanoのコンセンサスプロトコルです。ここでは、Ouroborosが何をしているのか、どのように進化しているのかを説明します。

by Kieran Costello 2020年3月23日

最近のByronメインネットのBFTアップデートや、発表されたばかりのHydra論文などで、Ouroboros(ウロボロス)についてよく耳にすると思います。Ouroborosは、初期の暗号通貨であるBitcoinや現在のEthereumの基盤となっているプルーフ・オブ・ワークに代わる、よりエネルギー効率が高く持続可能なプロトコルとして開発されたもので、査読付きの研究によって開発された最初のブロックチェーンコンセンサスプロトコルです。

エディンバラ大学のAggelos Kiayias氏が主導したOuroborosと、その後に実装されたBFT、Praos、Genesis、Hydraは、世界最大の課題を安全かつ大規模に解決するための新たなベースラインを提供しています。

しかし、認識は教育から始まります。技術が達成するものだけに頼って、どのようにしているかを伝えることはできません。この記事では、Ouroborosの「方法」の概要を説明します。このプロトコルに対するコミュニティの理解を深め、なぜこのプロトコルがゲームチェンジャーとなるのかを説明するために、それぞれの実装に導入されているものを取り上げて、具体的な内容を検討します。各実装の詳細な分析は、以下のホワイトペーパーに記載されています。Ouroborosとその実装についての大まかな説明は、こちらをご覧ください。

コンセンサス・プロトコルについて、なぜOuroborosは違うのでしょうか?

この分野に初めて足を踏み入れる人は、「コンセンサス・プロトコル」という言葉に戸惑うかもしれません。簡単に言えば、コンセンサス・プロトコルとは、分散型台帳の動作を支配する法則とパラメータのシステムであり、ネットワークの各参加者がプレイするためのルールセットである。

パブリック・ブロックチェーンは、単一の中央機関によって管理されているわけではありません。その代わりに、コンセンサスプロトコルを使用して、分散したネットワークの参加者が、ブロックチェーンに取り込まれたネットワークの歴史について合意することができます。つまり、何が起こったかについて合意に達し、単一の真実のソースから継続することができます。

その単一の真実のソースは、単一の記録を提供します。これが、ブロックチェーンがトラストレスと呼ばれる所以です。未知のアクターは、仲介者に頼ることなく、また個人情報の交換を前提とすることなく、相互に作用し、取引を行うことができます。

Ouroborosはプルーフ・オブ・ステークプロトコルであり、プルーフ・オブ・ワークとは異なります。プルーフ・オブ・ステークは、「マイナー」が計算上の複雑な方程式を解いて新しいブロックを作成し、最初に作成した人に報酬を与えるのではなく、参加者(カルダノの場合はステークプール)がネットワーク上でコントロールするステークに基づいて新しいブロックを作成するように選択します。

ウロボロスを使ったネットワークは、プルーフ・オブ・ワークを使ったネットワークよりも何倍もエネルギー効率が高く、カルダノはウロボロスによって、他に類を見ないエネルギー効率を実現している。例えば、ビットコインの現在のネットワークを超える100のプールという同じレベルの分散化を行った場合、カルダノの年間消費電力はわずか0.01567GWh(ギガワットアワー)です。一方、ビットコインは年間67,000GWhを必要とします(現在の統計による)。これは、消費電力が15〜18W(ワット)のRaspberry PiでOuroborosを動作させた場合の話です。理論的には、400万倍以上のエネルギー効率に相当します。このエネルギー効率の差は、家庭と小国の違いに例えると、大衆市場への拡大が可能なものとそうでないものがあるということです。

それでは、Ouroborosプロトコルがどのように機能しているのか、また、それぞれの新しい実装には何が追加されているのかを詳しく見ていきましょう。

Ouroboros Classic

まずはOuroborosから。2017年に発表されたOuroborosプロトコルの最初の実装です。この最初の実装(Ouroboros Classicと呼ばれる)は、エネルギー効率の高いプルーフ・オブ・ワークの対抗馬としてのプロトコルの基礎を築き、プルーフ・オブ・ステークを分析するための数学的フレームワークを導入し、プルーフ・オブ・ステークの設定で参加者に報酬を与えるための新しいインセンティブ・メカニズムを導入しました。

しかし、Ouroborosが他のブロックチェーン、特にプルーフ・オブ・ステークプロトコルと異なる点は、プロトコルのリーダー選択アルゴリズムに不偏不党のランダム性を生成する能力と、それによってもたらされるセキュリティの保証でした。ランダム性は、パターンの形成を防ぎ、プロトコルのセキュリティを維持するために重要な役割を果たします。Ouroborosは透明性を確保しながらも、強制力を持たないようにしています。Ouroborosは、このような厳密なセキュリティ分析を行って開発された最初のブロックチェーンプロトコルであると言えます。

Ouroborosの仕組み

Ouroborosの仕組みについての包括的な説明は、その研究論文に記載されています。要約すると、Ouroborosはブロックチェーンをスロットとエポックに分けます。カルダノでは、1つのスロットは20秒で、スロットの集合体である1つのエポックは、約5日分のスロットを表している。

Ouroborosの設計の中心にあるのは、攻撃は避けられないという認識です。このプロトコルは、攻撃者がブロックチェーンの別バージョンを伝播することを防ぐための耐性を備えており、敵対者がいつでも任意の参加者に任意のメッセージを送信できることを前提としています。実際、このプロトコルは、誠実な参加者(プロトコルに従っている参加者)がステークの51%以上をコントロールしている限り、安全であることが保証されています。

スロットリーダーは、各スロットごとに選出され、チェーンにブロックを追加して次のスロットリーダーに渡す役割を担います。プロトコルを破壊しようとする敵対的な試みから保護するために、各新しいスロットリーダーは、受け取ったチェーンの最後の数ブロックを一時的なものとみなすことが要求される。あらかじめ指定された一時的なブロック数より前のチェーンのみが、決済されたものとみなされる。これは「決済遅延」とも呼ばれています。とりわけ、決済遅延時間を超えない限り、ステークホルダーがオフラインになってもブロックチェーンに同期することができることを意味します。

Ouroborosのプロトコルでは、各ネットワークノードは、トランザクションのmempool(既存のトランザクションと一致する場合にトランザクションが追加される場所)とブロックチェーンのコピーを保存します。ローカルに保存されたブロックチェーンは、ノードがより長く有効な代替チェーンを認識したときに交換されます。

Ouroboros Classicの欠点は、適応性のある攻撃者の影響を受けやすいことでした。これは実世界での大きな脅威であり、Ouroboros Praosで解決されました。

Ouroboros BFT

次に登場したのが「Ouroboros BFT」です。Ouroboros BFT(Byzantine Fault Tolerance)は、古いカルダノのコードベースを新しいコードベースに移行するByron rebootの際にカルダノが使用したシンプルなプロトコルです。Ouroboros BFTは、シェリーのリリースとそれに伴う分散化のために、カルダノのネットワークを準備するのに役立ちます。

Ouroboros BFTは、ノードが常にオンラインであることを要求するのではなく、ブロックチェーンであるサーバーの連合ネットワークと、サーバー間の同期通信を想定しており、よりシンプルで決定性の高い方法で台帳のコンセンサスを提供します。

さらに、即時決済証明、ネットワーク速度での取引決済(つまり、OBFTノードへのネットワーク接続速度が取引の決定要因となります)、1往復の通信での即時確認などのメリットもあります。これらにより、パフォーマンスが大幅に向上します。

Ouroboros Praos

Ouroboros Praosは、Ouroboros Classicをベースにして、セキュリティとスケーラビリティを大幅に改善しました。

Ouroboros Praos は Ouroboros Classic と同様に、トランザクション・ブロックを処理する際に、チェーンをスロットに分割し、エポックに集約します。しかし、Ouroboros Classicとは異なり、Praosは半同期的に解析され、適応型攻撃者に対して安全です。

それは、敵対者が誠実な参加者のメッセージを1スロットよりも長く遅らせることができることと、敵対者が任意の参加者に任意のメッセージをいつでも送ることができることです。

非公開リーダーの選択と、前方に安全な鍵進化型の署名により、Praosは強力な敵が次のスロットリーダーを予測し、プロトコルを破壊するために集中攻撃(DDoS攻撃など)を行うことができないことを保証します。また、Praosは、敵に制御されたメッセージ配信の遅延や、進化するステークホルダー集団の中で個々の参加者が徐々に腐敗していくことにも耐えることができます。これは、グローバルな環境でネットワークセキュリティを維持するために重要なことですが、誠実に多数のステークホルダーを維持することができれば、このような問題は発生しません。

Ouroboros Genesis

続いて、Ouroboros Genesisです。GenesisはOuroboros Praosをさらに改良したもので、新しいチェーン選択ルールを追加して、当事者がジェネシスブロックからブートストラップできるようにしています。また、Genesisは、プロトコルのユニバーサル・コンポーザビリティを証明しています。これは、実世界の環境下で、プロトコルを任意の構成で他のプロトコルと合成しても、セキュリティ特性が失われないことを示しています。このことは、Genesisのセキュリティと持続可能性、そしてGenesisを使用するネットワークのセキュリティに大きく貢献しています。

Ouroboros Hydra

最後はOuroboros Hydraです。Hydraは、高トランザクション出力、低レイテンシー、ノードあたりの最小ストレージという3つの重要なスケーラビリティ課題を解決するオフチェーン・スケーラビリティ・アーキテクチャです。

最近発表されたHydraのホワイトペーパーでは、マルチパーティーステートチャンネルの導入が提案され、その概要が説明されています。これにより、並列トランザクション処理が可能となり、カルダノのTPS(Transaction Per Second)出力が劇的に向上し、トランザクションの確認が即座に行われます。この実装の名前を反映して、論文ではオフチェーンの台帳兄弟であるステートチャンネルをヘッドと呼び、台帳をマルチヘッド化しています。

Ouroboros Hydraは、ハードウェアの性能向上による垂直方向ではなく、ノードを追加することで性能を向上させる水平方向のスケールアップを可能にします。初期のシミュレーションでは、各ヘッドが最大1,000TPSのパフォーマンスを発揮できることがわかっています。1,000個のヘッドがあれば、1,000,000 TPSにもなります。Ouroboros Hydraが実装されれば、カルダノは、例えばグローバルな決済システムのレベルまで、他に類を見ないレベルでスケールアップできるようになります。

Hydraは、Ouroborosプロトコルとカルダノの台帳に合わせて設計されていますが、カルダノと必要な特性を共有していれば、他のシステムにも採用することができます。

Ouroborosの将来性

Ouroboros(ウロボロス)は、無限大のシンボルにちなんで名付けられたプロトコルで、カルダノのエコシステムのバックボーンとなっています。このプロトコルは、循環的に変化・成長する自己増殖システムの基礎となるもので、金融やその他の既存のシステムに取って代わり、それらが依存する権力構造を無効にします。それは、中心部からではなく、周辺部から定義される新しい基準の始まりです。

その未来は、過去と同様に、探求、反復、最適化のためのたゆまぬ努力と、厳密なリサーチによるポジティブな変化をもたらします。ハイドラの後、Ouroboros Crypsinous (ウロボロス・クリプシナス)、Ouroboros Chronos (ウロボロス・クロノス)と続く旅の一歩一歩が新たな進化であり、私たちのビジョンである、より公平で安全な、そしてより持続可能な世界へと近づいていくのです。

カルダノエコシステムとSITION

お問い合わせ

Contact Us
SIPOのステーキングサービス、Cardano ADA、ADAの購入方法から保管方法についてご興味、ご質問がある方はこちらのフォームからお問い合わせください。24時間以内にメールにてご返信いたします。