EthreumのShardingについて スケーリングよりもセキュリティーにメリットあるのでは
MONAコインでReorg(ブロックチェーンの再編成(巻き戻し))が発生しましたね。
以前の記事にも書きましたがPoWはハッシュパワー(処理能力)によって攻撃する経済的インセンティブがあります。そして、対抗するには分散だと結論づけました。
では、Ethreumはどうなのでしょうか?
現在はPoWですがマイナーの結託があれば同じことは起こり得ます。しかし、マイナーにどれ程の経済的インセンティブがあるのでしょうか?攻撃可能な大規模マイナーは相当数のETHを保有しているのでネットワークを攻撃するメリットが少ないと思われます。価格下落とゆうディスインセンティブが働きますから。
では、PoSに移行するとどうなるのでしょうか?安全なのでしょうか?PoSはデポジットで攻撃できます。よって、validatorが結託して51%攻撃を仕掛けることは可能です。では、それをどのように解決するのでしょうか?
実はスケーリングソリューションとして提案されているShardingですが、ネットワークセキュリティとしても機能するのではないかと思います。
Shardingのセキュリティ面のついての考察
”速度(ネットワークのスループット)を向上させるのに十分なほど小さく、セキュリティを維持するために十分な数のノードを持つシステム”
現在の安定したネットワークを壊さない範囲でできるだけ多くのネットワークに分割することとなります。ShardingなしのCasper(PoS)はvalidatorになる為に1500ETHのデポジットが必要です。Sharding後は100Shardに分割したとして単純に15ETHのデポジットでvalidatorになれそうです(EDCONでは32ETHと言ってたきがします...)。すなわちvalidatorの分散が起こります。(結託が起こりにくいですね)
しかし、validatorが一つのShardに居座ると担当しているShardを安価(1/100)なデポジットで攻撃できてしまいます。一つのShardを攻撃するだけで全体の整合性がおかしくなります。(1%攻撃)そこで、validatorを定期的にランダムに再編成します。
よって、ネットワーク分割によって脆弱になったネットワークのセキュリティをカバーできます。
このコンセプトをステイトレスクライアントと呼びます。
再編成のたびに担当するShardのステイトをダウンロードする仕組みです。要は、検証に必要な分だけその都度ダウンロードし、再編成のたびにステイトをリセットする仕組みです。しかも、このコンセプトは非力なマシーンでも動かせることを念頭においてます。(イーサリアムネットワーク全部のステイトをダウンロードしない為)
....これ何か気づきませんか...スマホって常に電源を入れていますね。もしや.....(妄想w)
まとめ
小さなデポジットかつ非力なマシーンによる承認を可能にするShardingはネットワークのより高い分散性を実現してくれます。
すなわち
『ブロックチェーンの本質は分散性!』
に収束します。
お後がよろしいようで。。
ツイッターで見かけた疑問があったのでそれに応えしたいと思います。
1エポック毎に再編成されてしまうので意図的にシャードを選べません。自分が15ETHのアドレスを大量に用意して攻撃に備えたとしても特定のシャードに51%をデポジットするのは不可能ではないですがかなり難しい様に思えます。ただし、シャッフルのロジックを読まれたら突破される可能性は高まります。
ちなみに、ノンシャードで51%結託するよりも非常に難しいですよね。