ブロックチェーンアプリケーションの開発を促進する”Plasma Chamber”

最近はビジネスサイドのマーケターもブロックチェーン、特にワールドコンピュータとしての普及を目指す「イーサリアム」の潜在的な可能性やその課題「スケーラビリティ」については頻繁に耳にするようにはなったものの、そのソリューションの最前線についてはあまり情報が入ってこないように思われます。

この記事ではビジネスサイドでのブロックチェーンの活用を考えている方に向けて新たなイーサリアムのスケーラビリティ解決策としてCryptoeconomics Labが提唱する「Plasma Chamber」について解説したいと思います。

Cryptoeconomics Labとは

まずCryptoeconomics Labについて紹介すると、これはブロックチェーン技術とCryptoeconomics(行動暗号経済学)の普及の為、ブロックチェーンのプロトコル開発エンジニアの育成やコミュニティの醸成に取り組む、福岡市を拠点とする研究チームです。

Cryptoeconomics Labは日本でもトップクラスのエンジニアが離散集合型で開発を進めており、常にスレッドでは活発に議論が交わされています。

公式ホームページ:https://www.cryptoeconomicslab.com/

Cryptoeconomics Research:https://research.cryptoeconomicslab.com/

Github:https://github.com/cryptoeconomicslab

Scrapbox:https://scrapbox.io/cryptoeconimicslab/

なぜ今スケーラビリティが重要か

Cryptoeconomics Labが現在Cryptoeconomicsの普及への一環として現在力を入れているのが、スケーラビリティソリューションの開発・提供です。

スケーラビリティ問題とは、イーサリアムなどのブロックチェーンが対応できるトランザクション量を超過したトランザクションが発生していることで、トランザクションの処理に非常に時間がかかってしまう問題のことをさします。ではなぜ今スケーラビリティ問題が重要になってくるのでしょうか。

そもそもスケーラビリティ問題の背景にはユーザー数の増加による送金過多、ICOの増加、イーサリアム上で実行されるアプリケーション(Dapps)の増加などの原因があります。これらは全てブロックチェーンを実装しより多くのユーザーに届けるためには不可欠な行為です。つまりスケーラビリティ問題の解決なくしては良いブロックチェーンプロダクトを作ったとしてもパフォーマンスの低さからユーザーに手に取ってもらえなかったり、継続して使用してもらうことが困難になってしまうのです。

この問題を解決するため、ビットコイン、イーサリアムなどの各ブロックチェーンはそれぞれのソリューションの研究開発を進めています。我々Cryptoeconomics Labが現在開発しているのも各ブロックチェーンに対応したスケーラビリティ解決策です。

最もクリティカルな解決策「Plasma」

様々なブロックチェーンの中でも特にスケーラビリティ問題が喫緊の課題となっているのがワールドコンピュータとして様々なアプリケーションを動作させることを想定しているイーサリアムです。

イーサリアムでは特に「Plasma」と呼ばれる技術でスケーラビリティを解決しようとしています。このPlasmaは既存のイーサリアムチェーンを「親チェーン」として、ユーザーは親チェーンに資金をデポジットし、サイドチェーンとして「子チェーン」を接続します。親チェーンに資金をデポジットすることで子チェーンで扱える残高の担保かつ引き出しの原資とした上で、既存のイーサリアムチェーンで行われていた処理をサイドチェーンに移譲して行うことでパフォーマンス向上を測るものです。

既存のイーサリアムチェーンにおいては瑣末な処理から重要な処理に至るまであらゆる処理を全て同一チェーン上で実行していましたが、Plasmaによって特定の処理に関する情報などを親チェーンから切り離すことで、イーサリアムブロックチェーンに保存されるデータサイズを減らしスマートコントラクトの実行速度を向上させることができます。

サイドチェーンにはさらにサイドチェーンを接続することも可能です。

既存のPlasmaの課題

しかしこのPlasmaには課題がいくつかあります。例えばユーザーは自身の資金が攻撃され不正利用されるのを防ぐためにPlasmaチェーンを自身で確認せねばならなくなり、監視のためのコストがかかります。

現在様々なプロジェクトが独自にPlasmaを実装するためのプロダクトを開発していますが、これらの問題を解決するために現状有力とされているのが「Plasma Cash」と呼ばれるPlasmaです。

このPlasma Cashは現金の1000円札を1枚目、2枚目、…と数えていくように、デポジットされたトークンに固有のIDを発行しトランザクションを全て固有のものにしてしまうことから名前がつけられました。トークンが分割されないことによる分岐しない履歴が、オペレーターの不正を検知するコストと関係者を最小化し、セキュリティを担保するために煩雑さがユーザーに影響を与えにくくなりました。すなわちアプリケーションを使用するユーザー自身にとっては監視・検証・残高確認の効率化をはかることが可能になります。

Plasma Chamberにより実現されるイーサリアムの開発

もっとも、先述したPlasma Cashはスケーラビリティ解決策として有効な手段ではあるものの各開発者は自ら開発するDappsに適切な形でフィットさせる必要があります。これはPlasmaの研究は日々進んでおり、一般的なブロックチェーンエンジニアすら論点を把握しきれないことも多いことから自社でPlasmaの開発まで行うことを想定する場合どうしてもPlasmaリサーチャーの存在が必要不可欠になってしまうためであり、結果として自社で開発しようとしているDappsの他にPlasmaに関しての研究も行わねばならなくなり、開発のプロセスとして効率的とは言えません。

Cryptoeconomics Labの提唱するPlasma Chamberはこの問題を解決するものとしてPlasman(Plasma愛好家)に支持されています。Plasma Chamberは基本的な構造はPlasma Cashを踏襲した上で、特定のDappsを作るためのPlasmaサイドチェーンを生成します。この際に既存の諸Plasmaとは異なりPlasmaコントラクトと子チェーン双方に同じ状態機械を備えることで、子チェーンでもイーサリアムの親チェーンのセキュリティを正当に引き継いだスマートコントラクトを扱えるようになります。ゆえにPlasma Chamberを利用することで、Dapps開発の際に必要なオリジナルPlasmaをイーサリアムのメインチェーンのセキュリティを保ったものとして生成することが可能になります。

開発言語としては現在Dapps開発の主流であるSolidityとJavaScriptコードを出力出来るようにしていく予定です。将来的には主にゲームやDEXなどのDappsの開発に使用されることを想定し、開発者がPlasmaを組み込んだ設計をする上での曖昧点やクローズドノウハウを明らかにし、実装を行えるようになることを目標としています。

Plasma Chamberの長所と短所

Plasma Chamberはその他のGeneral Computingを目指すサイドチェーンとは異なり、EthereumのメインチェーンおよびPlasma Cashの完全なセキュリティを継承することを目標としています。 このような選択をした理由ははっきりしています。すなわちPlasma Chamberを開発するあたり、Cryptoeconomics Labはトラストレスなアプリケーションの構築が非常に困難で高度な知的水準が要求される仕事であることを理解しています。一方で分散化デザインを無意義なものにおとしめてしまうことは簡単であることも理解しています。 ゆえにブロックチェーンの第2レイヤーにおけるスケーリングソリューションをそのような無意味なものにしたくないと思っていますし、非常にピュアで根本的な要件たりえるようにしたいと思っています。 ゆえにPlasma Cashのセキュリティ保証は、Cryptoeconomics Labが考える分散型アプリケーションの最低品質であると考えています。

Issue HuntでPlasma Chamberリポジトリ掲載中!

Plasma Chamberは現在α版を開発中であり、コミュニティ活性化・オープンソース開発の促進を目指しIssue Huntに掲載中です。

IssueHuntはオープンソースプロジェクトのためのバウンティプラットフォームで、世界中の人が利用しています。IssueHuntに掲載されているPlasma Chamberについてイシューベースで意見をどしどしお送りください!

リンクはこちらです。

Plasma Chamber IssueHunt

https://issuehunt.io/repos/149250475

Cryptoeconomics LabはPlasma Chamberの他にも汎用的なPlasmaの研究、汎用的なスケーラビリティについての研究開発を活発に行い、ブロックチェーンエコシステムの発展に寄与していく予定です。