ホーム
用語集
シャーディング

シャーディング

中級者
シャーディングとは、ブロックチェーン(または他の種類のデータベース)を、を特定のデータを格納したより小さいパーティションに分割する手法です。この手法により、1つのチェーンがネットワーク上のすべてのトランザクションとやり取りしなければならない負荷が軽減されます。パーティション化されたブロックチェーンはシャードと呼ばれ、固有の台帳を持ちます。
これらのシャードは独自のトランザクションを処理できる一方、Beaconブロックチェーンまたはメインチェーンがシャード間のやり取りを管理します。このため、シャーディングはブロックチェーンのメインネットの仕組みを変更し、レイヤー1のネットワークスケーラビリティを向上させることになります。シャードを実装することで、スケーラビリティをはるかに向上させることが可能になります。Ethereumは、スケーラブルなProof-of-Stakeへのアップグレードの過程でシャーディングを導入しています。
Ethereumの例では、Beacon Chainが64個のシャードを管理します。当初のProof of Work EthereumチェーンがProof of Stake Beaconチェーンにマージされ、シャーディングはその後導入されます。
ネットワークでシャーディングを実装する利点の1つに、ノードの運用が楽になり、アクセスしやすくなることが挙げられます。ネットワークのデータはシャードに分割されるため、バリデータノードがブロックチェーン全体の履歴全体を保存する必要がなくなります。代わりに、バリデーターはデータの整合性の検証データのみを保持すればよくなります。
シャーディングを利用しないネットワークでは、多くの場合、スケーラビリティを向上させるに当たり、ロールアップに頼りがちです。ロールアップでは、トランザクションデータをいったんオフチェーンで取得し、メインチェーン上で検証するために、それらのデータをパッケージ化します。そのため、シャーディングはロールアップと競合関係のように見えますが、実際にはロールアップをより効率化にします。シャード化されたネットワークでのロールアップは、そのデータのやり取りを効率的にメインネットにリポートでき、処理速度が向上します。

シャーディングで心配されるのは、シャードが乗っ取られる可能性です。そのため、結果としてシャードがネットワークの他の部分に悪影響を与えてしまう可能性があります。適切に管理されたルールがなければ、ネットワークの一部分のみを管理するシャードを乗っ取ることは、シャード化されていないネットワーク全体を乗っ取ることより実行しやすいと言えます。