Mi

日常をさらさらと

Plasmaについて学ぶ

BlockChainのトリレンマ

  • トリレンマ どれも好ましくないが、その中から1つを選択肢しなければいけない状態

現状のEthereumの問題

1秒間に 10 - 15transaction程度しか処理できない 遅い!!

なぜか
  • decentralization(分散化)を維持する必要があるから
  • 全ての人が、transaction を検証しているから
  • そもそもtransactionの数が多い
  • blockが伝播するまでwaitしておく必要があるから
ETHにおけるトリレンマ

分散を維持するために処理速度を犠牲にしているから

分散 - 拡張性 - 安全性 の 3つの内、どれかを犠牲にしなければいけない

もう少し具体

Scalability(拡張性) と Decantralization(分散) を優先すると、Security が犠牲になる -> Blockの生成が早いと、forkの確率が上がり、reorg(再編成)の可能性が上がる -> データ量が増えると、miningできるnodeが限られてくるので、集中化する

ScalabilityとSecurityを優先すると、Decantralizationが犠牲になる -> PoA(信頼できる人のみがブロックを作成できる)などを採用すると、minerへのtrustが必要になる

Side Chain を用いた改善案

Salabilityを改善するための方針

  • 自分に関係のあるtransactionのみを検証する(検証量を減らす)
  • 特定のtransactionのみを流すようにしたい

main(root) chainがnode数が多くて、処理に時間がかかってしまう それに対して、side chainは特別な処理をするユーザー/nodeのみが参加して、Blockの生成を行う

side chainが満たすべき仕様

2 way-peg

  • 必要に応じて、root chain から side chainに移動することができる
  • root chainのassetsをside chainに移動する仕組み
  • side chainでの取引終了後, root chainに戻す必要がある

PoS / dPoS / PoA

PoWでも不可能ではないけれども、Block長に期待ができないため、reorgが起こる可能性がある 2way-pegを使用するため、root chain / side chain で finalityを得られるアルゴリズムの方が好ましい

side chainが抱える問題

root chainと同等の価値を持つ token を 弱いchain上で扱っている node数が少ないので、minerの裏切りが起こる可能性がある

Plasma

大切にすること

参加者の資産を守ること

満たすべき条件

minerが裏切ったら参加者はいつでもroot chainに戻ることができる

どのように実現しているのか

Plasma chain(Plasmaに基づいて作られたside chain)は一定期間ごとに root chainに cheak pointに記録する

exit(資産の引出し方法)

root chainに対して、exitを行う root chainでは、checkpointを元にそのexitが正当かどうかをチェックする root chainには、記録がされているため、正当化どうかのチェックは可能