シャーディングとは?

初級編11/21/2022, 8:11:51 AM
シャーディングは、ブロックチェーンがスケーラビリティを構築するのに役立つデータベースパーティション技術であり、トランザクションを複数のシャーディングチェーンで並行して処理して、ネットワークの輻輳を軽減し、毎秒トランザクション(TPS)を増やすことができます。

紹介

従来のブロックチェーンでは、トランザクションはネットワーク内の各ノードによって確認される必要がありますが、トランザクションがパックされて新しいブロックを生成する前に、ノード間でコンセンサスに達する必要があります。 各ノードが完全な台帳履歴を記録するため、セキュリティが完全に保証されているため、ハッカーが検出されずにデータを密かに改ざんすることは困難です。
セキュリティとスケーラビリティは両立しません
ただし、高度なセキュリティには代償が伴います。 ノードが通信し、情報を交換する頻度は、ネットワーク帯域幅を占有し、トランザクション処理を遅くします。 1つのノードの障害によってネットワーク全体が停止するのを防ぐためには、分散化を強化し、リスクを分散させるために、より多くのノードが必要です。 これらの異なるトレードオフは「不可能な三角形」とも呼ばれ、ブロックチェーンネットワークのスケーラビリティ、分散化、セキュリティを同時に達成することはできません。


出典:Vitalik Buterinのブログ「シャーディングが素晴らしい理由:技術的特性の謎を解く」

シャーディングにより、セキュリティと分散化を実現しながら効率的なスケーリングが可能
シャーディングは、セキュリティと分散化を放棄することなく、ブロックチェーンネットワークのスケーラビリティを向上させるソリューションです。 シャーディングは、単一のブロックチェーンを複数の小さなブロックチェーンに分割し、それぞれが独自のレコードを個別に管理し、日付交換は必要な場合にのみ実行されます。 したがって、異なるシャーディングチェーンのノードは、ブロックチェーン全体からのデータではなく、独自のチェーンに属するトランザクションのみを同期的に検証できます。
各シャーディングチェーンのノード数が十分に大きい限り、セキュリティと分散化が確認されます。 シャーディングの適用により、ブロックチェーンのスループットを向上させ、増大するユーザーの需要を満たすことができます。 ETH2.0は、シャーディングを通じてスケーラビリティも強化します。

シャーディングとは

シャーディングは、需要条件に基づいて元のデータベースを複数のシャードに分割することでデータベースアクセスパフォーマンスを向上させる最適化手法であり、負荷とユーザートラフィックを分散してより高速なサービスを提供できます。 ブロックチェーンは本質的に大規模な分散型台帳であることを考えると、シャーディングによってスケーラビリティを向上させることが可能です。
たとえば、ショッピングサイトには価格の異なる商品が多数あり、消費者にはさまざまなニーズがありますが、割引された安価な商品を好む人もいれば、高価でプレミアムな商品を好む人もいます。 このような大量注文を処理するには、価格帯を使用して簡単なトリアージを行い、チェッカーの処理を高速化できます。

ソース: デジタルオーシャン
シャーディングはデータをトリアージし、さまざまなニーズに応じて処理します
チェッカー(ノード)は、注文データを分割せずにすべての注文情報を確認する必要があり(シャーディング)、反復的なタスクを実行するのに多くの時間がかかります。 対照的に、注文データを複数のシャードに分割すると、異なるチェッカーが低価格と高価格の注文を個別に処理できます。
各タイプの注文は完全な注文のごく一部であり、異なる価格のアイテムを担当するチェッカーは互いに影響を与えることなく同時に作業できるため、シャーディングは並列操作を可能にします。各チェッカーは注文の一部をチェックするだけでよいため、シャーディングはノードの作業負荷を軽減し、検証を高速化します。
シャード化されたデータベースはパズルのようなもので、パズルの各ピースはシャードを表します。 シャード化されていないブロックチェーンは、新しいブロックが生成されるたびにパズル全体を再描画し(状態の複製)、パズルのごく一部を変更する必要があります(状態の更新)。 シャード化されたブロックチェーンは、変更が必要な特定の部分(シャード)を見つけて、新しいトランザクションレコードを追加するときに新しいものに置き換えるだけで済みます。

シャーディングが必要な理由

オンチェーンアプリケーションはより多様であり、需要は指数関数的に増加します
ユーザーサイズが大幅に増加すると、システムの種類に関係なく、増加するトラフィックに対応するために必然的に拡張する必要があります。 たとえば、オンラインゲームの人気が高すぎて、1日あたりのプレイヤー数が10万人から100万人、さらには1,000万人に増えた場合、トラフィックを迂回させてラグを回避するために新しいサーバーを設定する必要があります。 実生活でも同様の状況が見られます。 休暇中、興味のある場所への観光客は常にひどい交通渋滞に苦しんでいます。 目的地に到着するのに通常は2時間しかかからないかもしれませんが、トラフィックの急増により、今でははるかに長くかかります。 代替ルーチンは、交通渋滞を効果的に緩和するための一般的なソリューションです。
スケーリングでボトルネックが発生し、代替案を探す
ブロックチェーンは、開発中にスケーラビリティのボトルネックにも遭遇しました。 ノード数が10しかないP2Pブロックチェーンでは、ノード間通信の10 9回後にすべてのデータ交換を完了でき、ノード数が100に達すると、アルゴリズムの最適化がなければ100 99回のノード間通信を意味します。 一般に、Nノードを持つP2Pブロックチェーンネットワークでは、各ノードが他のN-1ノードとデータを交換するため、ブロックチェーンネットワークのスケーリングに伴って、各トランザクションに費やされる時間と計算量が指数関数的に増加すると考えられます。

主流であることを通じて、ビットコインとイーサリアムはまだ時代遅れのメカニズムを適用しています
現在、時価総額で最大の暗号通貨であるビットコインと、アップグレード前のイーサリアムはどちらも低速であり、ビットコインは約7トランザクション/秒(TPS)を処理し、イーサリアムは15TPSでもう少し処理します。 これは長い間、多数のユーザーのニーズを満たすには不十分であり、毎秒最大24,000トランザクションを処理する大手クレジットカード会社VISAなどの集中システムによって矮小化されています。 ネットワークの輻輳に加えて、速度が遅いとコストも増加し、ユーザーはトランザクションに優先順位を付けるためにより高い料金を支払う必要があり、ユーザーエクスペリエンスがさらに悪化します。


ソース: イーサスキャン

ノードは所属するシャードに関連する情報を保持するだけでよく、ノードのセットアップコストと参加のしきい値がシャーディングによって下げられるため、各ノードがシャードブロックチェーンの完全なトランザクション履歴を所有する必要はありません。 ブロックチェーンネットワークは、シャーディングの助けを借りてより分散化することができます。 ノードを稼働させるために必要なハードウェア機器の仕様は、シャーディングなしでどんどん高架化していきます。 結局、良好な経済状況を持つ参加者だけが生き残るでしょう。 シャーディングは、通常のコンピューター、ラップトップ、さらにはスマートフォンをノードにすることを可能にし、ブロックチェーンとdAPPの大量採用につながります。

ETH 2.0でシャーディングはどのように機能しますか?

イーサリアムのコンセンサスメカニズムは、ETH2.0でプルーフオブワーク(PoW)からプルーフオブステーク(PoS)に変換され、元のイーサリアムメインネットはビーコンチェーンにマージされます。 その結果、イーサリアムノードが新しいブロックを生成するために大規模な計算能力は不要になりました。 代わりに、彼らはETHをスマートコントラクトに賭けてバリデーターになり、新しいブロックを送信するときに取引手数料を取得する権利を取得します。
ETH 2.0では、スケーラビリティを向上させるために64個のシャードが作成され、そのうちの1つはビーコンチェーンと呼ばれます。 イーサリアムシャーディングのアップグレードで中核的な役割を果たし、異なるシャード間の調整と情報共有を担当します。 すべてのETH2.0ノードは、シャードチェーンにETHをステークし、指示に従って異なるシャードのトランザクションを処理し、シャードチェーンのブロックはビーコンチェーンの承認がある場合にのみ有効になります。

ソース:シャオウェイ・ワン
シャーディングは、トリアージによって保留中のトランザクションを検証します
ETH 2.0がシャーディングを採用すると、ランダムサンプリングアルゴリズムは各シャードにランダムな数のノードを割り当ててトランザクションを検証し、投票によってシャードチェーン上のトランザクションの順序と有効性を決定し、新しく生成されたシャードブロックの情報がビーコンチェーンに追加されます。 新しいブロックは、シャード チェーン上のノードの 3 分の 2 以上によって承認される必要があります。
次の図に示すように、各ノードには一連のバリデータノードセットの番号(1~100)が割り当てられます。ランダムサンプリングアルゴリズムは、ノードの割り当て順序を分割し、固定順序のない新しいノードセットを生成します。新しく生成された最初の1~10ノードは、最初のシャードチェーンのトランザクションを処理する最初の委員会として指定でき、11~20番目は2番目のシャードチェーンを処理する2番目の委員会として指定できます。


出典:Vitalik Buterinのブログ「シャーディングが素晴らしい理由:技術的特性の謎を解く」
バリデータノードは、ランダムサンプリングアルゴリズムが一定期間ノードの順序を再混乱させるため、特定のシャードチェーン上のトランザクションを処理するために固定的に割り当てられていません。 そのため、シャードチェーンごとに担当する委員が固定されていないため、特定のノードがシャードチェーンを長時間検証することによる集中化のリスクを回避し、攻撃の難易度が上がります。
シャーディングはETH2.0のスループットを大幅に向上させるため、すべてのノードが異なるシャードチェーン上の完全なトランザクションデータを同期的に更新することは不可能になり、PoWのブロックヘッダーに似た照合ヘッダーが情報共有の媒体になります。 名前が示すように、照合順序ヘッダーには、次のような照合順序内の情報に関するメタデータが含まれています。

  1. 照合順序が属する単一のシャード
  2. 親照合順序のルート ハッシュ
  3. 照合順序内のすべてのトランザクションのマークルルート
  4. プレステートルートとポストステートルート
  5. 公証人の署名


ソース: ハッカーヌーン
照合ヘッダーはノードに十分な情報を提供し、必要な場合にのみインデックスに従って完全なトランザクションレコードをダウンロードします。

シャーディングの長所と短所

使用需要を効果的にそらし、スケーラビリティを大幅に向上させる代替手段
100万台の車が都市Aから都市Bに移動するために同じ道路を運転することを余儀なくされていると想像してください。旅は遅くなるはずですが、従来のブロックチェーンの場合、すべてのオンチェーンノードがすべてのトランザクションを検証する必要があります。 シャーディングは、チェーン上のデータを断片的にスライスして、各ノードがトランザクションの一部のみを処理する必要があるようにします。 ブロックチェーンがトラフィックを分散させるために複数の高速道路を追加すると、ユーザーはトランザクションをより速く完了することができます。

出典:ジェネシスブロック

ネットワークの輻輳を軽減し、コストを削減
アップグレード前のイーサリアムでは、マイナーノードはユーザーが支払う意思のある金額に基づいてトランザクションをパックし、高い手数料はより速く処理され、低い手数料は処理が遅くなるため、ユーザーが1回のトランザクションに対して50ドル以上を支払うことがあるという病的な手数料入札が発生します。 シャーディングにより、ブロックチェーンがよりスムーズに動作し、手数料入札の必要性が減り、ユーザーは1つのシャードで輻輳が発生した場合に別のシャーディングに目を向けることができます。

ノードの実行が容易になり、分散化とセキュリティが強化されます
各ノードは1つのシャード上の情報を同時に処理するだけでよいため、ブロックチェーン全体の完全なデータにアクセスする必要がないため、ノードのセットアップに必要なハードウェアは低くなります。 ユーザーは、より安価なデバイスをノードとして使用して検証に参加し、収益を得ることができます。 しきい値の低下は、ブロックチェーンネットワークの分散化と普及に利益をもたらし、ETH2.0のビジョンは、個人がスマートフォンからイーサリアムアプリを実行できるようにすることです。 分散化の副次的な利点は、ネットワークセキュリティの強化であり、ノードが多く、分散しているほど、ブロックチェーンを攻撃するのが難しくなります。

シャーディングは利点のリストを強調していますが、一連の新しい問題ももたらします。

1%攻撃の可能性
ブロックチェーンは51%の攻撃に対して脆弱であり、攻撃者はノードの計算能力の51%を制御すると、トランザクションデータを任意に改ざんしたり、ブロックチェーンネットワーク全体を制御したりすることができます。 ビットコインやアップグレード前のイーサリアムなどの大規模なブロックチェーンネットワークでは、51%攻撃のコストが高すぎるため、実装が不可能です。
ただし、シャーディングの採用により、各シャードを処理するノードの数が大幅に減少し、悪意のある攻撃者がネットワーク全体を攻撃するのではなく、シャードの1つを攻撃してトランザクションを正常に偽造する限り、侵害がはるかに簡単になります。 具体的には、同じ計算能力を持つ1,000ノードを含むブロックチェーンネットワークの場合、ハッカーはネットワーク全体を攻撃するために500を超えるノードを制御する必要があります。 しかし、これらの1,000ノードが100シャードに分散されている場合、ハッカーはシャードの1つで5つ以上のノードを制御するだけでデータを改ざんできます。

出典:ジェネシスブロック

スマートコントラクトのセキュリティリスクが高まる
シャーディングの採用には、ブロックチェーンネットワーク台帳のデータ構造と基盤となるコードロジックを書き直す必要があり、さらに複雑になると、ネットワークの更新と保守がより困難になり、スマートコントラクトのセキュリティの脆弱性とリスクが発生し、実行中に意図しないエラーが発生する可能性があります。

委員間の共謀
シャーディングは、同一のノードが固定シャードチェーンに割り当てられるのを避けるためにランダムサンプリングアルゴリズムを採用していますが、同一のノードの重複した組み合わせが十分な期間後にトランザクションを共同検証できる可能性があり、シャードチェーンを検証する委員会のメンバーは、互いに共謀して悪意のあるトランザクションをチェーンに送信する可能性もあります。
負荷の不均衡
シャーディングによってネットワークパフォーマンスを向上させるための前提条件は、「シャーディング」が「迂回」をうまくもたらすことです。 ただし、ブロックチェーンが100個のシャードチェーンで最適化されている場合、すべてのユーザーが特定のシャードチェーンを使用しているため、シャーディングは失敗し、スケーラビリティはあまり向上していません。 これは、各シャードチェーンのスマートコントラクト操作を実行する機能が初期計画に含まれていないため、ETH2.0の潜在的な問題でもあります。
より複雑なブロックチェーンエクスプローラー
シャーディングによってもたらされるスケーラビリティの向上は、ネットワーク全体にアルゴリズムとデータを追加することによって達成され、ブロックチェーンエクスプローラーがブロックチェーン上の情報を効果的に取得するには、より大きな処理能力が必要です。

シャーディングを採用している他のブロックチェーン

エルロンド:

Elrondは、ブロックチェーンスケーリングテクノロジーを使用したアダプティブステートシャーディング、検証を高速化するためのバリデーターの選択を決定するセキュアプルーフオブステーク(SPoS)、複数のプログラミング言語をサポートし、イーサリアムVMと互換性のあるElrond仮想マシンを含む3つの主要テクノロジーを開発することにより、スケーラビリティ、速度、セキュリティを向上させることを目的とした分散型パブリックブロックチェーンです。

Elrond独自のアダプティブステートシャーディングは、3つの形式のシャーディングを組み合わせたものです。

  1. ネットワーク シャーディングは、ノードをシャードにグループ化するプロセスを表します。
  2. トランザクションシャーディングは複雑さを次のレベルに引き上げ、異なるシャード間でのトランザクションの分散を処理しますが、すべてのノードはブロックチェーン全体をその状態に保ちます。
  3. 状態シャーディングは最も洗練された部分を表し、異なるシャードのノード間でデータをレプリケートすることなく、異なるシャードが状態の一部のみを処理できるようにするメカニズムとして説明されています。

現在、Elrondは15,000TPSに達することができ、手数料は0.001ドルと低く抑えられており、これはイーサリアムよりも合理的な利点です。

近く:

Nearは、フルステートシャーディング、簡素化された開発アプリケーション、プルーフオブステークメカニズムに基づくブロックパブリックチェーンです。 分散型アプリケーション開発のスケーラビリティを高め、ブロックチェーンテクノロジーの扉をすべての人に開放するという目標を設定します。 ナイトシェードアルゴリズムを採用したドゥームスラッグコンセンサスメカニズムは、TPSを100,000にスケーリングすることができます。 Nearの技術アーキテクチャは、1つのチェーンと複数のシャードチェーンで構成されるビーコンチェーンなどの他のシャードパブリックチェーンとは異なり、個々のブロックに分割され、これらのブロック間でシャーディングが実行されます。 ブロックにはすべてのシャードのすべてのトランザクションが含まれ、シャードの状態は分割され、バリデータはトランザクションのシャードの対応する状態を検証するためにランダムに割り当てられるため、セキュリティが向上します。

ジリカ:

Zilliqaはブロックチェーンのかなり早い鳥です。 これは、ネットワークシャーディングとトランザクションシャーディング、およびシャード内のコンセンサスを加速するために複雑さを簡素化したPoWとビザンチンフォールトトレラントコンセンサスアルゴリズム(PBFT)を使用することで、当時のブロックチェーンのスケーラビリティの低さを解決するために立ち上げられました。 600を超えるノードでも高速に実行でき、一定のスケーリングにより、Zilliqaは2400TPSから3600TPSに高いTPSになります。

調和:

ハーモニーは、ビーコンチェーンと複数のシャーディングチェーンによって構造化され、ビザンチンフォールトトレラントコンセンサスアルゴリズム(PBFT)を伴って、深く最適化されたコンセンサスに到達するステートシャーディングに基づくパブリックチェーンであり、BLSシグネチャで高速化して複数のシグネチャを1つに集約します。 シャード化されたパブリックチェーンでは、計算能力の1%を二重支払い攻撃に使用できますが、これに関して、HarmonyはEPoS(効果的なプルーフオブステーク)とランダムシャーディングを採用して、大規模なステークトークンを分散させ、複数のシャードにランダムに割り当てて、攻撃されるリスクを減らしてシャードのセキュリティを強化します。 また、Kademliaクロスシャード通信を採用してネットワーク支出を制御し、データ回復を可能にするイレイジャーコードを利用して、ブロックブロードキャストプロセスを最適化して効率的な水平シャーディングスケーリングを実行します。

結論

暗号通貨の使用の爆発的な増加とdAPPの急増により、一部の従来のブロックチェーンは圧倒され、増大する市場の需要を満たすことができません。 分散化とセキュリティをあきらめずにスケーラビリティを向上させる方法は、現在のブロックチェーン業界にとって大きな問題になっています。

シャーディングはオンチェーンのニーズを効果的に迂回させ、アクセス効率を向上させます

シャーディングは、オンチェーンのトランザクションデータを分割し、異なるノードで同期的に処理することでデータベースアクセス効率を向上させる最適化技術であり、これによりトラフィックの迂回と速度の向上が実現されます。 待望のレイヤー1スケーリングソリューションとして、高レベルの技術的困難を克服した後にシャーディングが正常に実現された場合、その潜在的な利点は非常に大きくなります。 シャーディングは一部のブロックチェーンで採用されており、今後のETH2.0でも、ネットワークパフォーマンスを大幅に向上させることを期待して採用される予定です。

シャーディングは多くの未解決の課題で達成するのが非常に困難ですが、最終的には不可能な三角形が克服されます

ただし、シャーディングは完璧なソリューションではありません。 複雑さが増すだけでなく、ネットワークがより多くのリスクにさらされる可能性があります。 多くの開発者は、さまざまなシャードを調整して効率的に運用する方法に関する研究を続けており、シャーディングがセキュリティ、分散化、スケーラビリティの「不可能な三角形」を克服するための鍵となることを期待しています。

著者:ピッコロ翻訳者:ユーレイ
レビュアー : ヒューゴ , エドワード
免責事項:

  • この記事はオブザーバーの見解のみを表しており、投資提案を構成するものではありません。
    *Gate.io は、この記事に対するすべての権利を留保します。 記事の再投稿は、Gate.io 参照されている場合に許可されます。 それ以外の場合は、著作権侵害により法的措置が取られます。
著者: Piccolo
翻訳者: Yuler
レビュアー: Hugo, Edward, Cecilia, Ashley
* 本情報はGate.ioが提供または保証する金融アドバイス、その他のいかなる種類の推奨を意図したものではなく、構成するものではありません。
* 本記事はGate.ioを参照することなく複製/送信/複写することを禁じます。違反した場合は著作権法の侵害となり法的措置の対象となります。

シャーディングとは?

初級編11/21/2022, 8:11:51 AM
シャーディングは、ブロックチェーンがスケーラビリティを構築するのに役立つデータベースパーティション技術であり、トランザクションを複数のシャーディングチェーンで並行して処理して、ネットワークの輻輳を軽減し、毎秒トランザクション(TPS)を増やすことができます。

紹介

従来のブロックチェーンでは、トランザクションはネットワーク内の各ノードによって確認される必要がありますが、トランザクションがパックされて新しいブロックを生成する前に、ノード間でコンセンサスに達する必要があります。 各ノードが完全な台帳履歴を記録するため、セキュリティが完全に保証されているため、ハッカーが検出されずにデータを密かに改ざんすることは困難です。
セキュリティとスケーラビリティは両立しません
ただし、高度なセキュリティには代償が伴います。 ノードが通信し、情報を交換する頻度は、ネットワーク帯域幅を占有し、トランザクション処理を遅くします。 1つのノードの障害によってネットワーク全体が停止するのを防ぐためには、分散化を強化し、リスクを分散させるために、より多くのノードが必要です。 これらの異なるトレードオフは「不可能な三角形」とも呼ばれ、ブロックチェーンネットワークのスケーラビリティ、分散化、セキュリティを同時に達成することはできません。


出典:Vitalik Buterinのブログ「シャーディングが素晴らしい理由:技術的特性の謎を解く」

シャーディングにより、セキュリティと分散化を実現しながら効率的なスケーリングが可能
シャーディングは、セキュリティと分散化を放棄することなく、ブロックチェーンネットワークのスケーラビリティを向上させるソリューションです。 シャーディングは、単一のブロックチェーンを複数の小さなブロックチェーンに分割し、それぞれが独自のレコードを個別に管理し、日付交換は必要な場合にのみ実行されます。 したがって、異なるシャーディングチェーンのノードは、ブロックチェーン全体からのデータではなく、独自のチェーンに属するトランザクションのみを同期的に検証できます。
各シャーディングチェーンのノード数が十分に大きい限り、セキュリティと分散化が確認されます。 シャーディングの適用により、ブロックチェーンのスループットを向上させ、増大するユーザーの需要を満たすことができます。 ETH2.0は、シャーディングを通じてスケーラビリティも強化します。

シャーディングとは

シャーディングは、需要条件に基づいて元のデータベースを複数のシャードに分割することでデータベースアクセスパフォーマンスを向上させる最適化手法であり、負荷とユーザートラフィックを分散してより高速なサービスを提供できます。 ブロックチェーンは本質的に大規模な分散型台帳であることを考えると、シャーディングによってスケーラビリティを向上させることが可能です。
たとえば、ショッピングサイトには価格の異なる商品が多数あり、消費者にはさまざまなニーズがありますが、割引された安価な商品を好む人もいれば、高価でプレミアムな商品を好む人もいます。 このような大量注文を処理するには、価格帯を使用して簡単なトリアージを行い、チェッカーの処理を高速化できます。

ソース: デジタルオーシャン
シャーディングはデータをトリアージし、さまざまなニーズに応じて処理します
チェッカー(ノード)は、注文データを分割せずにすべての注文情報を確認する必要があり(シャーディング)、反復的なタスクを実行するのに多くの時間がかかります。 対照的に、注文データを複数のシャードに分割すると、異なるチェッカーが低価格と高価格の注文を個別に処理できます。
各タイプの注文は完全な注文のごく一部であり、異なる価格のアイテムを担当するチェッカーは互いに影響を与えることなく同時に作業できるため、シャーディングは並列操作を可能にします。各チェッカーは注文の一部をチェックするだけでよいため、シャーディングはノードの作業負荷を軽減し、検証を高速化します。
シャード化されたデータベースはパズルのようなもので、パズルの各ピースはシャードを表します。 シャード化されていないブロックチェーンは、新しいブロックが生成されるたびにパズル全体を再描画し(状態の複製)、パズルのごく一部を変更する必要があります(状態の更新)。 シャード化されたブロックチェーンは、変更が必要な特定の部分(シャード)を見つけて、新しいトランザクションレコードを追加するときに新しいものに置き換えるだけで済みます。

シャーディングが必要な理由

オンチェーンアプリケーションはより多様であり、需要は指数関数的に増加します
ユーザーサイズが大幅に増加すると、システムの種類に関係なく、増加するトラフィックに対応するために必然的に拡張する必要があります。 たとえば、オンラインゲームの人気が高すぎて、1日あたりのプレイヤー数が10万人から100万人、さらには1,000万人に増えた場合、トラフィックを迂回させてラグを回避するために新しいサーバーを設定する必要があります。 実生活でも同様の状況が見られます。 休暇中、興味のある場所への観光客は常にひどい交通渋滞に苦しんでいます。 目的地に到着するのに通常は2時間しかかからないかもしれませんが、トラフィックの急増により、今でははるかに長くかかります。 代替ルーチンは、交通渋滞を効果的に緩和するための一般的なソリューションです。
スケーリングでボトルネックが発生し、代替案を探す
ブロックチェーンは、開発中にスケーラビリティのボトルネックにも遭遇しました。 ノード数が10しかないP2Pブロックチェーンでは、ノード間通信の10 9回後にすべてのデータ交換を完了でき、ノード数が100に達すると、アルゴリズムの最適化がなければ100 99回のノード間通信を意味します。 一般に、Nノードを持つP2Pブロックチェーンネットワークでは、各ノードが他のN-1ノードとデータを交換するため、ブロックチェーンネットワークのスケーリングに伴って、各トランザクションに費やされる時間と計算量が指数関数的に増加すると考えられます。

主流であることを通じて、ビットコインとイーサリアムはまだ時代遅れのメカニズムを適用しています
現在、時価総額で最大の暗号通貨であるビットコインと、アップグレード前のイーサリアムはどちらも低速であり、ビットコインは約7トランザクション/秒(TPS)を処理し、イーサリアムは15TPSでもう少し処理します。 これは長い間、多数のユーザーのニーズを満たすには不十分であり、毎秒最大24,000トランザクションを処理する大手クレジットカード会社VISAなどの集中システムによって矮小化されています。 ネットワークの輻輳に加えて、速度が遅いとコストも増加し、ユーザーはトランザクションに優先順位を付けるためにより高い料金を支払う必要があり、ユーザーエクスペリエンスがさらに悪化します。


ソース: イーサスキャン

ノードは所属するシャードに関連する情報を保持するだけでよく、ノードのセットアップコストと参加のしきい値がシャーディングによって下げられるため、各ノードがシャードブロックチェーンの完全なトランザクション履歴を所有する必要はありません。 ブロックチェーンネットワークは、シャーディングの助けを借りてより分散化することができます。 ノードを稼働させるために必要なハードウェア機器の仕様は、シャーディングなしでどんどん高架化していきます。 結局、良好な経済状況を持つ参加者だけが生き残るでしょう。 シャーディングは、通常のコンピューター、ラップトップ、さらにはスマートフォンをノードにすることを可能にし、ブロックチェーンとdAPPの大量採用につながります。

ETH 2.0でシャーディングはどのように機能しますか?

イーサリアムのコンセンサスメカニズムは、ETH2.0でプルーフオブワーク(PoW)からプルーフオブステーク(PoS)に変換され、元のイーサリアムメインネットはビーコンチェーンにマージされます。 その結果、イーサリアムノードが新しいブロックを生成するために大規模な計算能力は不要になりました。 代わりに、彼らはETHをスマートコントラクトに賭けてバリデーターになり、新しいブロックを送信するときに取引手数料を取得する権利を取得します。
ETH 2.0では、スケーラビリティを向上させるために64個のシャードが作成され、そのうちの1つはビーコンチェーンと呼ばれます。 イーサリアムシャーディングのアップグレードで中核的な役割を果たし、異なるシャード間の調整と情報共有を担当します。 すべてのETH2.0ノードは、シャードチェーンにETHをステークし、指示に従って異なるシャードのトランザクションを処理し、シャードチェーンのブロックはビーコンチェーンの承認がある場合にのみ有効になります。

ソース:シャオウェイ・ワン
シャーディングは、トリアージによって保留中のトランザクションを検証します
ETH 2.0がシャーディングを採用すると、ランダムサンプリングアルゴリズムは各シャードにランダムな数のノードを割り当ててトランザクションを検証し、投票によってシャードチェーン上のトランザクションの順序と有効性を決定し、新しく生成されたシャードブロックの情報がビーコンチェーンに追加されます。 新しいブロックは、シャード チェーン上のノードの 3 分の 2 以上によって承認される必要があります。
次の図に示すように、各ノードには一連のバリデータノードセットの番号(1~100)が割り当てられます。ランダムサンプリングアルゴリズムは、ノードの割り当て順序を分割し、固定順序のない新しいノードセットを生成します。新しく生成された最初の1~10ノードは、最初のシャードチェーンのトランザクションを処理する最初の委員会として指定でき、11~20番目は2番目のシャードチェーンを処理する2番目の委員会として指定できます。


出典:Vitalik Buterinのブログ「シャーディングが素晴らしい理由:技術的特性の謎を解く」
バリデータノードは、ランダムサンプリングアルゴリズムが一定期間ノードの順序を再混乱させるため、特定のシャードチェーン上のトランザクションを処理するために固定的に割り当てられていません。 そのため、シャードチェーンごとに担当する委員が固定されていないため、特定のノードがシャードチェーンを長時間検証することによる集中化のリスクを回避し、攻撃の難易度が上がります。
シャーディングはETH2.0のスループットを大幅に向上させるため、すべてのノードが異なるシャードチェーン上の完全なトランザクションデータを同期的に更新することは不可能になり、PoWのブロックヘッダーに似た照合ヘッダーが情報共有の媒体になります。 名前が示すように、照合順序ヘッダーには、次のような照合順序内の情報に関するメタデータが含まれています。

  1. 照合順序が属する単一のシャード
  2. 親照合順序のルート ハッシュ
  3. 照合順序内のすべてのトランザクションのマークルルート
  4. プレステートルートとポストステートルート
  5. 公証人の署名


ソース: ハッカーヌーン
照合ヘッダーはノードに十分な情報を提供し、必要な場合にのみインデックスに従って完全なトランザクションレコードをダウンロードします。

シャーディングの長所と短所

使用需要を効果的にそらし、スケーラビリティを大幅に向上させる代替手段
100万台の車が都市Aから都市Bに移動するために同じ道路を運転することを余儀なくされていると想像してください。旅は遅くなるはずですが、従来のブロックチェーンの場合、すべてのオンチェーンノードがすべてのトランザクションを検証する必要があります。 シャーディングは、チェーン上のデータを断片的にスライスして、各ノードがトランザクションの一部のみを処理する必要があるようにします。 ブロックチェーンがトラフィックを分散させるために複数の高速道路を追加すると、ユーザーはトランザクションをより速く完了することができます。

出典:ジェネシスブロック

ネットワークの輻輳を軽減し、コストを削減
アップグレード前のイーサリアムでは、マイナーノードはユーザーが支払う意思のある金額に基づいてトランザクションをパックし、高い手数料はより速く処理され、低い手数料は処理が遅くなるため、ユーザーが1回のトランザクションに対して50ドル以上を支払うことがあるという病的な手数料入札が発生します。 シャーディングにより、ブロックチェーンがよりスムーズに動作し、手数料入札の必要性が減り、ユーザーは1つのシャードで輻輳が発生した場合に別のシャーディングに目を向けることができます。

ノードの実行が容易になり、分散化とセキュリティが強化されます
各ノードは1つのシャード上の情報を同時に処理するだけでよいため、ブロックチェーン全体の完全なデータにアクセスする必要がないため、ノードのセットアップに必要なハードウェアは低くなります。 ユーザーは、より安価なデバイスをノードとして使用して検証に参加し、収益を得ることができます。 しきい値の低下は、ブロックチェーンネットワークの分散化と普及に利益をもたらし、ETH2.0のビジョンは、個人がスマートフォンからイーサリアムアプリを実行できるようにすることです。 分散化の副次的な利点は、ネットワークセキュリティの強化であり、ノードが多く、分散しているほど、ブロックチェーンを攻撃するのが難しくなります。

シャーディングは利点のリストを強調していますが、一連の新しい問題ももたらします。

1%攻撃の可能性
ブロックチェーンは51%の攻撃に対して脆弱であり、攻撃者はノードの計算能力の51%を制御すると、トランザクションデータを任意に改ざんしたり、ブロックチェーンネットワーク全体を制御したりすることができます。 ビットコインやアップグレード前のイーサリアムなどの大規模なブロックチェーンネットワークでは、51%攻撃のコストが高すぎるため、実装が不可能です。
ただし、シャーディングの採用により、各シャードを処理するノードの数が大幅に減少し、悪意のある攻撃者がネットワーク全体を攻撃するのではなく、シャードの1つを攻撃してトランザクションを正常に偽造する限り、侵害がはるかに簡単になります。 具体的には、同じ計算能力を持つ1,000ノードを含むブロックチェーンネットワークの場合、ハッカーはネットワーク全体を攻撃するために500を超えるノードを制御する必要があります。 しかし、これらの1,000ノードが100シャードに分散されている場合、ハッカーはシャードの1つで5つ以上のノードを制御するだけでデータを改ざんできます。

出典:ジェネシスブロック

スマートコントラクトのセキュリティリスクが高まる
シャーディングの採用には、ブロックチェーンネットワーク台帳のデータ構造と基盤となるコードロジックを書き直す必要があり、さらに複雑になると、ネットワークの更新と保守がより困難になり、スマートコントラクトのセキュリティの脆弱性とリスクが発生し、実行中に意図しないエラーが発生する可能性があります。

委員間の共謀
シャーディングは、同一のノードが固定シャードチェーンに割り当てられるのを避けるためにランダムサンプリングアルゴリズムを採用していますが、同一のノードの重複した組み合わせが十分な期間後にトランザクションを共同検証できる可能性があり、シャードチェーンを検証する委員会のメンバーは、互いに共謀して悪意のあるトランザクションをチェーンに送信する可能性もあります。
負荷の不均衡
シャーディングによってネットワークパフォーマンスを向上させるための前提条件は、「シャーディング」が「迂回」をうまくもたらすことです。 ただし、ブロックチェーンが100個のシャードチェーンで最適化されている場合、すべてのユーザーが特定のシャードチェーンを使用しているため、シャーディングは失敗し、スケーラビリティはあまり向上していません。 これは、各シャードチェーンのスマートコントラクト操作を実行する機能が初期計画に含まれていないため、ETH2.0の潜在的な問題でもあります。
より複雑なブロックチェーンエクスプローラー
シャーディングによってもたらされるスケーラビリティの向上は、ネットワーク全体にアルゴリズムとデータを追加することによって達成され、ブロックチェーンエクスプローラーがブロックチェーン上の情報を効果的に取得するには、より大きな処理能力が必要です。

シャーディングを採用している他のブロックチェーン

エルロンド:

Elrondは、ブロックチェーンスケーリングテクノロジーを使用したアダプティブステートシャーディング、検証を高速化するためのバリデーターの選択を決定するセキュアプルーフオブステーク(SPoS)、複数のプログラミング言語をサポートし、イーサリアムVMと互換性のあるElrond仮想マシンを含む3つの主要テクノロジーを開発することにより、スケーラビリティ、速度、セキュリティを向上させることを目的とした分散型パブリックブロックチェーンです。

Elrond独自のアダプティブステートシャーディングは、3つの形式のシャーディングを組み合わせたものです。

  1. ネットワーク シャーディングは、ノードをシャードにグループ化するプロセスを表します。
  2. トランザクションシャーディングは複雑さを次のレベルに引き上げ、異なるシャード間でのトランザクションの分散を処理しますが、すべてのノードはブロックチェーン全体をその状態に保ちます。
  3. 状態シャーディングは最も洗練された部分を表し、異なるシャードのノード間でデータをレプリケートすることなく、異なるシャードが状態の一部のみを処理できるようにするメカニズムとして説明されています。

現在、Elrondは15,000TPSに達することができ、手数料は0.001ドルと低く抑えられており、これはイーサリアムよりも合理的な利点です。

近く:

Nearは、フルステートシャーディング、簡素化された開発アプリケーション、プルーフオブステークメカニズムに基づくブロックパブリックチェーンです。 分散型アプリケーション開発のスケーラビリティを高め、ブロックチェーンテクノロジーの扉をすべての人に開放するという目標を設定します。 ナイトシェードアルゴリズムを採用したドゥームスラッグコンセンサスメカニズムは、TPSを100,000にスケーリングすることができます。 Nearの技術アーキテクチャは、1つのチェーンと複数のシャードチェーンで構成されるビーコンチェーンなどの他のシャードパブリックチェーンとは異なり、個々のブロックに分割され、これらのブロック間でシャーディングが実行されます。 ブロックにはすべてのシャードのすべてのトランザクションが含まれ、シャードの状態は分割され、バリデータはトランザクションのシャードの対応する状態を検証するためにランダムに割り当てられるため、セキュリティが向上します。

ジリカ:

Zilliqaはブロックチェーンのかなり早い鳥です。 これは、ネットワークシャーディングとトランザクションシャーディング、およびシャード内のコンセンサスを加速するために複雑さを簡素化したPoWとビザンチンフォールトトレラントコンセンサスアルゴリズム(PBFT)を使用することで、当時のブロックチェーンのスケーラビリティの低さを解決するために立ち上げられました。 600を超えるノードでも高速に実行でき、一定のスケーリングにより、Zilliqaは2400TPSから3600TPSに高いTPSになります。

調和:

ハーモニーは、ビーコンチェーンと複数のシャーディングチェーンによって構造化され、ビザンチンフォールトトレラントコンセンサスアルゴリズム(PBFT)を伴って、深く最適化されたコンセンサスに到達するステートシャーディングに基づくパブリックチェーンであり、BLSシグネチャで高速化して複数のシグネチャを1つに集約します。 シャード化されたパブリックチェーンでは、計算能力の1%を二重支払い攻撃に使用できますが、これに関して、HarmonyはEPoS(効果的なプルーフオブステーク)とランダムシャーディングを採用して、大規模なステークトークンを分散させ、複数のシャードにランダムに割り当てて、攻撃されるリスクを減らしてシャードのセキュリティを強化します。 また、Kademliaクロスシャード通信を採用してネットワーク支出を制御し、データ回復を可能にするイレイジャーコードを利用して、ブロックブロードキャストプロセスを最適化して効率的な水平シャーディングスケーリングを実行します。

結論

暗号通貨の使用の爆発的な増加とdAPPの急増により、一部の従来のブロックチェーンは圧倒され、増大する市場の需要を満たすことができません。 分散化とセキュリティをあきらめずにスケーラビリティを向上させる方法は、現在のブロックチェーン業界にとって大きな問題になっています。

シャーディングはオンチェーンのニーズを効果的に迂回させ、アクセス効率を向上させます

シャーディングは、オンチェーンのトランザクションデータを分割し、異なるノードで同期的に処理することでデータベースアクセス効率を向上させる最適化技術であり、これによりトラフィックの迂回と速度の向上が実現されます。 待望のレイヤー1スケーリングソリューションとして、高レベルの技術的困難を克服した後にシャーディングが正常に実現された場合、その潜在的な利点は非常に大きくなります。 シャーディングは一部のブロックチェーンで採用されており、今後のETH2.0でも、ネットワークパフォーマンスを大幅に向上させることを期待して採用される予定です。

シャーディングは多くの未解決の課題で達成するのが非常に困難ですが、最終的には不可能な三角形が克服されます

ただし、シャーディングは完璧なソリューションではありません。 複雑さが増すだけでなく、ネットワークがより多くのリスクにさらされる可能性があります。 多くの開発者は、さまざまなシャードを調整して効率的に運用する方法に関する研究を続けており、シャーディングがセキュリティ、分散化、スケーラビリティの「不可能な三角形」を克服するための鍵となることを期待しています。

著者:ピッコロ翻訳者:ユーレイ
レビュアー : ヒューゴ , エドワード
免責事項:

  • この記事はオブザーバーの見解のみを表しており、投資提案を構成するものではありません。
    *Gate.io は、この記事に対するすべての権利を留保します。 記事の再投稿は、Gate.io 参照されている場合に許可されます。 それ以外の場合は、著作権侵害により法的措置が取られます。
著者: Piccolo
翻訳者: Yuler
レビュアー: Hugo, Edward, Cecilia, Ashley
* 本情報はGate.ioが提供または保証する金融アドバイス、その他のいかなる種類の推奨を意図したものではなく、構成するものではありません。
* 本記事はGate.ioを参照することなく複製/送信/複写することを禁じます。違反した場合は著作権法の侵害となり法的措置の対象となります。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!