
ストレージ証明の深層:時間横断・チェーン横断型ブロックチェーン状態認識の実現
TechFlow厳選深潮セレクト

ストレージ証明の深層:時間横断・チェーン横断型ブロックチェーン状態認識の実現
ストレージプルーフにより、イーサリアムは決済層としてだけでなく、IDおよび資産所有権のレイヤーとしても登場できます。
執筆:LongHash Ventures
翻訳:TechFlow
もし1時間ごとに記憶を失い、自分が何をしたかを常に他人に尋ねなければならないとしたらどうでしょうか? これが現在のスマートコントラクトが直面している状況です。イーサリアムのようなブロックチェーン上では、スマートコントラクトは256ブロック以上前の状態に直接アクセスできません。この問題はマルチチェーンエコシステムにおいてさらに深刻であり、異なる実行レイヤー間でのデータの取得および検証はさらに困難になります。
2020年、Vitalik Buterin氏とTomasz Stanczak氏は、時間軸を超えてデータにアクセスする方法を提案しました。このEIP案はその後停滞しましたが、ロールアップを中心としたマルチチェーン世界において、そのニーズが再び浮上しています。今日では、ストレージプロオフ(Storage Proofs)が最先端分野として注目され、スマートコントラクトに意識と記憶を与える手段となっています。
オンチェーンデータへのアクセス方法
Dappは複数の方法でデータや状態にアクセスできます。これらすべての方法には、人間/実体、暗号経済的セキュリティ、またはコードに対する一定程度の信頼が必要であり、それぞれトレードオフがあります:

人間/実体を信頼する:
アーカイブノード:運用者は自らアーカイブノードを運営するか、AlchemyやInfuraなどのサービスプロバイダーに依存して、ジェネシスブロックからのすべてのデータにアクセスできます。これらはフルノードと同じデータを提供するだけでなく、ブロックチェーン全体の全履歴状態データも含みます。EtherscanやDune Analyticsといったオフチェーンサービスは、アーカイブノードを利用してオンチェーンデータにアクセスします。オフチェーン参加者がこれらのデータの有効性を証明し、オンチェーンのスマートコントラクトが信頼できる参加者/委員会によって署名されたことを検証できます。しかし、基礎となるデータの完全性は検証できません。この方法では、Dappがアーカイブノードサービスプロバイダーが悪意なく正しくインフラを運用すると信頼する必要があります。
暗号経済的セキュリティを信頼する:
-
インデクサー:インデックスプロトコルはブロックチェーン上のすべてのデータを整理し、開発者がオープンAPIを構築・公開できるようにすることで、アプリケーションがクエリできるようにします。個々のインデクサーは、インデックス作成およびクエリ処理サービスを提供するためにトークンをステーキングするノード運用者です。ただし、提供されるデータが誤っている場合に論争が生じる可能性があり、仲裁プロセスには時間がかかります。また、The Graphなどのインデクサーから得られるデータは、スマートコントラクトのビジネスロジックで直接利用することはできず、web2ベースのデータ分析用途に限られます。
-
オラクル:オラクルサービスプロバイダーは、多数の独立したノード運用者から集約されたデータを使用します。ここで課題となるのは、オラクルから得られるデータが頻繁に更新されず、範囲も限定的である点です。Chainlinkのようなオラクルは通常、価格情報など特定の状態のみを維持しており、アプリ固有の状態や履歴データには対応していません。さらに、この方法ではデータに一定程度のバイアスが生じ、ノード運用者を信頼する必要があります。
コードを信頼する:
特殊変数および関数:イーサリアムのようなブロックチェーンには、ブロックチェーンに関する情報を提供したり、汎用的なユーティリティ関数として機能する特殊変数や関数があります。スマートコントラクトは直近256ブロックのブロックハッシュにしかアクセスできません。拡張性の理由から、すべてのブロックのブロックハッシュが利用可能なわけではありません。歴史的なブロックハッシュにアクセスできれば非常に有用で、それらに対して証明を検証できるようになります。EVM実行環境には、古いブロック内容、過去のトランザクション内容、またはレシート出力にアクセスするためのオペコードが存在しないため、ノードはそれらを安全に「忘却」しても新しいブロックを処理できます。この方法も単一のブロックチェーンに限定されます。
これらのソリューションの課題と制限を考えると、オンチェーンでブロックハッシュを保存・提供する明確なニーズがあることが明らかです。ここにストレージプロオフの出番があります。ストレージプロオフをよりよく理解するために、ブロックチェーンにおけるデータストレージについて簡単に確認しましょう。
ブロックチェーンにおけるデータストレージ
ブロックチェーンは、ネットワーク内の多くのコンピュータ間で更新および共有されるパブリックデータベースです。データと状態は連続したブロックのグループとして保存され、各ブロックは前のブロックヘッダーのハッシュを格納することで親ブロックを暗号的に参照します。
イーサリアムのブロックを例に取りましょう。イーサリアムは「Merkle Patricia Tree」(MPT)と呼ばれる特殊なMerkle木を使用しています。イーサリアムのブロックヘッダーには、状態ツリー、ストレージツリー、レシートツリー、トランザクションツリーという4種類の異なるMerkle-Patricia木のルートが含まれています。この4つの木は、すべてのイーサリアムデータをマッピングする情報を符号化しています。Merkle木はデータストレージにおける効率性のために使用されています。再帰的なハッシュにより、最終的にはルートハッシュだけを保存すればよく、大量のスペースを節約できます。誰でも、再帰的にハッシュされたノードが同じルートハッシュになることを証明することで、木の中の要素の存在を証明できます。Merkle証明により、イーサリアム上のライトクライアントは次の質問に答えることができます:
-
あるトランザクションは特定のブロックに存在しますか?
-
私のアカウントの現在の残高はいくらですか?
-
このアカウントは存在しますか?
すべてのトランザクションやすべてのブロックをダウンロードする代わりに、「ライトクライアント」はブロックヘッダーチェーンだけをダウンロードし、Merkle証明を使って情報を検証できます。これにより、プロセス全体が非常に効率的になります。
Merkle木に関連する実装、利点、課題について詳しく知りたい場合は、Vitalik氏とMaven11のこのブログ記事をご覧ください。
ストレージプロオフ
ストレージプロオフは、暗号証明を使って、ある事象がデータベースに記録されており有効であることを証明できるようにします。このような証明を提供できれば、ブロックチェーン上で何かが発生したことを検証可能な主張とすることができます。
ストレージプロオフは何を可能にするのか?
ストレージプロオフは以下の2つの主要機能を実現します:
-
創世ブロックまでさかのぼって、直近256ブロックを超える履歴的なオンチェーンデータにアクセスできる
-
あるブロックチェーン上で別のブロックチェーンのオンチェーンデータ(履歴および現在)にアクセスできる。共通合意による検証またはL2ブリッジ(L2向け)を介して実現
ストレージプロオフの仕組みとは?
簡単に言えば、特定のブロックがブロックチェーンの正規の履歴の一部であるかどうかをチェックし、要求された特定のデータがそのブロックの一部であることを検証します。これは以下のように実現できます:
-
オンチェーン処理:Dappは信頼できる初期ブロックを取得し、Calldataとしてブロックを渡して前のブロックにアクセスし、創世ブロックまで遡ることができます。これは膨大なオンチェーン計算と大量のCalldataを必要とします。多大なオンチェーン計算が必要となるため、この方法は全く非現実的です。Aragonは2018年にオンチェーン方式を試みましたが、高額なオンチェーンコストにより実行不可能でした。
-
ゼロ知識証明の使用:オンチェーン処理と似ていますが、複雑な計算をオフチェーンに移すためにゼロ知識証明を使用します。
同一チェーン内でのデータアクセス:ゼロ知識証明を使用して、任意の履歴ブロックヘッダーが、実行環境でアクセス可能な直近256ブロックヘッダーの祖先の一つであることを主張できます。別のアプローチとして、ソースチェーンの全履歴をインデックス化し、インデックスが正しく行われたことを証明するゼロ知識証明を生成する方法があります。この証明は、ソースチェーンに新たなブロックが追加されるたびに定期的に更新されます。
-
クロスチェーンデータアクセス:プロバイダーはターゲットチェーン上でソースチェーンのブロックヘッダーを収集し、ゼロ知識コンセンサス証明を使用してこれらのブロックヘッダーの有効性を証明します。Axelar、Celer、LayerZeroなどの既存のクロスチェーンメッセージングソリューションを使用してブロックヘッダーをクエリすることも可能です。
-
ターゲットチェーン上でソースチェーンのブロックヘッダーハッシュキャッシュを維持するか、オフチェーンのブロックハッシュ累算器のルートハッシュを保持します。このキャッシュは定期的に更新され、指定されたブロックが存在し、状態からアクセス可能な最新ブロックハッシュと暗号的にリンクしていることをオンチェーンで効率的に証明するために使用されます。このプロセスは「チェーンの連続性の証明」と呼ばれます。専用のブロックチェーンを使用してすべてのソースチェーンのブロックヘッダーを保存することも可能です。
-
ターゲットチェーン上のDappの要求に応じて、オフチェーンでインデックス化されたデータまたはオンチェーンキャッシュ(要求の複雑さに応じて)から履歴データ/ブロックにアクセスします。キャッシュされたブロックヘッダーハッシュはオンチェーンで維持されますが、実際のデータはオフチェーンに保存されている場合があります。
-
Merkle包含証明を使用して、指定されたブロックにデータが存在するかを確認し、これについてゼロ知識証明を生成します。この証明は、正しくインデックスされたことのゼロ知識証明またはゼロ知識コンセンサス証明と結合され、検証可能な形でオンチェーンに提供されます。
-
その後、Dappはオンチェーンでこの証明を検証し、データを使用して必要な操作を実行できます。ゼロ知識証明の検証に加え、ブロック番号やブロックハッシュなどの公開パラメータも、オンチェーンで維持されるブロックヘッダーキャッシュと照合されます。
このアプローチを採用しているプロジェクトには、Herodotus、Lagrange、Axiom、HyperOracle、Brevis Network、nil Foundationなどがあります。アプリケーションが複数のブロックチェーンにわたって状態認識を持つようになるための大きな努力が続けられていますが、IBC(Inter-Blockchain Communication)は相互運用性標準として特に際立っています。IBCはICQ(Interchain Queries)やICA(Interchain Accounts)などの機能をサポートしており、Chain A上のアプリケーションがシンプルなIBCパケットにクエリを含めることでChain Bの状態を照会でき、またあるブロックチェーンが別のブロックチェーン上のアカウントを安全に制御できるようにします。これらを組み合わせることで、興味深いクロスチェーンユースケースを実現できます。SagaのようなRaaSプロバイダーは、すべてのアプリチェーンに対してデフォルトでIBCを提供しています。
ストレージプロオフは、メモリ消費量、証明生成時間、検証時間、計算効率、開発者体験の間で最適なバランスを見つけるために、さまざまな方法で最適化できます。このプロセス全体はおおむね以下の3つの主要なサブプロセスに分けられます:
-
データアクセス;
-
データ処理;
-
データアクセスおよび処理のゼロ知識証明生成。

データアクセス:このサブプロセスでは、サービスプロバイダーが実行レイヤー上でネイティブにソースチェーンのブロックヘッダーにアクセスするか、オンチェーンキャッシュを維持します。クロスチェーンデータアクセスの場合、ターゲットチェーン上でソースチェーンの合意形成を検証する必要があります。採用される手法と最適化には以下が含まれます:
-
既存のイーサリアムブロックチェーン:イーサリアムブロックチェーンの既存の構造を利用し、ゼロ知識証明を使用して、現在のブロックヘッダーに対する任意の履歴ストレージスロットの値を証明できます。これは大きな包含証明と見なせます。つまり、高さbにある最近のブロックヘッダーXに対して、高さb-kにあるブロックヘッダーYがXの祖先であることを示します。これはイーサリアム合意の安全性に基づいており、効率的な証明システムが必要です。これがLagrangeが採用している方法です。
-
オンチェーンMerkle Mountain Ranges(MMR)キャッシュ:Merkle Mountain Rangeは、Merkle木のリストと見なすことができ、2つの木が同じサイズになると結合されます。MMR内の個々のMerkle木は、親ノードを前のルートに追加することで結合されます。MMRはMerkle木と似ていますが、要素を効率的に追加でき、特に大規模なデータセットから順次データを読み取る際に効率的なクエリが可能な追加の利点があります。Merkle木に新しいヘッダーを追加するには、各レベルですべての姉妹ノードを渡す必要があります。データの追加を効率化するために、AxiomはMMRを使用してオンチェーンでブロックヘッダーハッシュのキャッシュを維持しています。Herodotusは、MMRブロックハッシュ累算器のルートハッシュをオンチェーンに保存しています。これにより、取得したデータがこれらのブロックヘッダーハッシュに包含されているかを包含証明で確認できます。この方法ではキャッシュを定期的に更新する必要があり、非中央集権化されない場合、活性問題が生じます。
-
効率性と計算コストの最適化のため、Herodotusは2種類の異なるMMRを維持しています。特定のブロックチェーンまたはレイヤーに応じて、累算器は異なるハッシュ関数でカスタマイズできます。Starknetに対して証明を行う場合poseidonハッシュを使用する一方、EVMチェーンではKeccakハッシュを使用するかもしれません。
-
オフチェーンMMRキャッシュ:Herodotusは、以前に取得したクエリと結果をオフチェーンでキャッシュし、再度データが要求されたときに迅速に取得できるようにしています。これはアーカイブノードを稼働させるよりも多くのインフラを必要とします。オフチェーンインフラにおける最適化は、エンドユーザーのコスト削減につながる可能性があります。
-
専用ブロックチェーンによる保存:Brevisは、すべての証明対象チェーンのすべてのブロックヘッダーを保存するための専用ゼロ知識ロールアップ(集約層)に依存しています。この集約層がない場合、各チェーンは他のすべてのチェーンのブロックヘッダーを保存する必要があり、N本のブロックチェーンに対してO(N²)の「接続」が発生します。集約層を導入することで、各ブロックチェーンはロールアップのステートルートだけを保存すればよくなり、全体の接続数をO(N)に削減できます。この層は複数のブロックヘッダー/クエリ結果証明を集約し、各接続されたブロックチェーンに単一の検証証明を提出するためにも使用されます。
-
L1-L2メッセージング:L2はL1を通じてL2コントラクトを更新するネイティブメッセージングをサポートしているため、ソースチェーンの合意検証を回避できます。キャッシュはイーサリアム上で更新でき、L1-L2メッセージングを使用して、オフチェーンでコンパイルされたブロックハッシュまたはツリールートを他のL2に送信できます。Herodotusはこの方法を採用していますが、alt L1には適用できません。
データ処理:
データへのアクセスに加えて、スマートコントラクトはデータに対して任意の計算を行うべきです。一部のユースケースでは計算が不要かもしれませんが、多くの他のユースケースでは重要な付加価値サービスとなります。多くのサービスプロバイダーは、データに対する計算をゼロ知識証明の形式でサポートし、その有効性をオンチェーンで検証できるようにしています。Axelar、LayerZero、Polyhedra Networkなどの既存のクロスチェーンメッセージングソリューションがデータアクセスに使用される可能性があるため、データ処理はストレージプロオフサービスプロバイダーの差別化要因となり得ます。
たとえば、HyperOracleはJavaScriptを使ってカスタムのオフチェーン計算を定義できるように開発者に提供しています。Brevisは、Dappからのデータクエリを受け入れ、証明済みのブロックヘッダーを使って処理するオープンなゼロ知識クエリエンジン市場を設計しています。スマートコントラクトがデータクエリを送信し、市場のプローバーがそれを取得します。プローバーはクエリ入力、関連するブロックヘッダー(Brevis集約層から)、および結果に基づいて証明を生成します。LagrangeはSQL、MapReduce、Spark/RDDなどの分散プログラミングモデルを証明するためのゼロ知識ビッグデータ技術スタックを導入しています。これらの証明はモジュール化されており、既存のクロスチェーンブリッジやクロスチェーンメッセージングプロトコルからの任意のブロックヘッダーから生成できます。Lagrangeのゼロ知識ビッグデータ技術スタックの最初の製品はゼロ知識MapReduceであり、著名なMapReduceプログラミングモデルに基づく、大量のマルチチェーンデータ計算結果を証明する分散計算エンジンです。たとえば、単一のゼロ知識MapReduce証明で、4~5つのチェーンに展開されたDEXの指定時間枠内の流動性変化を証明できます。比較的簡単なクエリについては、Herodotusが現在行っているように、計算を直接オンチェーンで行うことも可能です。
証明生成:
-
更新可能な証明:移動するブロックストリームに対して計算を行い、証明を効果的に維持する必要がある場合、更新可能な証明を使用できます。新しいブロックが作成されるたびに、コントラクト変数(トークン価格など)の移動平均証明を維持するために、既存の証明を効率的に更新でき、新規証明を初めから再計算する必要がありません。オンチェーン状態の動的データ並列計算を証明するために、LagrangeはMPTの一部上にRecproofと呼ばれるバッチベクターコミットメントを構築し、リアルタイムで更新しながら動的計算を行います。MPT上に再帰的にVerkle木を作成することで、Lagrangeは大量の動的オンチェーン状態データを効率的に計算できます。
-
Verkle木:Merkle木とは異なり、Merkle木では共有親ノードのすべてのノードを提供する必要があるのに対し、Verkle木ではルートパスだけで十分です。Merkle木のすべての姉妹ノードと比べて、このパスははるかに小さくなります。イーサリアムも将来のバージョンでVerkle木を使用して、フルノードが保持する必要のある状態量を最小化することを検討しています。BrevisはVerkle木を活用して集約層に証明済みブロックヘッダーとクエリ結果を保存しています。これは特に木に多くの要素が含まれる場合に、データ包含証明のサイズを大幅に縮小し、一括データの効率的な包含証明をサポートします。
-
メモリプール監視による証明生成の高速化:Herodotusは最近、turboをリリースし、開発者がスマートコントラクトコードに数行のコードを追加してデータクエリを指定できるようにしました。Herodotusは、turboコントラクトとインタラクトするスマートコントラクトトランザクションのメモリプールを監視します。トランザクションがメモリプールにある時点で、証明生成プロセスが始まります。証明がオンチェーンで生成・検証されると、その結果がオンチェーンのturboスワップコントラクトに書き込まれます。ストレージプロオフによる認証後でのみ、結果をturboスワップコントラクトに書き込むことができます。これが発生すると、トランザクション料金の一部がソーターまたはブロック生成者と共有され、より長い待ち時間を通じて料金を得るインセンティブが生まれます。簡単なデータクエリの場合、ユーザーのトランザクションがブロックに含まれる前に、要求されたデータがすでにオンチェーンで利用可能になることがあります。
状態/ストレージプロオフの応用
状態およびストレージプロオフは、アプリケーション層、ミドルウェア、インフラ層のスマートコントラクトに対して多くの新しいユースケースを解き放ちます。その一部は以下の通りです:
アプリケーション層:
ガバナンス:
-
クロスチェーン投票:オンチェーン投票プロトコルは、Chain B上のユーザーがChain A上で資産を保有していることを証明できるようにします。ユーザーは資産をブリッジする必要なく、新しいチェーン上で投票権を得られます。例:Herodotus上のSnapshotX
-
ガバナンストークン配布:アプリケーションはアクティブユーザーまたは早期採用者に追加のガバナンストークンを配布できます。例:Lagrange上のRetroPGF。
アイデンティティおよび評判:
-
所有権証明:ユーザーはチェーンA上で特定のNFT、SBT、または資産を保有していることを証明し、チェーンB上で特定の操作を実行できます。例えば、ゲームアプリチェーンは、イーサリアムや任意のL2など、他の既存の流動性を持つチェーン上でNFTコレクションをローンチすることを決定できます。これにより、ゲームは他所に存在する流動性を活用でき、実際にクロスチェーンNFTを移動する必要がありません。
-
利用証明:ユーザーはプラットフォームでの利用履歴に基づいて(UniswapでX量の取引を行ったことを証明)、割引や上級機能を獲得できます。
-
OG証明:ユーザーは、X日以上存在するアクティブアカウントを保有していることを証明できます。
-
オンチェーンクレジットスコア:クロスチェーンクレジットスコアプラットフォームは、個々のユーザーの複数アカウントデータを統合してクレジットスコアを生成できます。
上記のすべての証明は、ユーザーにカスタマイズされた体験を提供するために使用できます。Dappは、経験豊富なトレーダーやユーザーを囲い込むために割引や特権を提供したり、初心者ユーザーには簡素化されたユーザーエクスペリエンスを提供できます。
DeFi:
-
クロスチェーン融資:ユーザーはチェーンAで資産を担保に入れ、チェーンBでローンを受けることができます。トークンをブリッジする必要はありません。
-
オンチェーン保険:履歴的なオンチェーンデータにアクセスすることで障害を判定でき、保険金支払いを完全にオンチェーンで完結できます。
-
プール内資産の期間加重平均価格:アプリケーションは、指定された期間内にAMMプール内で資産の平均価格を計算・取得できます。例:Axiom上のUniswap TWAPオラクル。
-
オプション価格付け:オンチェーンオプションプロトコルは、分散取引所での過去nブロックにおける資産のボラティリティを使用してオプションを価格設定できます。
最後の2つのユースケースでは、ソースチェーンに新たなブロックが追加されるたびに証明を更新する必要があります。
ミドルウェア:
-
インテンション:ストレージプロオフにより、ユーザーはインテンションをより表現力豊かかつ明確にできます。ソルバーの仕事はユーザーのインテンションを満たすために必要な手順を実行することですが、ユーザーはオンチェーンデータとパラメータに基づいて条件をより明確に指定できます。ソルバーは、最適なソリューションを見つけるために利用したオンチェーンデータの有効性を証明することもできます。
-
アカウント抽象化:ユーザーは他のチェーンのデータに基づいてルールを設定するためにストレージプロオフを利用できます。例:各ウォレットにはnonceがあります。1年前のnonceが特定の数字であったこと、そして現在のnonceが同じであることを証明できます。これにより、このウォレットがまったく使用されていないことを証明でき、ウォレットのアクセス権を別のウォレットに委任できます。
-
オンチェーンオートメーション:スマートコントラクトは、オンチェーンデータに依存する事前定義された条件に基づいて特定の操作を自動実行できます。オートメーションプログラムは、AMMの最適価格フローを維持したり、不良債務を回避してレンディングプロトコルの健全性を保つために、定期的にスマートコントラクトを呼び出す必要があります。HyperOracleはオートメーションおよびオンチェーンデータアクセスをサポートしています。
インフラ
-
信頼不要なオンチェーンオラクル:分散型オラクルネットワークは、ネットワーク内の複数の個別オラクルノードからの応答を集約します。オラクルネットワークはこの冗長性を排除し、暗号的安全性を利用してオンチェーンデータを実現できます。オラクルネットワークは、複数のチェーン(L1、L2、alt L1)からのデータを単一のチェーンに集約し、他の場所での存在を単純にストレージプロオフで証明できます。大きな進展を遂げたDeFiソリューションもカスタムソリューションを使用できます。例えば、最大の流動性ステーキングプロバイダーであるLido FinanceはNil Foundationと協力し、zkOracleの開発を支援しています。これらのソリューションにより、EVM履歴データへの信頼不要なデータアクセスが可能になり、Lido Financeの150億ドル相当のステークドイーサリアム流動性を保護できます。
-
クロスチェーンメッセージングプロトコル:既存のクロスチェーンメッセージングソリューションは、ストレージプロオフサービスプロバイダーと協力することで、メッセージの表現力を高められます。これはLagrangeがモジュラー論文で提唱している方法です。
結論
意識はテック企業が顧客により良くサービスを提供できるようにします。ユーザーのアイデンティティから購買行動、ソーシャル関係に至るまで、テック企業は認知を利用してターゲティング、顧客セグメンテーション、バイラルマーケティングなどの機能を解放しています。従来のテック企業はユーザーの明示的な許可を必要とし、ユーザーのデータ管理には慎重である必要があります。しかし、許可されたブロックチェーン上のすべてのユーザーのデータは公開されており、必ずしもユーザーの身元を漏らすわけではありません。スマートコントラクトは、ユーザーにより良いサービスを提供するために公開されているデータを活用すべきです。より専門化されたエコシステムの発展と採用により、時間軸およびチェーンを超えた状態認識はますます重要になります。ストレージプロオフにより、イーサリアムは決済レイヤーにとどまらず、アイデンティティおよび資産所有レイヤーとしても登場できます。ユーザーはイーサリアム上で自分のアイデンティティと主要な資産を維持でき、常に資産をブリッジすることなく、複数のブロックチェーンで利用できます。我々は未来に解き放たれる新たな可能性とユースケースに期待しています。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














