2018.12.25 火曜日
お問い合わせ
日本語
top_app.pngApp

Plasma(プラズマ)とは? スケーラビリティを向上させる仕組みを解説!!

Dbit2018/12/24 15:44 午後
シェア:twitter

2.jpg


前編にあたる「スケーラビリティを向上させるPlasma(プラズマ)とは? そのメリット・デメリット」に続き、後半ではPlasmaの仕組みを解説していきます。


Plasma(プラズマ)の仕組み


Plasmaは、ルートチェーン(例:イーサリアム)とそこから派生するPlasmaブロックチェーンで構成されています。なお、PlasmaブロックチェーンはProof of Stakeであることが前提です。


各チェーンの状態はそれぞれのハッシュ値がひとつ上の階層のチェーンに書き込まれていき、最終的にルートチェーンに伝達されていきます。


001.jpg

Plasmaブロックチェーンの状態のハッシュ値がひとつ上の階層に書き込まれ、最終的にはルートチェーンに記録される
出典:https://plasma.io/plasma.pdf


そして、トランザクションの大半はPlasmaブロックチェーンで処理されるため、ルートチェーンの負荷が軽くなるのです。


仕組みを理解するために、まずはシンプルな1階層のPlasmaブロックチェーンを見てみましょう。


以下の例では、Aliceの1ETHは「Plasma Block #3」のみに記録されていますが、そのブロックヘッダのハッシュをルートチェーンに送ることで、アリスの資産は間接的にルートチェーンに記録されます。


003.jpg

Plasmaブロックチェーンが1階層のみの場合
出典:https://plasma.io/plasma.pdf


このデータ構造は多階層の場合でも同様で、以下のように3階層目のPlasmaブロックチェーンに記録されているアリスの資産は、ハッシュ値によって上の階層へと伝達されていき、最終的にはルートチェーンに書き込まれます。


001.jpg

多階層のPlasmaブロックチェーンの場合
出典:https://plasma.io/plasma.pdf


なお、このように多数のPlasmaブロックチェーンを接続していくことで、十億Tx/s程度もの処理能力を実現できる可能性がある考えられています。


そして、処理能力を大きく向上させるためにPlasmaで取り入れられているのが、トランザクションのインプットデータを複数のまとまりに分割して、前後のチェーン階層間にまたがり多数のノードに分散処理をさせる「Map Reduce」という手法です。


Map Reduceでは、上位階層である親Plasmaチェーンが、下位階層である子Plasmaチェーンにトランザクション処理を分割送付し(Map処理)、子チェーンはそれらを検証した結果をまとめて親チェーンにコミットします(Reduce処理)。そして、結果を受け取った親チェーンは結果を統合して、さらに上位階層のチェーンに送信します。


このようにして、大量に並列処理されていくため、トランザクションの高速化が可能になっているのです。


004.jpg

Map Reduceでトランザクションを階層間で分散処理することで処理能力を向上させる
出典:https://plasma.io/plasma.pdf


なお、Plasmaは不正への対策として、親チェーンで不正が発生した場合には当該チェーン(またはブロック)を回避し、ルートチェーンへと資産を逃させたり、より上位階層の親チェーンへのルーティング探索が行われたりします。


005.jpg

ルートチェーンへの資産回避
出典:https://plasma.io/plasma.pdf


006.jpg

より上位の親Plasmaブロックチェーンへのルーティング探索
出典:https://plasma.io/plasma.pdf


ルートチェーンへの資産回避を行う際に、Aliceは自身が関わるすべてのブロックチェーンのデータを保持・監視しているため、「Plasma Block #4」での不正をルートチェーンに対して証明可能です。


007.jpg

親チェーンのFraud Proof
出典:https://plasma.io/plasma.pdf


この証明をFraud Proof(詐欺の証明)といい、不正が認められると「Plasma Block #4」を生成したノードはペナルティが与えられ、「Plasma Block #3」が最新のブロックとなります。


Plasma(プラズマ)はスケーラビリティ問題を解決するか?



この記事のポイント

・Plasmaは、サイドチェーンの概念をより安全性を高めて拡張したもの
・理論上は十億Tx/s程度まで処理能力を向上させられる
・Plasmaのデメリットを克服するために、拡張されたPlasmaプロトコルが提案されている(Plasma Cashなど)



Plasmaはスケーラビリティ問題を解決する可能性を秘めており、サイドチェーンとして異なるアルゴリズムのブロックチェーンを接続できるため、より拡張性の高いスケーリングが可能だと考えられます。


ノードが保持するデータサイズの肥大化など、Plasmaの課題を克服するために、様々な仕様が提案されており、現在進行系で議論が進んでいます。


なお、日本語圏でイーサリアムの技術的なトピックを追いたい方は以下の掲示板がおすすめです。Plasmaに関する議論や参考資料もまとめられています。


Cryptoeconomics Research


また、有志によるPlasmaホワイトペーパーの日本語訳が以下公開されています。


Plasma スケーラブルな自律型スマートコントラクト
plasma-whitepaper-jp(プラズマ日本語訳+継続的改善インフラ)


イーサリアム関連記事

DApps開発の汎用プラットフォーム「イーサリアム」とは?(1/4)
DApps開発の汎用プラットフォーム「イーサリアム」とは?(2/4)
DApps開発の汎用プラットフォーム「イーサリアム」とは?(3/4)
DApps開発の汎用プラットフォーム「イーサリアム」とは?(4/4)
【ERC-20/223/721】イーサリアムの技術的な標準規格ERCとは? 前編
【ERC-20/223/721】イーサリアムの技術的な標準規格ERCとは? 後編
【前編】イーサリアムのマークルパトリシアツリーとは?
【後編】イーサリアムのマークルパトリシアツリーとは?
パブリックチェーン&プライベートチェーンとは? ブロックチェーンの種類を解説!
スマートコントラクトとは? メリット・デメリットを詳しく解説!
DAppsとは?分散型アプリケーションを事例と共に詳しく解説!
ブロックチェーンプログラミングの勉強ならコレ!資料&サービス
分散型台帳技術(DLT)とは?ブロックチェーンとの違い・特徴を解説
簡単に知りたい人向け!コンセンサスアルゴリズムまとめ
ビットコインの"キモ"、Proof of Workの目的と仕組みを徹底解説!
暗号学的ハッシュ関数の特徴と仕組みとは?
実は、ビットコインは「ビザンチン将軍問題」を解決していない?
ハードフォークとは何か?要因と事例を解説

コメントを表示する