IOGブログ, ニュース, ...

IOGブログ:Mithril、効率化のためのより強くて軽いブロックチェーン

以下はIOGブログに掲載された記事「Mithril: a stronger and lighter blockchain for better efficiency」を翻訳したものです。

Mithril、効率化のためのより強くて軽いブロックチェーン

IOHKが開発した新しいプロトコルは、ステークベースの閾値署名スキームとして機能し、透明で安全かつ軽量なステークの活用を可能にします。

By Olga Hryniuk 2021年10月29日

Cardano Summit 2021において、IOHKの研究者であるPyrros Chaidos氏とRoman Oliynykov氏は、IOHKが行っている新しい研究とエンジニアリングの取り組みであるMithrilの設計と目標を発表しました。Mithrilは、ブロックチェーンアプリケーションにおけるチェーンの同期、状態のブートストラップ、信頼の問題を解決するプロトコルとして実装可能な、ステークベースの閾値署名スキームを提供します。

Mithril(ミスリル)は、ミドル・アースに登場する架空の金属の名前です。可鍛性のある素材で、重量は非常に軽いですが、「三重の鋼」のように強く、変色したり、くすんだりすることはありません。この名前は、セキュリティ面での強さと、開発したプロトコルの軽量化を象徴しています。

署名集約のためのstakeの活用

ブロックチェーンソリューションの開発におけるMithrilのメリットを理解するために、まずは背景を説明します。

カルダノはプルーフオブステークのブロックチェーンであるため、コンセンサスアルゴリズムは保有するステークに応じて、ブロックプロデューサーとなるノードをランダムに選択します。特定のメッセージやアクションについては、特定の数のステークホルダーが暗号署名を提供することが重要です。コンセンサス・プロトコルは、個々のノードが台帳システムの現状をどのように評価するかを決定するもので、主に以下の3つの役割を担っています。

  • リーダーチェックを行い、ブロックを生成すべきかどうかを決定する
  • チェーン選択の処理
  • 生成されたブロックの検証

ブロックチェーンのスケーラビリティを高めるためには、参加者の数に対数的に依存する重要なオペレーションの複雑性に対処することが不可欠です。これは、参加者の数が多いほど、参加者の署名を効率的に集約することがより複雑になることを意味します。基本シナリオでは、大多数の関係者が話す署名を想定するために、すべての関係者が適切な個別メッセージに署名する必要があります。これは可能ですが、スケーラビリティとスピードの点で非効率的です。

特定のメッセージを検証するのにかかる時間や、チェーン同期時のリソース使用量を考えると、セキュリティ機能を損なうことなく、複数の署名を高速かつ効率的に集約するソリューションを提供することが重要です。

Mithrilプロトコルの設計

Mithrilは以下の目的で設計されたプロトコルです。

  • 高い効率を得るためにステークを活用する
  • 信頼度の高い設定を必要とせず、透過的なセットアップを実現する
  • そのためには、サイズと効率のトレードオフを考慮した上で、モジュール化されたコンポーネントデザインを採用する必要があります

Mithrilは、署名者が他の署名者と対話することなく、有効な署名を生成するパブリックな環境で動作します。アグリゲータはすべての署名を1つにまとめますが、この処理は署名数に対して対数的に行われるため、Mithrilのアグリゲータの性能は副次的なものになります。例えば、Daedalusのようなフルノードクライアントに適用した場合、Mithrilはフルノードのデータ同期を向上させ、速度を確保してリソース消費を減少させることができます。

全体のステークのかなりの部分を代表するために、Mithrilはステークベースの閾値設定を使用します。この動作は、特定のメッセージを検証するために所定の数の参加者を必要とする標準的な設定とは異なります。ステークベースの閾値設定では、プロトコルは、正しい署名を生成するために、与えられたメッセージを検証するために、全ステークの何分の一かを必要とします。

また、Mithrilは、トラストレスの設定でコンセンサスを認証します。これは、追加の信頼の仮定を含まないことを意味します。賭け金の証明に既に存在する仮定以外の、追加の仮定を含むことなく、コンセンサス認証を実現することが可能です。例えば、wallet-as-a-serviceの中で動作し、モバイルクライアントはMithrilノードから取得した証明書を使用することができます。高度なセキュリティ設定を行えば、このような手順はSPOブロックチェーン検証よりも効率的になる可能性があります。

最後に、チェーンの状態を迅速に起動するために、署名スキームでは、異なるステークホルダーがチェーンの所定のチェックポイントのみを検証することができます。ステークホルダーは、与えられた状態の取引履歴全体を確認する必要はなく、単にチェックポイントを確認して、最終的なステークが有効であることを検証すればよい。これは、ライトウォレットのように、チェーンを完全に同期させずに高速で動作させる必要があるライトクライアントアプリケーションにとって有益です。Mithrilの署名は、軽量の集計検証や、暗号通貨ガバナンスの意思決定にも役立ちます。

仕組み

Mithrilは、いくつかの個別の宝くじ(M)を保持し、それらの宝くじの複数の異なる当選者(K)によって署名された場合にメッセージが有効であるとみなすことで、複数のパーティによる署名を可能にしています。したがって、各ユーザはメッセージへの署名を試み、その署名を抽選機能と考えられるものに通します。この機能により、個々のユーザーは、自分の署名が抽選の対象となるかどうかを確認し、それらを待たずに出力することができます。これは、スロットリーダーが、自分のスロットがアクティブになるまで待たなければ参加できない標準的な設定とは異なります。異なる抽選に参加したケースの署名があれば、それらを1つのMithril署名に集約することができます。

段階

Mithrilの設計には3つのフェーズがあります。

Mithrilの設計図: Mithril運用のフェーズ

パラメータの設定

Mithrilプロトコルを設定するために、ユーザーは以下を行う必要があります。

  • 暗号化が行われるグループ設定を固定する
  • 選挙の数であるインデックス範囲Mを選択する。
  • 定足数Kを設定する。これは、署名が認められるために必要な選挙の勝者の数である

また、証明システムに参照文字列を提供することも重要である。これは透明性の高い方法で可能であり、信頼性の高い前提条件を必要としません。

初期化

このフェーズでは、ユーザーは状態分布を更新する必要があります。これにより、すべてのステークホルダーは、自分がどのようなステイクを持っているかを知ることができます。次に、各ステークホルダーは自分の鍵を登録する責任があります。これはチェーン上でもチェーン外でも行うことができます。

最後に、ユーザーはステークを分配し、テストキーを圧縮する必要がありますが、これはMerkle treeを使って行われます。この機能により、Mithrilの署名は、そのMerkle Treeを表す単一のハッシュに対して検証されます。そのため、署名の検証に必要な状態のサイズを低く抑えることができます。

操作方法

チェーンを使って、ユーザーはMithrilの署名を生成、集約、検証することができます。署名の生成では、生成した署名が実際に並行して行われている宝くじの1つの当選者であるかどうかをユーザが確認します。当たっていれば、ユーザーは自分の署名を放送する。あるメッセージを支持する署名が異なる抽選で十分に得られた場合、それらは1つのMithril署名に集約されます。この署名は、証明システムのための参照文字列と、賭け金分配のための非常に短いMerkleツリーのハッシュだけを使って、誰でもブロードキャストして検証することができます。

例えば、一人のユーザが以下のようにMithrilで署名を作成することができます。

Mithrilの署名:図2. Mithril署名の作成

まず、ユーザは自分の保有するステークの量を確認し、それをスコア関数に通して自分のスコア閾値Tを得ます。次に、署名候補Sの生成を試みます。各インデックスについて、生成した候補の署名が自分が今署名したメッセージとペアになっているかどうかを評価します。もしそうであれば、生成された署名候補は、そのインデックス番号の宝くじに実際に当選したことになります。もしそうでなければ、次の試行を行います。

可能性のあるインデックスをすべて試した後、ユーザは自分の署名Sが有効な1つ以上のインデックスを持つ可能性がある。これらのインデックスのそれぞれについて、ユーザは自分の署名候補、それが有効なインデックス番号、および自分のスコアが登録されたステークと一致することを検証する証明からなる個別の署名を出力することができる。

ネットワークアーキテクチャ

Mithrilをカルダノ上に実装すると、ソフトウェアの相互作用を以下のように表すことができます。

図3:Mithrilのネットワークアーキテクチャ Mithrilのネットワークアーキテクチャ

ステイクプールオペレーター(SPO)周辺のソフトウェアを高レベルで表現すると、カルダノのピアツーピア(P2P)ネットワークへの接続、MithrilノードのP2Pネットワーク、SPOが運営するノードに接続されたMithrilクライアントが含まれる。

SPOプラットフォームのMithrilノードは、ローカルストレージにある検証済みのブロックチェーンにアクセスし、Mithrilストレージに保管されているMithril証明書を生成するプロトコルを実行します。生成されたMithril証明書は、ネットワーク全体で検証可能に同期させることができます。したがって、SPOは、完全なカルダノブロックチェーンと、それに対する有効なMithril証明書のリストの両方を共有することができる。Mithrilクライアントがネットワークに接続すると、Mithril証明書のリストを要求し、カルダノブロックチェーンの最長のチェーンのみを要求します。

このような設定であれば、複数のSPOも参加することができます。その後、Mithrilクライアントは、証明書が取得したカルダノブロックチェーンを完全に確認することを検証します。全体の手順は軽量で、大きなネットワークストレージや計算資源の関与を必要としません。さらに、カルダノの完全ノード同期とMithrilによる高速同期の手順は相互に排他的ではなく、並行して実行することができます。Mithrilの高速同期は、後にフルノード同期によって確認されます。

使用例

Mithrilの適用が非常に有益なユースケースを見てみましょう。

Mithrilは、フルノードクライアントやDaedalusのようなアプリケーションの効率を高めます。フルノードのデータを高速かつ安全に同期させることができ、高レベルのセキュリティ保証を維持しながら、計算、ネットワーク交換、ローカルストレージなどの必要なリソースと時間を大幅に改善します。

Mithrilは、ライトクライアントやモバイルアプリケーションにも適用でき、信頼性の高いアプローチを実現します。もう一つの大きな利点は、サイドチェーンの実行にMithrilの署名を使用することです。メインブロックチェーンは、異なるコンセンサスプロトコルを持つことができる異なるサイドチェーンに接続することができます。Mithrilは軽量なブロックチェーンの状態検証にメリットがあり、したがって、証明書は特定のブロックチェーンの現在の状態や、前方および後方への転送の正しさを安全な方法で検証することができます。

最後に、ステークベースの投票アプリケーションやガバナンスソリューションでは、投票プロトコルの複雑さに関わらずMithrilを使用することができます。Mithrilの署名は、安全で軽量な集計検証に利用できます。これは、ステークホルダーが分散型の意思決定プロセスを経て、最終的な結果を簡単かつ検証可能な方法で提供するガバナンスにおいても有用です。

導入事例

すでにいくつかの企業が、自社のブロックチェーンソリューションへのMithrilの実装に関心を持っています。形式手法、暗号、ハードウェアに特化した先進的な研究開発企業であるGalois社は、IOHKの研究に基づいて最初のMithrilプロトタイプを実装する予定です。Galois社は、Mithrilの実装にプログラミング言語Rustを使用していますが、これは高速なプロトタイピングが可能なためです。彼らの計画では、まずBulletProofを用いてより小さな署名を提示し、次に生産可能な実装を行い、最後に正しさの正式な証明を行う予定です。

Idyllic Vision社は、ゼロ知識証明に基づく自己主権型のアイデンティティプロトコル、組織向けのクレデンシャル管理システム、多様な社会ソリューション間の相互運用性をサポートするエンドユーザー向けのモバイルウォレットの構築に注力している企業です。彼らは、Mithrilノードの概念実証を実施する予定です。翌月には、ソリューションアーキテクチャの青写真の作成に着手し、開発して既存のインフラに有機的に統合すべき多くのシステムコンポーネントを定義します。これには、Mithrilの暗号ライブラリやカルダノノードとの統合、ノード間の通信のためのネットワーク層などが含まれます。このフェーズの結果は、カルダノに統合され、ノードの高速起動や、軽量クライアントなどの追加機能のサポートを可能にする必要があります。

詳細については、Mithril社の研究論文と、Cardano Summitのプレゼンテーションをご覧ください。

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

お問い合わせ

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

最新投稿