リスク警告:「仮想通貨」「ブロックチェーン」の名のもとでの違法な資金調達のリスクに注意してください。—銀行保険監督管理委員会など5部門
検索
ログイン
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
View Market
不可能な三角形を解決する、シャーディング テクノロジーのもう 1 つの可能性
Jsquare Research
特邀专栏作者
2022-10-20 08:15
この記事は約13566文字で、全文を読むには約20分かかります
Web3 が広く採用されて初めて、これらの高品質、高性能の分散型パブリック チェーンが市場競争で目立つようになります。

原作者:ビーム

免責事項: この記事は業界研究の議論としてのみ使用され、投資アドバイスを表すものではありません。

2022年9月15日、イーサリアムは合併(マージ)しました。これは歴史的な瞬間です。イーサリアムは 5 年間の準備と 6 回の延期を繰り返しました。度重なるデバッグと長期開発、そして非常に期待されていたハロー効果により、多くの人々が合併によって自然に高いスケーラビリティがもたらされると誤解しています。セキュリティと持続可能性は実際にはそうではありません。私たちは依然として 2 つの列車の比喩を使用します。PoW (作業証明) から PoS (資本証明) への移行は、線路と車輪を置き換えるだけであり、高速化、大規模化を直接もたらすものではありません。上記 3 つのポイントを実際に達成できるのは、シャーディング機能を備えたメイン ネットワークと拡張性が強化されたソリューションを備えたレイヤー 2 という、完全なソリューション セットです。

画像の説明

図 1 シャーディングの単純なロジック

最初のレベルのタイトル

1.「シャーディング」について

簡単に言うと、イーサリアムを座標系の原点(0,0)として、不可能な三角形の制約を考慮し、「垂直」と「水平」の2つの考え方に従って、現在のブロックチェーンのスケーラビリティ手法を分割します。 2 つのカテゴリに分けられます:

垂直スケーリング: システムの既存のハードウェアのパフォーマンスを向上させることで実現されます。ネットワーク内のすべてのノードがスーパーコンピューティング能力を備えた分散型ネットワークを構築します。つまり、すべてのノードが「より優れた」ハードウェアを必要とします。これは、特にスループットの初期改善を達成するためのシンプルで効果的な方法です。高頻度の取引、ゲーム、遅延の影響を受けやすいその他のアプリケーション シナリオ。ただし、この拡張方法では、検証ノードまたはフル ノードの実行コストが高くなるため、ネットワークの分散化レベルが制限されます。分散化のレベルを維持するには、コンピューティング ハードウェアのパフォーマンスのおおよその成長率によって制限されます (これはいわゆる「ムーアの法則」です。チップ上のトランジスタの数は 2 年ごとに 2 倍になり、コンピューティングのコストは半分になります)。 。

水平方向のスケーリング: 一般に、水平方向の拡張にはいくつかのアイデアがあります。 1つは、特定のエコロジーにおけるトランザクション計算量をブロックチェーンのコンテキストで複数の独立したブロックチェーンに分散することであり、各チェーンは独自のブロックプロデューサーと実行機能を持ち、各チェーンの実行層はノードのハードウェア要件などを完全にカスタマイズできます。 、プライバシー機能、ガス料金、仮想マシン、権限設定。もう 1 つの水平拡張ソリューションは、ブロックチェーン インフラストラクチャを実行層、データ可用性層 (DA)、およびコンセンサス層に分割するモジュラー ブロックチェーンです。最も主流のブロックチェーンのモジュール化メカニズムはロールアップです。もう1つは、ブロックチェーンを多数の部分に分割し、それらを並列実行することです。各シャードはブロックチェーンとみなすことができます。これは、多くのブロックチェーンを並行して実行できることを意味します。さらに、通常は、すべてのシャードの同期を維持することを唯一の役割とするメイン チェーンが存在します。

上記の拡張アイデアはいずれも単独で存在するものではなく、それぞれの解決策は、不可能な三角形のトレードオフ点を見つけ、システム内の経済力によって生み出されるインセンティブメカニズムの設計に協力し、効果的なマクロレベルとミクロレベルのバランス。

「シャーディング」について議論するには、ゼロから始める必要があります。

このようなシナリオを想定しながらも、ウォルマートのショッピングチェックアウトでは、チェックアウトの効率を向上させ、顧客の待ち時間を短縮するために、単一のチェックアウトチャネルから10のチェックアウトウィンドウに拡張しましたが、アカウントエラーを回避するために、現時点で統一的なルールを策定する必要があります:

まず、レジ係が 10 人いる場合、どの窓口で働くかをどのように割り当てればよいでしょうか?

次に、1,000 人の顧客が列に並んでいる場合、各顧客がチェックアウトする窓口をどのように決定すればよいでしょうか?

第三に、これら 10 の窓口に対応する 10 の個別の台帳をどのように要約するか?

4 番目に、アカウントの不一致を避けるためにレジ係の間違いを防ぐにはどうすればよいでしょうか?

これらの質問は、実際にはシャーディングにおけるいくつかの重要な質問に対応しています。

ネットワーク全体のノード/バリデーターがどのシャードに属しているかを判断するにはどうすればよいですか?つまり、ネットワーク シャーディング (NetworkSharding) を実行する方法です。

各トランザクションがどのシャードに割り当てられるかを決定するにはどうすればよいですか?つまり、トランザクション シャーディングを実行する方法 (トランザクション シャーディング)。

ブロックチェーン データはどのように異なるシャードに保存されますか?つまり、状態シャーディング (状態シャーディング) を実行する方法です。

副題

01 ネットワークシャーディング

ブロックチェーンを分散型台帳として単純に理解すると、それが PoS であろうと PoW コンセンサスメカニズムであろうと、各ノードが特定の確立されたルールに従って簿記の権利を競い合い、台帳の正確性を保証することになります。プロセス。ネットワークのシャーディングとは、ブロックチェーン ネットワークをシャーディングするために別の確立されたルールが必要であることを意味し、相互通信を最小限に抑えるという前提の下で、各シャードはチェーン上のトランザクションを処理し、簿記の権利、つまりノードのグループ化ルールをめぐって競合します。

このプロセスで遭遇する問題は、ブロックチェーンの内部ノードがさまざまな部分に分割されるため、攻撃者の難易度とコストが大幅に低下することです。このグループ化プロセスのルールと結果が固定されており予測可能であると仮定すると、ブロックチェーン ネットワーク全体を制御したい攻撃者は、シャードの 1 つをターゲットを絞った方法で制御し、シャード内のノードをいくつか購入するだけで十分であると推論できます。 。

画像の説明

図 2 シャードを攻撃する難易度が大幅に軽減される

画像の説明

図 3 イーサリアム 2.0 で想定されているバリデーターのローテーション

簡単に言うと、ノードがランダムにグループ化され、独立した検証のためにノードの各グループに作業が割り当てられます。

副題

02 トランザクションのシャーディング

トランザクションシャーディングとは、「どのトランザクションをどのシャードに割り当てるか」に関するルールを策定することを指し、これにより並列処理の目的を達成できるだけでなく、二重支払いの問題の発生を回避することができます。ブロックチェーンの台帳モデルの違いは、トランザクション シャーディングの開発に影響します。

現在、ブロックチェーンネットワークにおける簿記方式にはUTXO(Unspent Transaction Outputs、未使用取引出力)モデルと口座・残高モデルの2種類があり、前者の代表はBTC、後者はETHのようなものです。 。

画像の説明

図 4 UTXO で考えられるトランザクション シャーディングのアイデア

エントリが一貫した方法で正しいシャードに配置されるようにするには、ハッシュ関数に入力される値がすべて同じ列から取得される必要があります。この列はシャード キーと呼ばれます。その後、値 1 のすべてのトランザクションはシャード 1 に分割され、値 2 のトランザクションはシャード 2 に分割されます。この方法の欠点は、二重支払い攻撃を避けるためにシャード間で通信する必要があることです。クロスシャードトランザクションを制限すると、プラットフォームの使いやすさが制限されますが、クロスシャードトランザクションを許可するには、クロスシャード通信のコストとパフォーマンス向上のメリットを比較検討する必要があります。

副題

03 ステートシャーディング (ステートシャーディング)

状態シャーディングとは、ブロックチェーン データがどのように分散され、さまざまなシャードに保存されるかを指します。

ウォルマートのキューイングの例を引き続き使用すると、各ウィンドウにはアカウントがありますが、アカウントはどのように記録されるのでしょうか?次の場合: 顧客がどのキューに来ても、アカウントは記録されます。たとえば、顧客 A が窓口 A に行った場合、顧客は翌日窓口 B などの別のチェックアウト窓口に行き、窓口 B には顧客のレジがありません。過去のアカウント情報(ストアドバリューカードなどの支払い方法に関わるものなど)を知りたいのですが、どうすればよいですか? A窓口にお客様の口座情報を電話しますか?

ステート シャーディングはシャーディングの最大の問題であり、前述のネットワーク シャーディングやトランザクション シャーディングよりも困難です。シャーディングの仕組みでは、トランザクションはアドレスの割り当てに応じて異なるシャードで処理されるため、つまりアドレスが存在するシャードにのみ状態が保存されるため、このとき直面する問題の 1 つは次のとおりです。トランザクションはシャード内に存在するだけでなく、多くの場合、クロスシャーディング (クロスシャーディング) を伴います。

転送状況を考えてみます。アカウント A がアカウント B に 10U を転送し、A のアドレスがシャード 1 に割り当てられ、トランザクション レコードもシャード 1 に保存されます。 B のアドレスはシャード 2 に割り当てられ、トランザクション レコードはシャード 2 に保存されます。

A が B に送金したい場合、シャード間トランザクションが形成され、シャード 2 は過去のトランザクション記録をシャード 1 に呼び出してトランザクションの正当性を確認します。A が頻繁に B にコインを送金する場合、シャード 2 はそれを実行します。シャード 1 と常にやり取りする必要があり、トランザクションの処理効率が低下します。ただし、特定のシャードの履歴全体をダウンロードして検証しない限り、参加者は、シャード間の相互作用の状態が有効なブロックのシーケンスの結果であること、およびそのようなブロックのシーケンスが確かに標準チェーンであることを必ずしも確信できません。破片。

したがって、シャーディングのない単一チェーンと比較して、シャーディング システムの新たな課題は、データが多すぎるため、ユーザーが特定のチェーンの有効性と可用性を直接かつ完全に検証できないことです。どのチェーンが正規チェーンであるかをユーザーが判断できるように、どのチェーンが完全に利用可能で有効であるかをユーザーが確認できる最大限のトラストレスで実用的な間接的な方法が必要です。実際には、ブロックチェーン開発者は、委員会、SNARK/STARK、漁師メカニズム、不正行為の証明やデータの可用性などの技術を使用して、検証の問題の一部を解決できます。

この問題を解決するには2つの方法があり、1つは同期クロスシャーディング(Synchronous)、つまり密結合(Tight Coupling)であり、クロスシャードトランザクションを実行する必要があるたびに、状態遷移を含む関連ブロックが同時に発生します。 、および各シャードのオンチップ ノードが連携してトランザクションを実行します。見て自然で、使用するのに最適なモデルの最も有名なデザインはマージ ブロックと呼ばれますが、実際にこれを実現するのは複雑です。上記を達成するには、シャード間のバリデーターが相互に同期的に通信する必要があります。クロスシャード トランザクションの需要が十分に高い場合、クロスシャード トランザクションを処理するためにより多くのシャード ワーカーが連携する必要があるため、パフォーマンスが低下する可能性があります。

もう 1 つの方法は、非同期クロスシャーディング (Asynchronous)、つまり疎結合 (Loosely Coupling) です。この考え方は、NEAR、イーサリアム、コスモス、嘉手納など、より広く採用されています。このプロセスで最も難しいのは、トランザクションのアトミック性です。 Scalar Capital の共同創設者である Jordan Clifford 氏によると、領収書 (Receipt) の概念を想像すると、受信者はソース シャードにトランザクションのマークル パスを提供することで、外部シャードからトークンを受け取ることを証明します。宛先シャードはレシートを消費し、受信者のアカウントに入金します。これはアトミックに実行する必要があります。送信者と受信者のアカウントは一緒に変更されるか、または変更されません。ギャップがある場合、または一方の端に障害が発生した場合、送信者は受信者を騙して、決して受け取らない資金を受け取ったと信じ込ませることができます。

最初のレベルのタイトル

2. シャーディングの探索と試み

シャーディングに関する前述の重要な問題のいくつかを確認してみましょう。

1 つは、状態シャーディングを実行する方法、つまり、ブロックチェーン データを異なるシャードに割り当てて保存する方法と、シャード間通信が必要な場合の利点のバランスを確保する方法です。

2つ目はトランザクションの原子性をどうするかということで、一方のシャードが他方のシャードに共通のアクセス状態の変更を適時に知らせないと、状態の乱れが起きやすくなります。

副題

01 計算シャーディング

Zilliqa は、シャーディングを試みた最も初期のスマート コントラクト プラットフォームの 1 つであり、シャーディング テクノロジの非常に有益かつ効果的な試みです。

2017 年に設立されたこのサービスは、シンガポール国立大学に関連する熱心な研究者と学者のチームによって推進されており、その主な目標はスケーラビリティの問題を解決することであり、計算負荷の高いタスク専用に構築されています。 Zilliqa ネットワークは、計算シャーディングと呼ばれる並列化プロセスを通じて、ネットワーク全体で高スループットのトランザクションを処理できます。シャード化されたブロックチェーン ネットワークでは、トランザクションを計算するタスクがネットワークのシャード全体に分散されます。

Zilliqa はシャーディング プロセスから 2 つの部分に分割します。まず、ディレクトリ サービス (DS) 委員会ノードが選択され、次にシャーディング プロセスが開始され、ノードが各シャードに割り当てられます。シャード内でトランザクションが検証されると、ネットワーク全体でグローバルな状態に検証され、すべてのシャードからのトランザクションが Zilliqa ブロックチェーン上の単一の検証可能な信頼できる情報源に結合されます。

簡単に言えば、ブロックチェーン内のノードには 3 つの主な機能があります。

- トランザクションの処理

- トランザクションをパッケージ化して他のノードにブロードキャストする

- ネットワーク全体の履歴台帳を保存します

副題

02 静的状態シャーディング

シャーディングへのより一般的なアプローチは、アカウントのアドレス空間をシャードと呼ばれる複数の固定サイズの領域に分割し、ネットワーク内のノードを異なるシャードに割り当てることです。これは状態シャーディングと呼ばれます。 Near、Elrond、Harmony などのプラットフォームがこのアプローチを採用しています。イーサリアムは当初、状態シャーディングの実装を計画していましたが、新しいアプローチではアクセシビリティを向上させるためにデータをシャーディングするだけです。

2.1 イーサリアムのデータ断片化の考え方

イーサリアムのコンテキストでは、シャーディングは、ネットワーク全体で集約するために必要な大量のデータの処理の負担を軽減することにより、レイヤー 2 と連携して機能します。これにより、ネットワークの混雑が軽減され、1 秒あたりのトランザクション数が増加します。

イーサリアムのシャーディング計画は、より効率的なスケーリング パスが開発されるにつれて常に進化していることに注意してください。イーサリアムの将来のシャーディング計画の 1 つは、「データ可用性」シャーディングに基づいています。「ダンクシャーディング」は、シャーディング「チェーン」の概念を使用しない新しいシャーディング手法です。「データ可用性サンプリング」を使用しながらデータを分割する Blob により、すべてのデータが利用可能であることを確認します。

もう 1 つのソリューション バージョンでは、ソリューション 1 に基づいて各シャードに機能を追加し、各シャードを今日のイーサリアム メインネットに近づけ、シャードがコードを保存および実行し、トランザクションを処理できるようにします。アカウント残高、およびシャード間通信により、シャード間のトランザクションが可能になります。ただし、スキーム 1 のデータ可用性とレイヤー 2 の調整によりイーサリアムに十分なスケーラビリティがすでに提供されているため、このスキームはまだコミュニティで議論中です。そのため、コミュニティはまだバージョン 2 の経済的コストと利点の価値を評価しています。

2.2 Harmony

Harmony は、シャーディングに対してより標準的なアプローチをとる PoS ベースのシャーディング ネットワークです。そのアイデアは、シャードと呼ばれる複数の小さなブロックチェーンを持ち、それぞれが状態の一部を担当し、それらを調整するブロックチェーンと呼ばれます。ハーモニーを奏でるビーコンチェーン。前の説明に従って、Harmony がネットワーク シャーディング、トランザクション シャーディング、状態シャーディングの問題を下から上にどのように解決するかを見てみましょう。

ネットワークシャーディング: Harmony はバリデーターネットワークをシャードに分割し、各シャードには互いに密接に接続された異なるバリデーターのセットが含まれ、それらの間でコンセンサスが実行されます。

トランザクションのシャーディング: Harmony のトランザクションは、単一のシャードによって処理および処理されます。これにより、シャードがトランザクションを同時に処理できるようになり、ブロックチェーン全体のトランザクション容量が増加します。トランザクションの場合、ユーザーは、トランザクションが属するシャードを示す、署名されたトランザクションの shard_id フィールドを指定するだけで済みます。

状態シャーディング: Harmony では、各シャードのバリデーターは独自のブロックチェーンと状態データベース (N= シャードの数) を維持するため、グローバル状態の 1/N を保存する必要があります。これにより、データの可用性に関するバリデーターの懸念が軽減されます。さらに、クロスシャーディングにより、シャード間の状態の一貫性がさらに向上します。

Harmony メインネットは、複数のシャードにわたる数千のノードをサポートし、瞬時にファイナリティを備えたブロックを数秒で生成します。誓約メカニズムの調整により集中化が軽減され、同時に誓約の委任、報酬の複合化、および二重署名の削減がサポートされます。 EPoS (Effective Proof-of-Stake) の効果的な抵当メカニズムと安全なランダム シャーディング テクノロジ (Random Sharding) を使用し、契約の条項に基づいて、大世帯によって抵当に入れられたトークンを多くの小さな部分に分割し、ランダムに配布します。このようにして、誰も自分の抵当トークンを単一のシャードに集中させることができず、単一のシャードを攻撃することができなくなります。

また、クロスシャードに関しては、クロスシャード トランザクションとビーコン チェーン同期の場合、異なるシャードのバリデーターが、グローバルに接続されたネットワークを通じてシャード間でメッセージを送信します。 Harmonyの公式文書によると、「Kademliaクロスシャードルーティング技術」はクロスシャード通信のネットワークオーバーヘッドを制御するために採用され、「消去コード」はブロックブロードキャストプロセスを最適化するために使用されるため、放送局のネットワークへの負荷が軽減されます。送信側のネットワークのボトルネック問題を回避し、効率的な水平シャーディング拡張を実現します。クロスシャードメッセージングを実現する最初のシャードブロックチェーンとしての機能をすでに備えています。効率的なクロスシャードメッセージングプロトコルとフルメッシュ設計により、シャード間でシームレスに通信できるようになります。チームはこの目標に向けて積極的に取り組んでおり、ユーザーと開発者は今年後半の Harmony のリリースを楽しみにできます。 . クロスシャードメッセージングプロトコル。

これは、Harmony のビルダーや開発者にとって、機能を照合し、異なるシャードに存在するデータを使用して構築できるため、大きな進歩です。さらに、シャード間のデータの一貫性も重要です。これら 2 つの追求によって、この無限の拡張性の持続可能性が決まります。

2.3 Elrond

Elrond は、セキュリティ、効率、拡張性、相互運用性を提供するように設計された高スループットのパブリック ブロックチェーンです。 Elrond を際立たせる 2 つの最も重要な機能は、適応型ステート シャーディングと安全なプルーフ オブ ステーク コンセンサス メカニズムです。

Elrond は、トランザクション、データ、ネットワーキングに対してあらゆるレベルの適応ステート シャーディングを採用しています。動的適応シャーディング メカニズムは、利用可能なバリデーターの数とネットワークの使用状況を考慮して、シャードのマージとシャードの分割を実行します。シャード間で定期的にノードがシャッフルされるため、悪意のある攻撃に対する高い回復力が維持されます。衝突を防ぐために、エポックごとに、各シャード内の最大 1/3 のノードが他のシャードに再シャッフルされます。ランダム性の点では、ランダム性のソースは BLS 署名を使用して保護されているため、偏りがなく、予測不可能になります。

シャード状態アーキテクチャ上のスマート コントラクトの場合、クロスシャード実行プロセスが使用され、シャードの負荷が分散されます。シャード間でスマート コントラクトのバランスを取ることで、Elrond は複数のスマート コントラクトを並行して実行できるようになります。

同時に、クロスシャードに関しては、Elrond はメタ チェーンと呼ばれる設計を採用しており、これにより、クロスシャード トランザクション (ファイナリティ) を数秒以内に迅速に決定できます。テクニカル ホワイト ペーパーを検討することで、そのプロセスを次のように単純化します。Elrond ネットワークには 2 つのシャードとメタチェーンしかないと仮定します。ユーザーがアドレスがシャード 0 にあるウォレットからトランザクションを生成し、ウォレット アドレスがシャード 1 にある別のユーザーに EGLD を送信したいと仮定すると、クロスシャード ピース取引を処理するには、次の図に示す手順が必要です。

ブロックの構造は、ブロックに関する情報 (ブロック ノンス、ラウンド、プロポーザー、バリデーター タイムスタンプなど) を含むブロック ヘッダーと、内部に実際のトランザクションを含むシャードごとのミニブロックのリストによって表されます。この場合、シャード 0 のブロックには、通常 3 つのミニブロックがあります。

  • ミニブロック 0: シャード 0 のシャード内トランザクションが含まれます

  • ミニブロック 1: シャード 0 に送信者、シャード 1 に宛先を持つクロスシャード トランザクションが含まれます。

  • ミニブロック 2: クロスシャード トランザクションが含まれており、送信者はシャード 1 にあり、宛先はシャード 0 にあります。これらのトランザクションは送信側シャード 1 ですでに処理されており、現在のシャードが処理された後に完了します。

ブロック内に同じ送信者と受信者を持つ小さなブロックの数に制限はありません。これは、同じ送信者と受信者を持つ複数のミニブロックが同じブロック内に現れる可能性があることを意味します。このプロセスでは、シャード間で実行されるアトミックな処理単位はミニブロックです。ミニブロックのすべてのトランザクションをすぐに処理するか、そうでない場合、ミニブロックの実行は次のラウンドで再試行されます。

Elrond のクロスシャード トランザクション戦略では、非同期モデルが使用されます。検証と処理は、最初に送信者のシャードで行われ、次に受信者のシャードで行われます。送信者のシャードでは、そのシャード内のアカウントから開始されたトランザクションを完全に検証できるため、トランザクションは最初に送信者のシャードにディスパッチされます。その後、受信側のシャードでは、ノードはメタチェーンによって提供される実行証明のみを必要とし、署名検証を実行してリプレイ攻撃をチェックし、最後に受信側の残高を更新してトランザクション金額を追加します。

シャード 0 は、ミニブロック 0 のシャード内トランザクションと、ミニブロック 1 のレシーバーとしてシャード 1 からアドレスが取得される一連のシャード間トランザクションを処理します。ブロックヘッダーとミニブロックはメタチェーンに送信されます。メタチェーンは、各ミニブロックに関する次の情報を含む新しいメタチェーン ブロック (メタブロック) を作成することによって、シャード 0 のブロックを公証します: 送信側シャード ID、受信側シャード ID、ミニブロック ハッシュ。

画像の説明

    図 5 Elrond のクロスシャード非同期モデル

2.4 Near

Near は完全にステートシャーディングされた、開発者にとって使いやすいスケーラブルなパブリック チェーンであり、Nightshade と呼ばれる新しいプロトコルとソリューションを提案しました。

画像の説明

    図 6 ビーコン チェーン アプローチをほぼ放棄し、Nightshade 設計を採用

Nightshade はシステムを単一のブロックチェーンとしてモデル化し、各ブロックにはすべてのシャードからのすべてのトランザクションが論理的に含まれ、すべてのシャードの全体的な状態が変更されます。物理的には、完全な状態または完全な論理ブロックをダウンロードする参加者はいません。代わりに、ネットワークの各参加者は、トランザクションを検証したシャードに対応する状態のみを維持し、ブロック内のすべてのトランザクションのリストは、シャードごとに 1 つのブロックという物理的なチャンクに分割されます。

理想的な条件下では、各ブロックの各シャードには正確に 1 つのブロックが含まれており、これはビーコン チェーンと同じレートでブロックを生成するシャード チェーンを備えたモデルにほぼ対応します。ただし、ネットワーク遅延により一部のブロックが失われる可能性があるため、各ブロックの各シャードには実際には 1 つまたは 0 のブロックが含まれます。

Nightshade には、ブロックプロデューサーとバリデーターという 2 つの役割があります。システムには常に、w ブロック プロデューサー (BlockProducer) と wv バリデーター (Validator) が含まれており、ほぼモデル w=100 v = 100、wv = 10,000 です。システムには n 個のシャードが含まれており、近いモデルでは n = 1000 です。 Nightshade にはシャード チェーンはなく、代わりにすべてのブロックプロデューサーとバリデーターがメインチェーンと呼ばれる単一のブロックチェーンを構築しています。メインチェーンの状態は n 個のシャードに分割され、各ブロックのプロデューサーと検証者は、常にシャードの特定のサブセットに対応する状態サブセットをローカルにダウンロードするだけで、これらの部分のトランザクション ステータスのみを処理して検証します。ネットワークのメンテナンスは一定の期間で行われます。ここでの期間は日数です。

ブロックプロデューサーとブロックプロデューサーは、固定スケジュールに従って各ブロックをローテーションします。ブロックプロデューサーには順序があり、その順序でブロックを繰り返し生成します。たとえば、ブロックプロデューサーが 100 人いる場合、最初のブロックプロデューサーはブロック 1、101、201 などの生成を担当し、2 番目のブロックプロデューサーはブロック 2、102、202 などの生成を担当します。ブロックの生成はブロックの生成とは異なるため、状態を維持する必要があります。各シャードでは、sww/n ブロック プロデューサーのみが各シャードの状態を維持し、それに応じて、それらの sww/n ブロック プロデューサーのみがローテーションしてブロックを作成します。

画像の説明

    最初のレベルのタイトル

文章

文章

文章

文章

  1. シャード間でトランザクションを行う場合、トランザクションのアトミックな処理を確保しながらシャードの継続的な実行を回避するにはどうすればよいでしょうか? 2. シャード ノードが 1 つ未満のノードがネットワークに追加された場合、ネットワークは追加のノードをどのように処理しますか?

  2. 副題

3.1 シャーディアムとトランザクションレベルの合意

Shardeum は、Proof of Quorum (PoQ) と Proof of Stake (PoS) を組み合わせた独自のテクノロジーとコンセンサス アルゴリズムを形成しており、このコンセンサス アルゴリズムは、ノードの誓約を収集および検証するためのトラストレス投票を通じてネットワークのセキュリティを確保するのに役立ちます。各トランザクションは、ブロック/パーティションにグループ化される前に、受信した順序で処理されます。

副題

3.2 シャーディアムと線形拡張

線形スケーリングとは何かを説明するには、次の状況を想像する必要があります。

Near メイン ネットワーク上の 100 ノードからなる 1 つのシャード。今後さらにシャードが追加されることが予想されます。 Harmony には 4 つのシャードがあり、それぞれに 250 ノードがあり、メイン ネットワークには合計 1,000 ノードがあります。すべての契約は同じシャード内にあります。 Elrond には 3 つのシャードと 1 つのメタチェーンがあり、各シャードには 800 個のノードがあり、メイン ネットワークには合計 3200 個のノードがあります。

Harmony に 100 ノードを追加した場合、これはシャードに必要な 250 ノードよりも少ないですが、Harmony はこれらのノードをどのように処理しますか?この合計 1,100 ノードをそれぞれ 100 ノードの 11 シャードに分割することを検討できますか?

良く聞こえますが、一部のシャードの静的な性質により、新しいシャードを作成するには多くの追加ノードがネットワークに参加する必要があります。上記のネットワークにいくつかのノードを追加する場合、単一のノードを追加するだけでは、少なくとも現在の「最小シャード サイズ」ノード数 (100 ノード近く) ではブロック全体のパフォーマンスを向上させることは不可能です。現在のシャードはすべて静的シャードであり、線形拡張をサポートしておらず、静的シャードを実際に分割およびマージできる運用ネットワークはないためです。

Shardeum のホワイトペーパーでは、「トランザクションレベルのコンセンサス」以外に、動的状態シャーディングを使用することがユニークな特徴であると述べています。すべてのノードが同じアドレス範囲をカバーする静的シャードとは異なり、Shardeum の仮想シャード (動的シャーディングとも呼ばれます) は各ノードに保持させることができます。異なるアドレス範囲で、重複するノードを持つアドレスをカバーします。これはより複雑ですが、真の線形スケーリングが可能になるという利点があります。

アドレス空間とノードの対応関係の動的な変更に加え、シャード間検証のための新しいデータ可用性証明を通じて、Shardeum はフィッティングまたは近似的な「線形拡張」を実現できます。この「トランザクションレベル」に応じた検証・確認方法は、チップ単体の性能はある程度犠牲になるかもしれないが、ネットワーク全体としては非常に有益な拡張である。

画像の説明

    図 8 2021 年の第 3 四半期に、Shardus は 5000 TPS のクロスシャード トランザクションを達成することが証明されました

最初のレベルのタイトル

4. 結論

真にシャード化されたスケーラブルなブロックチェーンは、ゼロから始める必要があります。同様に、ダイヤモンドのようなコンセンサスを持つコミュニティもゼロから構築する必要があり、コミュニティの構築は技術研究とブレークスルーほど簡単なことはありません。 Shardeum テストネットの立ち上げ後、アクティブなテスターの数とテスト トランザクションの数を確認しました。私たちが発見したイノベーションの道を、より多くの人々が手を携えて歩んでいることに興奮しています。同時に、いくつかの成果も見てきました。疑問の声もありますが、私たちは進歩の道は螺旋であり、紆余曲折があっても、どんな創造性や探求も試してみる価値があると信じています。

最初のレベルのタイトル

Reference

    1.https://blog.chain.link/blockchain-scalability-approaches-zh/

    2.https://www.odaily.news/post/5147856

    3.https://docs.near.org/concepts/basics/transactions/overview

    4.https://medium.com/nearprotocol/the-authoritative-guide-to-blockchain-sharding-part-1-1b53ed31e060

    5.https://medium.com/nearprotocol/unsolved-problems-in-blockchain-sharding-2327d6517f43

    6.https://medium.com/nearprotocol/why-doesnt-near-just-replicate-ethereum-serenity-design-3e2cfa2f960c

    7.https://ethereum.org/en/upgrades/sharding/#what-is-sharding

    8.https://blog.ethereum.org/2020/03/27/sharding-consensus

    9.https://www.web3.university/article/ethereum-sharding-an-introduction-to-blockchain-sharding

    10.https://medium.com/harmony-one/enabling-cross-shard-communication-at-harmony-22f26483d0d1

    11.https://en.elrondwiki.com/article/multi-shard-the-answers-to-certain-questions

    12.https://docs.elrond.com/technology/cross-shard-transactions/

    13.https://near.org/papers/nightshade/

    14.https://shardus.com/whitepaper.pdf

文章

文章

文章www.jsquare.co

Twitter|@JSquare_co

パブリックチェーン
開発者
スマートコントラクト
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk