この記事はAIによって生成されました。重要な情報は独自に確認してください。

NEAR ステートレス検証:フェーズ 2 シャーディング

Crypto Wiki|Jul 24, 2026|4.5 (500 件の評価)
AI 要約

Learn how NEAR stateless validation eliminates validator storage requirements, enabling horizontal scalability without hardware centralization through...

NEARのステートレスバリデーションは、NEAR ProtocolのシャーディングフレームワークであるNightshadeのフェーズ2アップグレードであり、これによりチャンクバリデーターはシャード状態の永続的なローカルコピーを保持する必要がなくなります。代わりに、チャンクプロデューサーは必要なすべての状態データを「ステートウィットネス」にパッケージ化します。これは、特定のチャンクの実行に必要なすべてのアカウント残高、コントラクトストレージエントリ、およびアクセスキーを含む暗号化されたデータ構造であり、チャンクとともにバリデーターに配信されます。この設計は、バリデーターのハードウェア要件をネットワークの状態サイズから切り離し、バリデーターセットに比例的なストレージコストの増加を強いることなく、シャードを追加することでNEARを水平方向にスケールさせることを可能にします。

この記事では、NEAR Protocolの概要、Nightshadeシャーディングの仕組み、ステートウィットネスのライフサイクルやバリデータの役割階層を含むステートレス・バリデーションの正確なメカニズムについて解説します。また、分散化とスケーラビリティにおける利点、イーサリアムのステートレス・ロードマップとの直接的な比較、そしてバリデータ、ステーカ―、開発者、dApp開発のためにNEARを評価しているすべての人々に与える影響についても網羅しています。

NEAR Protocol(ニアプロトコル)とは?

NEAR Protocol(ニア・プロトコル)は、レイヤー1のプルーフ・オブ・ステーク(PoS)型ブロックチェーンです。独自のシャーディング・フレームワークである「Nightshade(ナイトシェイド)」を採用しており、トランザクション処理を複数の並列シャードに分割することで、ほぼゼロに近い取引手数料で高いスループットを実現しています。NEARは分散型アプリケーションを大規模に展開することを目的として設計されており、開発者ツールやコンセンサス・アーキテクチャは、将来的にシャード数が増加することを前提に構築されています。

NEARのコア・アーキテクチャ

NEARは、バリデーターがコンセンサスに参加するためにNEARトークンをステーキングするプルーフ・オブ・ステーク(Proof-of-Stake)ネットワークとして機能します。各エポック(約半日間の固定期間)ごとに、バリデーターはランダムにシャーディングに割り当てられます。NEARプロトコルは、機械学習分野の画期的な論文「Attention Is All You Need」の共著者であるIllia Polosukhin氏とAlexander Skidanov氏によって共同設立されました。NEAR財団は、プロトコルの継続的な開発とエコシステムへの助成金を監督しています。

NEARトークンは、トランザクションとコントラクト実行のためのガス手数料の支払い、およびバリデーターがコンセンサスへの参加権を得るための担保としてのステーキングという2つの主要な機能を提供します。NEARのスマートコントラクトは、RustまたはJavaScriptで書かれたコントラクトが決定論的なランタイム内で実行できるポータブルバイナリフォーマットであるWebAssembly(WASM)にコンパイルされます。NEARでのトランザクション処理はチャンクベースのモデルに従っており、各シャードがブロック間隔ごとにチャンク(並列処理されるシャードレベルのブロック)を生成し、全てのチャンクが単一の正準ブロックに集約されます。

他のL1ブロックチェーンとNEARは何が違うのか?

NEARは、単一のチェーンですべての実行を処理するのではなく、状態とトランザクション処理の両方をシャードに分割する実行シャーディングモデルによって、他のレイヤー1ブロックチェーンとは一線を画しています。主な差別化要因は以下の通りです。

  • Nightshade実行シャーディング: NEARは、データ可用性だけでなく、ステートと計算の両方をシャーディングします。これは、実行シャーディングではなく、レイヤー2ロールアップのデータ可用性シャーディングを対象とするEthereumのDankshardingアプローチ(EIP-4844)とは異なります。
  • ステートレスバリデーション(フェーズ2): チャンクバリデーターはローカルなステートストレージなしで動作します。これは、分権化とシャードスケーラビリティに直接的な影響を与える設計選択であり、この記事で詳しく説明されています。
  • WASMスマートコントラクトランタイム: コントラクトはWASMサンドボックスで実行され、RustとJavaScriptを主要な開発言語としてサポートしています。
  • 人間が読めるアカウント名: NEARアカウントは、生のパブリックキーハッシュの代わりに名前付き識別子を使用します。
  • ストレージステーキングモデル: コントラクトはNEARトークンをステーキングすることでオンチェーンストレージの料金を支払います。これは、バイトあたりの料金ではなく、ステーキングされた担保とストレージコストを関連付けます。
  • Nearゼロトランザクション手数料: NEARの手数料体系は、中程度のネットワーク負荷下でもアクセスしやすいように設計されています。

SolanaはSealevelランタイムを用いたシングルチェーンの並列処理によってスケーリングを実現しており、NEARは独立した並列シャードにわたるシャーディングによってスケーリングを行います。これらは、同一のスループットの問題に対する異なるアーキテクチャ上のアプローチです。イーサリアムとの比較については、本記事の後半で詳しく取り上げます。

ステートレス検証とは?

ステートレスバリデーションとは、バリデーターがネットワークの状態の永続的なローカルコピーを維持することなくトランザクションを処理するブロックチェーンのバリデーションモデルであり、検証する各ブロックまたはチャンクの一部として必要なすべての状態データを受け取ります。「ステートレス」という言葉は、ブロックチェーンの状態そのものではなく、バリデーターと状態ストレージとの関係を指しており、ブロックチェーンの状態は存在し成長し続けます。バリデーターの視点から見ると、各バリデーションジョブは、完了するために必要なすべてがプリパッケージされた状態で到着します。

ステートフル vs ステートレスバリデーション:主な違い

ステートフルバリデーションとステートレスバリデーションの違いは、実行中にステートデータが検証者側にあるのか、それとも処理側にあるのかということです。

ステートフルバリデーションステートレスバリデーション
ステートストレージバリデーターは、シャードステートのローカルコピー全体を保存します(数百GBからTB、時間とともに増加)バリデーターは、永続的なシャードステートを保存しません
ステートアクセス方法トランザクション実行中にローカルストレージデータベースから読み取ります各チャンクと共に配信されるステートウィットネスから読み取ります
ハードウェア要件チェーンの成長に伴い、ネットワークステートサイズに比例して増加しますネットワークステートサイズから切り離されています
分散化への影響高く増加するストレージコストがバリデーターの参加を制限します低く安定したコストが、より広範なバリデーターの参加を可能にします

ステートフルな検証において、バリデーターは状態(ステート)の管理人となります。つまり、関連するシャードのデータのコピーを保持し、すべてのトランザクションでそれを参照します。一方、ステートレスな検証では、状態データは処理とともに移動します。バリデーターは、必要なものだけを正確に受け取り、それを使用してから破棄します。

なぜNEARにはステートレスな検証が必要だったのか

NEARの当初の状態保持型(stateful)アーキテクチャでは、シャードに割り当てられたすべてのチャンクバリデーターがそのシャードの状態の完全なローカルコピーを保持する必要があり、NEARのシャード数が増えるにつれて、ネットワーク内の全バリデーターに求められるストレージハードウェア要件も増大しました。新しいシャードが追加されるたびに、そこに割り当てられたバリデーターには比例したストレージ負担が課せられました。これにより、NEARのスケールアップの野心と、バリデーター参加のためのハードウェアコストという障壁が直接的に結びついてしまいました。スループットを向上させるためにネットワークがシャードを追加すると、同時にバリデーターになるためのコストも上昇し、大規模なストレージインフラを持つオペレーターにのみ参加が集中することになりました。

ステートレスバリデーションは、この結合を断ち切ります。チャンクバリデーターは、もはやシャードの状態を一切保存しません。バリデーション対象の各チャンクに必要な状態データだけを受け取り、そのデータに対してトランザクションを実行し、破棄します。シャードを増やすことで、バリデーターごとのストレージ要件を増加させることなく、ネットワークスループットを向上させることができます。これは、ブロックチェーンのスケーラビリティ・トライレンマにおける中心的な課題の一つに対処します。NEARは、ハードウェアの集中化を強制することなく、スループットをスケーリングするためにシャードを追加できます。同時に、ステートウィットネスの暗号学的整合性により、セキュリティが維持されます。


シャーディングを理解する:NEARのスケーラビリティの基盤

NEARのステートレスバリデーションは、ネットワークのグローバルステートとトランザクション処理を複数の並列シャードに分割するNightshadeシャーディングアーキテクチャ内で動作します。このアーキテクチャの理解は、後続のメカニズム説明の前提となります。なぜなら、ステートレスバリデーションは、バリデーターがNightshadeの構造内でどのように参加するかに関する特定のアップグレードだからです。

NEARにおけるNightshadeシャーディングの仕組み

NightshadeはNEAR Protocolのシャーディングフレームワークであり、ブロックチェーンのグローバルな状態が複数のシャードに分割されます。各シャードは、各ブロックインターバルごとにチャンク(シャードレベルのブロック)を生成します。アクティブなすべてのシャード全体で複数のチャンクが並行して生成され、そのインターバルのブロック生産者によって、単一の正規のブロックへと集約されます。

ナイトシェードの中核となる設計思想は、すべてのシャードが、別個のチェーンではなく、1つの論理的なブロックチェーンのコンポーネントとして扱われるということです。各NEARブロックは、アクティブなシャードごとに1つのチャンクを含んでいます。これは、トランザクション処理が分散される中でも、グローバル台帳が一元化されたまま保たれることを意味します。シャード間トランザクションは、シャード間でメッセージをやり取りする非同期レシートメカニズムを通じて処理されます。

バリデーターはエポックごとに各シャードへランダムに割り当てられます。これにより、特定のシャードのバリデーターセットが狙い撃ちにされて攻撃を受けたり、乗っ取られたりするリスクが限定されます。バリデーターに特定のシャードが恒久的に割り当てられることはなく、エポックごとに交代するため、ネットワーク全体で責任とリスクの両方が分散されます。

Nightshadeの完全な実装は、3つのフェーズにわたって進行します。フェーズ1では、バリデーターがローカルステートの完全なコピーを保持しながら、チャンク処理を伴う基本的なシャーディングを確立しました。フェーズ2は本記事のテーマであるステートレスバリデーション(stateless validation)です。フェーズ3は動的リシャーディング(dynamic resharding)であり、これによりNEARはリアルタイムのネットワーク需要に基づいてシャード数を自動調整できるようになります。NEARのシャーディングモデルに関する完全な技術ドキュメントについては、docs.near.org/concepts/advanced/sharding.)をご覧ください。


NEARステートレスバリデーションの仕組み

NEARステートレスバリデーションは、チャンクの検証に必要なステートデータが、チャンクプロデューサーによってステートウィットネスとしてパッケージ化され、チャンク自体と共に送信されるため機能します。チャンクバリデーターは、チャンクとそのステートウィットネスを一緒に受信し、ウィットネスデータのみを使用して全てのトランザクションを実行し、ローカルステートデータベースを参照することはありません。これにより、NEARネットワークで最も多数を占めるクラスのバリデーターは、ステートストレージ要件がほぼゼロで運用することが可能になります。

ステートウィットネスとは?

状態証明(ステートウィットネス)とは、チャンクプロデューサーによって生成される暗号学的データ構造であり、特定のチャンク内のトランザクションを実行するために必要なすべての状態データ(影響を受けるアカウント残高、コントラクトストレージのエントリ、アクセスキー、コントラクトコードなど)を含みます。

ステート証人を、審理前に裁判所書記官が準備する訴訟記録だと考えてください。これは、裁判官が評決を下すために必要とするすべての文書を含み、裁判官が訴訟の途中で裁判所保管記録を検索する必要がないように、事前にまとめられたものです。NEARのアーキテクチャにおいて、ステート証人はまさにその訴訟記録にあたります。チャンクバリデーターは、チャンクと共にステート証人を受け取り、ローカルステートストアに一切問い合わせることなく、その内容のみを使用してすべてのトランザクションを実行します。

ステート・ウィットネスのライフサイクルは、5つの異なる段階で構成されています。

内容: ステートウィットネスには、トランザクションのチャンク内で処理されたすべてのアカウントの、アカウント残高、コントラクトストレージエントリ、アクセスキー、およびコントラクトコードが含まれます。実行中に実際に読み書きされたステートのみが含まれ、シャード全体のステートはパッケージ化されません。

  1. 生成: チャンクを構築するバリデーターであるチャンクプロデューサーは、ローカルシャードステートのコピーから関連するステートエントリを読み込み、ステートウィットネスにパッケージ化します。チャンクプロデューサーは、将来のチャンクのウィットネスを生成できる必要があるため、ローカルステートを保持します。

  2. 送信: チャンクプロデューサーは、現在のブロック間隔においてそのシャードにランダムに割り当てられたチャンクバリデーターに対して、チャンクとそのステートウィットネスを併せてブロードキャストします。

  3. 実行: 各チャンクバリデーターは、ステートウィットネスデータのみを用いてチャンクのトランザクションを実行します。ローカルステートの参照は一切行われません。実行完了後、チャンクバリデーターはチャンクが有効であることを示すアテステーションを生成します。

  4. 破棄: 検証が完了すると、チャンクバリデーターはステートウィットネスを破棄します。このウィットネスは保持、保存、またはローカルステートデータベースの更新に使用されることはありません。

ステートウィットネスの構造は、NEAR Enhancement Proposal (NEP) として正式に規定されています。詳細な仕様および現在のNEP番号については、GitHub上のNEAR NEPsリポジトリ.)を参照してください。コアプロトコルクライアントにおける実装の詳細については、GitHub上のnearcoreリポジトリ.)を参照してください。

チャンクバリデータとブロックプロデューサーの役割

ステートレスバリデーションにおけるNEARのバリデーターアーキテクチャには、チャンクプロデューサー、チャンクバリデーター、およびブロックプロデューサーという3つの異なる役割があり、それぞれ異なる責任とステートストレージ要件を持っています。

チャンクプロデューサーチャンクバリデーターブロックプロデューサー
主な責任チャンク(シャードレベルのブロック)を構築し、ステートウィットネスを生成するステートウィットネスを使用してチャンクを検証し、アテステーション(証明)を作成するすべてのシャードからアテステーション済みのチャンクを集約し、単一の正規ブロックを作成する
ステートストレージの必要性はい:ウィットネスを生成するために完全なローカルシャードステートを保持するいいえ:各チャンクと共にステートウィットネスを受け取り、使用後に破棄するいいえ:シャードステートを直接処理しない
ステートレス検証下でのハードウェアへの影響ハードウェア要件に変更なし。チャンクプロデューサーは引き続きステートストレージが必要チャンクバリデーターとしてのストレージ要件がほぼゼロに低下するステートストレージ要件に変更なし
バリデーター数少数のセット。ブロック間隔ごとに1シャードにつき1つのチャンクプロデューサーネットワーク内の大多数のバリデーター少数のセット。ブロック間隔ごとに1つのブロックプロデューサー

重要な構造的洞察は、チャンクバリデーターがネットワーク内で最も多数を占めるクラスであり、ステートレスバリデーション下では高価なストレージハードウェアを必要としなくなることです。チャンクプロデューサーのみ、というはるかに小規模なグループがステートストレージ要件を維持しますが、それは各チャンクのウィットネスを生成するためにローカルステートを読み取る必要があるためです。この非対称性によって、ネットワーク全体のストレージコストを比例して増加させることなく、バリデーターセットを成長させることが可能になります。分散化によるメリットは、まさに最大のバリデータークラスに集中しているのです。

ステートレスバリデーション下のバリデーションフロー

以下の手順では、NEARにおいて新しいブロックインターバルが開始されてから、検証済みブロックがファイナライズされるまでのプロセスを説明します。

  1. チャンクの生成: 各アクティブなシャードに割り当てられたチャンク・プロデューサーは、このブロック間隔で処理される保留中のトランザクションを含むチャンク(シャードレベルのブロック)を生成します。

  2. ステート・ウィットネス生成: チャンクプロデューサーは、ローカルシャー Shard のステートコピーから関連するステートエントリを読み取り、チャンク内のトランザクションによってアクセスされた全てのアカウント残高、コントラクトストレージエントリ、およびアクセスキーを含むステート・ウィットネスにパッケージ化します。

  3. チャンクバリデーターへの送信: チャンクプロデューサーは、このブロック間隔において、そのシャードにランダムに割り当てられたチャンクバリデーターに対し、チャンクとそのステートウィットネスをブロードキャストします。

  4. ステートレス実行: 各チャンクバリデーターは、ローカルの状態(ステート)を一切ルックアップすることなく、ステートウィットネスデータのみを使用してチャンクのトランザクションを実行します。実行後、チャンクバリデーターはチャンクの有効性を証明し、ステートウィットネスを破棄します。

  5. ブロックの構築: このインターバルのブロックプロデューサーは、すべてのアクティブなシャードから証明済みチャンクを収集し、それらを1つのカノニカルブロックに集約して、ファイナライゼーションのためにネットワークにブロードキャストします。

ステップ3および4のどの段階においても、チャンクバリデータがローカルのステートストレージを必要とすることはありません。ステートウィットネスが、検証プロセスの実行中に必要となるすべてのステートアクセスを提供します。

NEARステートレスバリデーションのメリット

ステートレスバリデーションは、NEARネットワークに3つのカテゴリーの改善をもたらします。それは、最も多数を占めるバリデータークラスのハードウェア要件を削減し、ステートフルバリデーションがシャード数とスループットに課していたスケーリングの天井を取り除き、ネットワーク上で分散型アプリケーションを構築する開発者にとってのインフラストラクチャ条件を改善することです。

ハードウェア要件の低下と分散化の向上

NEARのバリデーターセットにおけるステートレスバリデーションの最も直接的な結果は、チャンクバリデーターにとってシャード状態ストレージをハードウェア要件から除外することです。ステートフルバリデーション下では、ネットワークがより多くのトランザクションを処理し、より多くの状態を蓄積するにつれて、シャードの状態サイズとともにチャンクバリデーターのストレージ需要は経時的に増加し、数百ギガバイトからテラバイトへと拡大しました。これは、段階的なハードウェアコストの障壁を作り出していました。

ステートレスバリデーションにより、チャンクバリデーターはこの負担から完全に解放されます。この役割におけるストレージ要件は、ステート関連インフラストラクチャにおいてはほぼゼロにまで低下し、ブロック時間制約内でのトランザクション実行とアテステーション送信に必要な計算能力とネットワーク帯域幅の要件のみが残ります。

分散化の効果は、このハードウェアの変更から直接的にもたらされます。ストレージコストの低下は、チャンクバリデータの運用にかかる総コストを削減し、実質的な参入への経済的障壁を下げます。これにより、より大規模で地理的に多様なバリデータセットが可能になり、その結果、バリデータの集中リスクが軽減されます。大多数のバリデータが汎用ハードウェアで稼働できるネットワークは、バリデータの資格を得るためにストレージインフラへの多額の資本支出が必要なネットワークよりも、構造的に中央集権化に対して強い耐性を持ちます。ステートレスバリデーションにおけるチャンクバリデータの現在のハードウェア要件仕様は docs.near.org/validator; にて管理されています。最新の数値については、そちらのドキュメントを参照してください。

セキュリティを犠牲にしないスケーラビリティ

ステートレス検証は、NEARのシャード数とバリデーターのハードウェア要件を切り離すことで、ステートフル検証がネットワークのスループットに課していた拡張性の限界を取り除きます。以前のステートフルモデルでは、シャード数を2倍にすると、それらの新しいシャードに割り当てられたすべてのバリデーターが比例した追加ストレージを用意する必要があり、シャード数を増やすことは経済的に困難でした。ステートレス検証はこの関係を打破し、バリデーターごとのストレージ負担を増やすことなく、シャードの追加によってネットワーク容量を拡大することを可能にします。

NEARでは、ネットワークスループットはシャード数にほぼ比例してスケールします。より多くのアクティブなシャードは、ブロック間隔あたりで並列処理されるチャンク数の増加を意味し、これによりネットワークが1秒間に確認できるトランザクション数が増加します。ステートレスバリデーションは、NEARが規模を拡大してより多くのシャード数を達成するための前提条件です。NEAR Foundationのドキュメントには、最新のスループットの数値が更新され次第提供されます。特定のシャード構成に関連付けられた現在のTPSデータについては、docs.near.orgを参照してください。

これは、ブロックチェーンのスケーラビリティのジレンマにおけるスケーラビリティの側面を直接的に解決するものです。シャーディングネットワークにおけるスケーラビリティと分散性の間の歴史的な緊張関係は、容量の増加が通常バリデーターのハードウェアコストを増加させ、分散性を低下させるために生じます。ステートレスバリデーションは、このトレードオフを引き起こしたメカニズムを排除し、NEARが相応の分散化圧力なしにシャード数の増加を追求できるようにします。スケーラビリティモデルは、フェーズ3のダイナミックリシャーディングでその能力を最大限に発揮し、NEARは手動での調整なしにリアルタイムのネットワーク需要に基づいてシャード数を自動的に調整できるようになります。

NEAR上で開発する開発者にとっての意味

NEARをデプロイ用プラットフォームとして評価している場合、ステートレス・バリデーションはコントラクト層ではなく、インフラストラクチャ層でアプリケーションに影響を与えます。アーキテクチャの決定を下す前に、理解しておくべき4つの実用的な影響があります。

コントラクトの変更は不要です。 ステートレス・バリデーションはプロトコルレベルの変更です。スマートコントラクトを修正することなく、そのメリットを享受できます。すでにNEARにデプロイされているコントラクトは、アップグレードされた、よりスケーラブルなネットワーク上で自動的に動作します。移行の手順や再デプロイの必要性はなく、APIの変更もありません。

シャード数の増加に伴うスループットの向上。NEARがステートレスバリデーションによってより多くのシャードを追加すると、ネットワークの総トランザクション容量が増加します。これは、あなたのdAppにとって、需要の高い時期における混雑確率の低下、そしてネットワークがスケールするにつれてより安定し、予測可能なトランザクションコストにつながります。

よりレジリエントなインフラ。 チャンクバリデータへの参加におけるハードウェアの障壁を低くすることで実現される、より分散型のバリデータセットは、中央集権化に関連するネットワークの中断リスクを軽減します。プロダクションdAppは、オペレーターの集中や、リソースの豊富な少数のバリデータに集中したハードウェアの故障によって中断されにくいバリデータネットワークの恩恵を受けることができます。

Ethereum開発者向けパス。 NEARは、Ethereum開発者がRustやJavaScriptで書き直すことなくNEAR上にSolidityコントラクトをデプロイすることを可能にする、EVM互換の実行環境「Aurora」をサポートしています。これらのコントラクトは同じ基盤ネットワーク上で実行され、同様のステートレスバリデーション(stateless validation)のインフラ改善による恩恵を受けます。

NEARステートレスバリデーション 対 Ethereumのステートレスロードマップ

Ethereumのステートレス・クライアントのロードマップに精通している開発者であれば、NEARのステートレス・バリデーションが同じ根本的な問題、すなわちバリデーターやノードのハードウェアをネットワークのステート・サイズから切り離すという点に取り組んでいることに気づくでしょう。これら2つのアプローチは、両ネットワークの根本的に異なる構造によって形作られ、異なるアーキテクチャ・レベルで、異なるメカニズムを通じて機能します。これらは競合する設計ではなく、ブロックチェーンのステート増大によるハードウェア負荷に対する並行した対応策なのです。

NEAR Stateless ValidationEthereum Stateless Clients
Approachチャンクごとにパッケージ化されたステート証跡によるシャードレベルのステートレスバリデーションブロックごとにパッケージ化されたVerkleツリー証跡によるフルチェーンステートレスクライアント
Mechanismチャンクプロデューサーがチャンクごとにステート証跡を生成。チャンクバリデーターはローカルステートなしで実行。Verkleツリー証跡(EIP-4762)がMerkleプルーフを置き換え。クライアントはフルステートなしでブロックを実行。
Architectural Levelシャーディング実行環境内のシャード(チャンク)レベルで適用モノリシック(単一チェーン)実行環境のフルノードレベルで適用
Current StatusNightshadeのフェーズ2。現在のメインネットステータスはdocs.near.orgで確認してください。長期ロードマップ項目。EIP-4762仕様は活発に開発中。
Primary Goalシャーディング実行環境内のシャード(チャンク)レベルで適用モノリシック(単一チェーン)実行環境のフルノードレベルで適用
Primary Goalシャード数を、チャンクバリデーターのハードウェア要件に比例させずにスケールさせることフルノードのストレージ要件を削減し、ステートレス実行クライアントをEthereumで実行可能にすること

どちらのアプローチも、バリデータやクライアントが必要とする状態(ステート)データを、検証対象のブロックまたはチャンクに同梱してパッケージ化するため、実行側がローカルのステートデータベースを保持する必要は一切ありません。構造的な違いとして、NEARのステートレスバリデーションはシャード化されたシステム内で適用され、ネットワークの大部分を構成するチャンクレベルのバリデータが対象となります。一方、イーサリアムのステートレスロードマップはモノリシックな実行レイヤー上のフルノードを対象としており、チェーン全体のステートは、最終的にローカルのステートトライではなくVerkleツリーのウィットネスを通じてアドレス可能にする必要があります。

シャーディングの側面において具体的に述べると、NEARのNightshadeフレームワークは、ステートと計算の両方をシャード間で分割する実行シャーディング設計です。イーサリアムのDankshardingの提案は、レイヤー2ロールアップのためのデータ可用性シャーディングを対象としており、実行シャーディング設計ではありません。これらは異なるネットワーク構造に対応するアーキテクチャ上異なる目標であり、NightshadeとDankshardingを直接比較する際には、それぞれが異なる問題を解決していることを認識する必要があります。

無状態検証はNEARのロードマップにおいてどのような位置づけですか?

Nightshadeのフェーズ2は、ステートレスバリデーション(Stateless Validation)です。NEARのドキュメントやコミュニティの議論では、「フェーズ2」と「ステートレスバリデーション」が同じ意味で使われることが多いため、この同等性を明言しておく価値があります。どのフェーズが現在進行中であるかを理解することは、ネットワークのスケーリングアーキテクチャの状態を把握することに繋がります。

Nightshadeの3つのフェーズの解説

Nightshadeの完全な実装は3つの異なるフェーズにわたって行われ、各フェーズは前のフェーズを基盤としつつ、次のフェーズの前提条件を確立します。

フェーズ1: 基本シャーディング (完了)

NEARはネットワーク状態を複数のシャードに分割し、各シャードがトランザクションを並列処理するようにしました。バリデーターは、割り当てられたシャードの状態の完全なローカルコピーを維持していました。ブロックプロデューサーは、全てのシャードからのチャンクを単一の正準ブロックに集約しました。フェーズ1はNightshadeチャンクベースアーキテクチャを確立しましたが、ハードウェア要件をシャードの状態サイズに直接結びつけたままにしたため、フェーズ2で対処されるスケーリングの天井を作り出しました。

フェーズ2:ステートレスバリデーション(現在のフェーズ)

チャンクバリデーターはローカルシャードステートを維持しなくなりました。チャンクプロデューサーはステートウィットネスを生成し、チャンクと同時に提供します。これにより、チャンクバリデーターのハードウェア要件がシャードステートのサイズから切り離され、バリデーターのハードウェアコストを比例して増加させることなく、ネットワークがより多くのシャードにスケールできるようになります。執筆時点では、NEAR メインネットでフェーズ2が有効化されています。正確な有効化日時と現在のネットワークステータスについては、NEAR Foundation blog) および docs.near.org を参照してください。プロトコルのフェーズは段階的に有効化され、ドキュメンテーションはそれに従って更新されるためです。

第3フェーズ:動的リシャーディング (計画中)

NEARは、手動での調整やバリデータのハードウェアアップグレードを必要とせずに、リアルタイムのネットワーク需要に基づいてシャード数を自動的に増減させる機能を獲得します。ステートレスバリデーション(Stateless validation)は、動的リシャーディング(dynamic resharding)の直接的な前提条件です。フェーズ2が有効でない場合、シャードを追加するとバリデータに比例的なストレージコストの増加を強いることになり、自動化されたシャード調整は経済的に非現実的となります。フェーズ3は、NEARにおいて理論上無制限の水平スケーリングを可能にするアーキテクチャ上のステップです。

これら3つのフェーズは、固定されたシャード割り当てとステートフルなバリデータを持つシャード化されたブロックチェーンから、バリデータセットのハードウェアコストを比例して増加させることなく、独自の処理能力を調整する動的にスケーラブルなネットワークへのNEARの進化を表しています。

NEAR ステートレス・バリデーション:バリデーターとステーカーへの影響

チャンクバリデーターにとって、ステートレスバリデーションは、NEARの旧アーキテクチャにおける最大の単一ハードウェアコスト要因である、シャード状態の完全なローカルコピーを維持する必要性を排除します。これは、バリデーター運用の経済性とバリデーター参加の実践的なアクセシビリティに直接的な影響を及ぼします。

以前は、チャンクバリデーターには割り当てられたシャードのステートサイズに比例したストレージ容量が必要であり、ネットワークにアカウントやコントラクトデータ、トランザクション履歴が蓄積されるにつれて、その要件は増大していました。チャンクバリデーターの運用コストには、計算リソースや帯域幅だけでなく、ネットワークの成長に伴って拡張が必要な継続的なストレージインフラも含まれていました。

ステートレスバリデーション下で稼働するチャンクバリデーターは、もはやステートストレージをプロビジョニングしなくなりました。ハードウェア要件は、トランザクション実行のためのコンピュート能力と、ブロック時間内でのステートウィットネスの受信およびアテステーション送信のためのネットワーク帯域幅へと移行します。これは根本的に異なるコストプロファイルであり、成長型ではなく安定型で、任意のシャード数において以前のモデルよりも低コストになります。

ステートレスバリデーションはチャンクバリデーターのハードウェア要件を変更しますが、基本的なステーキング契約のメカニクスには影響しません。バリデーターは、コンセンサスに参加するために引き続きシート閾値を超えてNEARトークンをステーキングし、バリデーターの不正行為に対してスラッシングの対象となります。その参加要件を満たすためのハードウェアコストはチャンクバリデーターにとって減少するため、経済的に実行可能な運用コストでチャンクバリデーターノードを実行できる参加者のプールは、方向性として拡大します。現在のハードウェア仕様およびステーキングシート閾値については、docs.near.org/validator.) を参照してください。

チャンクプロデューサーがステートウィットネスを生成するためには、引き続き完全なローカル・シャードステートが必要であることに注意してください。ハードウェア要件の削減は、ネットワーク内で最も多数を占める役割であるチャンクバリデーターに適用されます。チャンクプロデューサーはバリデーター総数に占める割合は小さいものの、ステートストレージの要件は維持されます。

NEARのバリデーターになるには、参加者はNEARトークンを現在のシート閾値以上にステークし、バリデーターソフトウェアを実行する必要があります。ステートレスバリデーションの要件を反映して更新された、完全なセットアップ手順と現在のハードウェア仕様については、docs.near.org/validator) を直接参照してください。


よくあるご質問

NEAR Protocolは何に使われますか?

NEAR Protocolは、DeFiプロトコル、NFTプラットフォーム、ゲーミングアプリケーション、開発者向けツールを含む分散型アプリケーションを展開するために設計されたレイヤー1のブロックチェーンです。Nightshadeシャーディングを使用して、複数の並列シャードにわたってトランザクションを処理し、ほぼゼロに近いトランザクション手数料で高いスループットを実現します。NEARトークンはトランザクションやコントラクト実行のガス代の支払いに使用され、バリデーターはコンセンサスに参加するための担保としてNEARトークンをステーキングします。

NEAR Protocolはどのように機能しますか?

NEARは、その中核として、複数のシャーディングに分割され、各シャーディングがトランザクションを並列処理するプルーフ・オブ・ステーク ブロックチェーンとして機能します。各シャーディングは、ブロック間隔ごとにチャンク(シャーディングレベルのブロック)を生成し、ブロックプロデューサーがこれらのチャンクを単一の正準ブロックに集約します。バリデーターは、各エポックでシャーディングにランダムに割り当てられ、担当するシャーディングのチャンク内のトランザクションの実行と証明を担当します。ステートレスバリデーションにより、チャンクバリデーターはローカルシャーディングの状態を維持せずにこの役割を実行できます。

Nightshadeシャーディングとは何ですか?

ナイトシェードはNEARプロトコルのシャーディングフレームワークであり、ネットワークのグローバルステートとトランザクション処理が複数の並列シャードに分割されます。各シャードを独立したブロックチェーンとして扱う設計とは異なり、ナイトシェードはすべてのシャードを1つの論理的なブロックチェーンのコンポーネントとして扱い、各ブロックにはアクティブなシャードごとに1つのチャンクが含まれます。ナイトシェードは、基本的なシャーディング(フェーズ1)、ステートレスバリデーション(フェーズ2)、動的なリシャーディング(フェーズ3)の3つのフェーズで実装されています。

ブロックチェーンにおけるステートウィットネスとは何ですか?

ステート・ウィットネス(State Witness)とは、特定のブロックやチャンクを検証するために必要なすべてのステート・データを含む暗号学的データ構造であり、検証者が実行中にローカルのステート・データベースにアクセスする必要がないよう、パッケージ化されて配信されます。NEARプロトコルにおいて、チャンクのステート・ウィットネスには、そのチャンク内のトランザクションによって参照された口座残高、コントラクト・ストレージ・エントリ、およびアクセスキーが含まれます。チャンク・プロデューサーがステート・ウィットネスを生成し、チャンクと共にチャンク検証者に送信します。検証者はウィットネス・データを使用してトランザクションを実行し、アテステーション(証明)を生成した後にそのデータを破棄します。

NEARの検証者はどのように機能しますか?

NEARバリデーターは、ステートレスバリデーションにおいて3つの異なる役割で動作します:チャンクプロデューサー、チャンクバリデーター、ブロックプロデューサーです。チャンクプロデューサーは、チャンク(シャードレベルのブロック)を構築し、ローカルシャード状態のコピーから関連する状態を読み取ることで、ステートウィットネスを生成します。チャンクバリデーターは、チャンクとステートウィットネスを受け取り、ローカル状態ストレージなしでウィットネスデータのみを使用してトランザクションを実行し、チャンクの有効性を証明し、ウィットネスを破棄します。ブロックプロデューサーは、すべてのアクティブなシャードからの証明されたチャンクを単一の正規ブロックに集約します。バリデーターは、コンセンサスに参加するためにシートしきい値以上のNEARトークンをステーキングし、エポックごとにシャードにランダムに割り当てられます。

ステートレスバリデーションはどのようにスケーラビリティを向上させますか?

ステートレスバリデーションは、シャード数をバリデーターのハードウェア要件から分離することで、スケーラビリティを向上させます。ステートフルバリデーションでは、より多くのシャードを追加すると、各新しいシャードに割り当てられたバリデーターは比例したローカルストレージを維持する必要があり、ネットワークが実質的にサポートできるシャード数にハードウェア的な上限が生じていました。ステートレスバリデーションでは、チャンクバリデーターはチャンクごとに必要なすべての状態データを状態証人(ステートウィットネス)として受け取り、使用後に破棄するため、シャードを追加してもバリデーターごとのストレージ要件は増加しません。これにより、NEARはシャード数を増やすことで水平スケーリングを可能にし、より多くのトランザクションを並列処理できます。

NEARは開発者にとって良いブロックチェーンですか?

NEARプロトコルは、開発者向けにRustまたはJavaScriptで記述可能なWASMベースのスマートコントラクト、契約ストレージコストをステーキングされたNEARトークンに紐付けるストレージステーキングモデル、SolidityコントラクトをデプロイするEthereum開発者向けのAurora EVM互換性、そして人間が読めるアカウント名を提供しています。ステートレスバリデーションは、コード変更を必要とせずに、デプロイ済みのすべてのコントラクトに自動的にメリットをもたらすプロトコルレベルのインフラストラクチャ改善です。シャード数が増加すると、ネットワークのスループット容量が増加し、コントラクトは混雑の軽減から恩恵を受けます。本番dAppデプロイのためにNEARを評価する開発者は、最新のSDK仕様とツールドキュメントについてdocs.near.orgを参照してください。

NEARのステートレスバリデーションは稼働していますか?

ステートレス・バリデーションであるNightshadeのフェーズ2が、NEARメインネットで有効化されました。プロトコルの各フェーズは段階的に展開されており、各フェーズが完全に有効化されるたびに、NEAR Foundationによってドキュメントが更新されます。正確な有効化日やフェーズごとの注意事項を含む最新のデプロイ状況については、NEAR Foundationのブログ)およびNEAR Protocolの公式ドキュメントをご参照ください。