2023.04.10
ブロックチェーンのインターオペラビリティを実現する Polkadot / Substrate エコシステム
結論ファースト
Polkadotに接続された複数のブロックチェーンは
Substrateで開発されており
相互にやりとりできます!
まえがき
Y.C.です。昨年からPolkadot周りの調査を進めていますが、今回Polkadot/Substrateエコシステムについて社内発表する機会をいただいたので、その資料を共有いたします。
エコシステム全体をまるっと俯瞰できるような構成になっています。個別のParachainについては深掘りしていませんが、どのように複数のブロックチェーンが協調しているのか、開発者目線でどんなことができるのか、といったことが分かるかと思います。要点はこちら
資料
要点
とくにお伝えしたいことをかいつまんでみます。
Interoperability
中心にあるRelay chain に、最大100のParachain が接続するというアーキテクチャになっています。
XCMにより、既存のbridgeより効率よくブロックチェーンを跨いだメッセージングが可能になります。
実際にXCMで通貨を別のチェーンに送金した様子です。10秒もかからず送金できました。送信元はrelay chainであるせいか手数料が少し高くなっていますが、送信先のparachainで発生した手数料に関しては簡単なコントラクト呼び出し程度しかかかっていません。トラストレスかつ非常に低コストでブロックチェーンを跨ぐことができました。
関連記事
Moonbeam:クロスチェーンの世界に差し込むEtherの光
https://recruit.gmo.jp/engineer/jisedai/blog/introduction-to-moonbeam/
EVMコントラクト vs WASMコントラクト
Polkadotエコシステムでは、Ethereum互換を謳いEVMコントラクトを実行できるブロックチェーンがあるのはもちろん、WASMコントラクトを実行できるブロックチェーンも存在します。WASMはEVMと比べ様々なメリットがあるとされています。その一端を垣間見るため、EVMとWASMでFungible Tokenのライブラリをそのまま用いてコントラクトを作成し、操作にかかる手数料を比較してみました。
結果は、なんと基本的にEVMが有利となりました。WASMコントラクトはコード量が多く、特にデプロイの手数料が高額でした。ただ、複雑な計算を行った場合にWASMが有利になる可能性があり、また手数料の重みづけは今後調整される可能性があります。さらにRustで書くことにより、スマートコントラクトにおいて重要なロジックの堅牢性を高めることができます。今後どちらがベターな選択肢となるか要注目です。
関連記事
Substrate理解の第一歩:ink!によるコントラクト開発・Ethereumとの違い
https://recruit.gmo.jp/engineer/jisedai/blog/develop-substrate-contract-by-ink/
Pallet
スマートコントラクトには、弱点としてトランザクションを投げないと処理を発火できないイベントドリブンな機構であること、HTTPリクエストといった非決定的な処理ができないこと、といった点があります。ブロックチェーン開発フレームワークSubstrateの機能モジュールであるPalletにより、スマートコントラクトで実現できなかったスケジューリング処理やオフチェーンでの非決定的な処理が可能になります。これにより分散アプリケーションの柔軟性が飛躍的に高まります。
関連記事
Substrate理解の第一歩:palletでブロックチェーンへ機能追加
https://recruit.gmo.jp/engineer/jisedai/blog/substrate-pallets/
あとがき
Polkadotが実現しようとしているInteroperabilityは、ブロックチェーン全体が発展していく上で不可欠な性質です。Polkadotに100のParachainが接続したとき、どのような姿になっているのか?CosmosやAvalancheといった他のソリューションとどのように競合・協調していくのか?発展スピードが早すぎて追いかけるのが大変ですが、しがみついていきます!
グループ研究開発本部 次世代システム研究室では、最新のテクノロジーを調査・検証しながらインターネット上の高度なアプリケーション開発を行うエンジニア・アーキテクトを募集しています。募集職種一覧 からご応募をお待ちしています。
グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。
Follow @GMO_RD