見出し画像

【保存版】本当は難しくない?シャーディングってなんだろう。

こんにちは、 CryptoGamesの高橋です。

TCGVerseの会社です。

今回は、こちらの動画を元に、シャーディングについて解説していきます。

ETH2からの解説になりますので、もしシャーディングについてだけで良いという場合には、第9章から見てみてください。

1 Ethereum2.0(ETH2)の目的

ETH2.0の目的は次の3つです。

① スケーリング(容量を大きくし、速度遅延、ガス代問題に対応)
② セキュリティ向上
③ 持続可能性

スクリーンショット 2022-01-04 5.31.23

では、この目的を一つずつ見ていきましょう。

2 目的1 スケーラビリティ

現在のイーサリアムの処理速度は1秒あたり15トランザクションです。15TPSとも言います。(Transactions Per Second

これを1,000TPSに上げるのが目的です。

スクリーンショット 2022-01-04 5.49.48

あれ?100,000TPSじゃかなったっけ?と思った方、いい点だと思います。

後ほど出てきますが、ETH2と「ロールアップ」を組み合わせることで100,000TPSを目指しています。

3 目的2 セキュリティ向上

現在、マイニングの方法(ブロックの作り方)としてPoW(プルーフオブワーク)という方式を採用しています。

ちなみに、どのようにブロックを作るかということを「コンセンサスモデル」と言います。

計算によって、一番早く答えを導き出したマイナー(計算してブロックを作る人)がブロックを作ることができます。

スクリーンショット 2022-01-04 5.56.02

この計算速度について全体の過半数(51%)を支配してしまった場合、不正にブロックを作ることができるようになってしまいます。

現在、この脅威が内在しています。

4 目的3 持続可能性

現在のPoW(プルーフオブワーク)というコンセンサスモデルは大量の計算が必要になります。

大量の計算を行うために、大量の電力が消費されています。

スクリーンショット 2022-01-04 6.02.21

このコンセンサスモデルをPoS(プルーフオブステーク)に変えることで、電力消費を抑制します。

5 セレニティとは?(=ETH2)

これらの一連の変更は「セレニティ」と呼ばれています。名前を聞いたことがある方も多いかもしれません。

ただ、別名がEthereum2.0ETH2であり、この名前で多く呼ばれるようになりました。

スクリーンショット 2022-01-04 6.09.27

ちなみにこれらの3つはローンチ前から議論されていました。

6 コンセンサスモデルの変更(PoW⇨PoS)

現在のPoW(プルーフオブワーク)は競争によってブロックを作成します。

そのため、計算をする人であるマイナーや大量の電力が必要となります。

スクリーンショット 2022-01-04 6.18.08

PoSではブロックを作るのはマイナーではなく、バリデータ(トランザクションの検証者)になります。

ETHを預ける量であるステーキング量と期間に応じてブロック生成率が変わります。

7 PoSの不正防止メカニズム(スラッシング)

まず、バリデータになるためには一定量のETHを預ける(ステーキングする)必要がありました。

スクリーンショット 2022-01-04 6.35.03

万一、51%攻撃の実行に関与した場合、この預けたETHの一部が失われてしまうメカニズムが組まれています。

このメカニズムをスラッシングと言います。

8 PoSによる3つの効果

第6章電力消費の削減による持続可能性第7章での不正防止メカニズムによるセキュリティの向上について見てきました。

では、PoSによるスケーラビリティについても見ていきましょう。

スクリーンショット 2022-01-04 7.31.46

こちらはPoSによる
① 51%攻撃のリスクの削減
② ノードに求められる性能の低下(計算が必要なくなる)

の帰結として、シャーディングを実装できるというところにつながります。

では、シャーディングについて見てみましょう。

9 シャーディングとは

シャーディングはもともとブロックチェーンの用語ではなく、データサイエンスにおける用語です。

スクリーンショット 2022-01-04 7.40.15

データベースを小さく分割したものを「シャード」と呼び、このようにデータベースを複数のデータセットに分割することを「シャーディング」と呼びます。

10 ETH2におけるシャーディングとは?

ETH2におけるシャーディングも全く同じで、チェーンを分割することです。これだけだと思います。

スクリーンショット 2022-01-04 7.47.06

ちなみに64個のチェーンに分割します。

11 シャーディングの効果

シャーディングによってチェーンが分割されたため、それぞれのノードが扱うデータが小さくなります。

これにより、こんな効果があります。

① 扱うデータが小さくなる
② ノードは高性能でなくても大丈夫
③ 多くの人が参加できる
④ ③で分散化が進むので、不正をしにくくなる

スクリーンショット 2022-01-04 7.51.45

12 ETH2におけるシャーディングの特徴

このシャーディングのチェーンにおける大きな特徴が

① トランザクション
② スマートコントラクト

処理しないということです。

スクリーンショット 2022-01-04 7.59.04

13 なぜシャードチェーンではトランザクションを実行しないの?

なぜ、シャードチェーンでトランザクションやスマートコントラクトの処理を行わないのか。

それは「ロールアップ」があるため、行う必要がないからです。

スクリーンショット 2022-01-04 8.05.05

詳しくはこちらをご確認ください。

簡単には、メインのチェーンの外である、レイヤ2と呼ばれる場所でトランザクションを実施し、メインチェーンにデータを書き込みます。

この手法があるからこそ、あえて、メインチェーンでトランザクションを実行する必要がないのです。

スクリーンショット 2022-01-04 8.10.48

このように、シャーディングとロールアップを組み合わせることで、100,000TPSが可能になります。

そのため、シャーディングがどこまでできるようになるかは議論が分かれています。

今回は、以上になります。

またどこかの機会で、ビーコンチェーンなどについても触れたいと思います。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊