top of page
執筆者の写真ICP Japan

Don’t trust, verify - インターネットコンピュータ(ICP)上の新しいノードメトリクス

※この記事は Don’t trust, verify — New node metrics on the Internet Computer の内容を引用しています

新しいメトリックのリリースにより、ノードのパフォーマンスは完全に透明かつ検証可能になります。


背景

---

インターネット コンピュータ プロトコルは、分散化を確実にするために、独立した所有者によって運営され、世界中の独立したデータ センター内に設置された標準化されたノード マシンによって作成されたサブネット ブロックチェーンの作成と相互作用を調整します。他のブロックチェーンと比較すると、インターネット コンピュータは、ノードのパフォーマンスと可用性に関する要件が厳しくなっています。これは、ノード リソースのほとんどが、スマート コントラクトの実行やしきい値暗号化への参加などの有用な作業の実行に専念しているためです。これらのタスクは、特定のサブネット ブロックチェーンのすべてのノードによって実行され、エネルギーとコスト効率のために他のブロックチェーンよりもはるかに低いレプリケーション係数で実行されます。

インターネット コンピュータは、誰でもノード プロバイダー(NP)になれるように設計されています。分散化された方法で、各ノード プロバイダーは、インターネット コンピュータを管理する DAO であるNetwork Nervous System (NNS) を介してトークン所有者によって検証され、投票されます。NNS は、ノードを追加してインターネット コンピュータの容量を拡大することを含め、ネットワークの運用と進化を監視する分散アルゴリズム機関として機能します。この点で、ノードの貢献を測定し、プロバイダーがノードの問題を効率的に診断できるようにすることは理にかなっています。信頼できるノード メトリックを使用すると、ノード プロバイダーの報酬モデルを調整して、ハードウェアと運用コストをカバーするための固定の月額ではなく、正確なノードの貢献に報酬を与えることができます。


信頼できる指標

---

これまで、ノードの健全性は、インターネット コンピュータ外部のインフラストラクチャのログとメトリックを収集して分析することで測定されてきました。予想される指標値から逸脱した場合、それぞれのノード プロバイダーとデータ センターが現状、状況を修正する責任を負っています。しかし、これはまったくトラストレスというわけではありません。過去数か月間に、インターネット コンピュータ プロトコルは、以下に概説する変更によって改善され、ネットワークのノード自体が完全に自動化され、トラストレスな方法でタスクの一部の監視を実行できるようになりました。現在では、追加の信頼の仮定なしに、インターネット コンピュータ自体と対話するだけで、どの当事者もノードの健全性とその貢献に関する情報を収集できるようになりました


通常、ユーザーは他のブロックチェーンでこの情報を推測するためにすべてのブロックを処理する必要がありますが、インターネット コンピュータ上のユーザーは、チェーン キー テクノロジーとしきい値署名を利用してノード メトリックを直接取得できます


長期的には、検証可能なノード メトリックが利用可能になることで、分散型モニタリングを通じて得られた洞察によって、ノードのパフォーマンス、またはむしろその欠如に基づいて支払いを自動的に調整できるようになるため、ノード報酬プロセスのさらなる洗練と改善につながります。


信頼できるノードメトリックのためのICPアーキテクチャ

---

コンセンサスは常にどのように機能してきたか

---

インターネット コンピュータのコンセンサス レイヤーの役割は、サブネットへの入力を順序付けして、サブネット内のすべてのノードが同じ順序で入力を処理できるようにすることです。インターネット コンピュータのコンセンサス プロトコルは、入力を含むブロックのチェーンを作成し、その内容をメッセージ ルーティング レイヤーに渡すことでこれを実現します。メッセージ ルーティングレイヤーは、入力がターゲットに到達することを保証します。この目的のために、コンセンサス プロトコルは、どのノードが次のブロックを作成するかを決定するために、偏りがなく予測不可能な疑似ランダム関数に依存しています。選択されたノードが十分な速さでブロックを作成できない場合、疑似ランダム関数は別のノードを選択してブロックを作成します。


最近の更新

---

コンセンサスでは、どのノードがブロック メーカーとして成功したか、順番が来たにもかかわらずどのノードがブロック メーカーとして失敗したかに関する情報がメッセージ ルーティング (MR) に提供されるようになりました。


次に、MR レイヤーはこの情報を複製状態に追加します。この情報は、サブネット内のノードによってしきい値署名され、すべての正直なノードが同じ状態になるようにします。正常に提案されたブロックの数とその失敗のメトリックは、サブネットに属するノードの複製状態に蓄積されます。


60 日間の各日について、この蓄積の状態は、深夜直前の最後の複製された状態更新を含むスナップショットとして、スナップショットのキューに保存されます (時系列の昇順)。キュー内のスナップショットは不変であり、現在の状態は含まれません。


これを便利にするには、より多くの機能を提供する必要があります。より正確に言うと、ノード プロバイダーと ICP コミュニティのメンバーは、異なる範囲に関心がある可能性があります。そのため、日付範囲をクエリして、範囲の終了値と開始値の差を返す機能が追加されました。サブネット メンバーシップは時間の経過とともに変化する可能性があるため、カリング メカニズムを提供する必要がありました。新しいスナップショットがプッシュされるときに、問題のノード ID の統計が前のスナップショットと比較して変更されていない場合は、ノード ID が削除されます。範囲クエリのスナップショット間の差を取得するときにも、これを考慮する必要があります。


これを管理キャニスター(Management Canister)経由で外部から利用できるようにするために、新しいエンドポイントnode_metrics_historyが作成されました。これは、上記のスナップショットから指定された日付範囲のデータを返します。詳細については、IC インターフェース仕様を参照してください。この API は実験的なものと見なされていることに注意してください。つまり、フィードバックは大歓迎であり、キャニスター開発者は、API が下位互換性のない方法で進化する可能性があることを認識する必要があります。


ノード メトリックの取得にはリソース (CPU、メモリ、帯域幅) が消費されるため、悪用を防ぐために、エンドポイントはキャニスターによってのみ呼び出されます。メトリックの取得要求ごとに課金されるため、悪意のあるユーザーがこのインターフェイスを使用して DOS 攻撃を実行することが難しくなります。


信頼できるノードメトリクスのためのツール

---

DFINITY の R&D チームは、ノード プロバイダーやその他の関係者がすべてのサブネットの管理キャニスターからメトリックを取得し、詳細に検査できるようにするオープン ソース ツールを作成しました。さらに、サブネット メンバーシップの変更に関する情報も提供します (たとえば、ノードがサブネットに参加すると、状態同期が完了するまでブロックは提供されません)。このツールは、メトリックをすべてのサブネットから並行して取得し、取得に必要な時間を短縮します。


すべてのデータは、潜在的に悪意のあるノードが誤ったデータを提供することを防ぐために、更新呼び出しを通じて取得されます。通常、37 個のサブネットすべてから最新のメトリックを収集するには 10 秒もかかりません。メトリックはその後、JSON 形式でローカル ファイルに保存され、他のツールでさらに分析できます。



さらなるマイルストーンへの入り口

---

信頼できるノード メトリックを取得できることにより、インターネット コンピュータの透明性と運用効率における次のマイルストーンが実現します。ノードのパフォーマンスに関する明確な洞察を提供することで、分散型データ駆動型の意思決定と、ノード報酬プロセスの将来的な強化の基礎が築かれます。


最新記事

すべて表示

Commenti


bottom of page