見出し画像

"Engineer"の活躍の場が広がる"Platform"構想 (Multi Virtual Machine)

この記事では、Astar Network の魅力として以下のページで上げていた「"Engineer"の活躍の場が広がる"Platform"構想 (Multi Virtual Machine)」についてお伝えしていきます。

本記事の情報は、情報は、2022年9月の時点のものになります。
また、プログラミングの要素が少なからず語られます。ある程度は補足していきますが、それでもご自身で不明なワードなどが出てきた際はお調べ願います。

EVM と WASM の両方をサポート

この内容が該当するのは、Astar Network のWebページ(https://astar.network/)より、下記の部分です。

Multi Virtual Machine
Astar natively supports Ethereum Virtual Machine and WebAssembly.

https://astar.network/

この記事を書いている2022年秋現在で、スマートコントラクトの開発およびその実行環境は、EVM(Ethereum Virtual Machine)が主流でが、それに加えて、Astar Network では WASM というものも用意される、ということです。

スマートコントラクト:
 ブロックチェーン上の仕組みであり、
 あらかじめ設定されたルール・条件に従って、自動実行されるプログラム

まず、EVM の話からはじめ、その後になぜ EVM だけでなく WASM をサポートするのか?を特徴を伝えつつ、自分なりの考察を入れつつ紐解いていきたいとおもいます。

EVM と Solidity

EVMは、Ethereum上でスマートコントラクトが展開され、実行されるための”実行環境”です。

ここで、なんで Astar Network は Ethereum じゃないのに”EVM”が出てくるんだというシンプルな疑問が浮かぶかと思いますが、これは、「Astar Network が Ethereum じゃなくても、スマートコントラクトを動かすにあたり、”EVM互換”を持っているブロックチェーンである」という事です。

考えてみれば様々な仕組み、実行環境をそれぞれのブロックチェーン上で独自仕様で作ってしまうと開発効率や市場の発展性、エンジニアの学習、チェーン間連携など様々不都合が生じてしまいます。既に多くのエンジニアや開発コード、ユースケースが発展してきている”EVM互換”を持っておくことは、スマートコントラクトを稼働させるブロックチェーンそのものの開発、その上のエコシステムの発展としては非常に重要な意味を持っていると考えられます。

そして、スマートコントラクト開発はいわゆるプログラミングをする事になりますので、その時に使われる「プログラミング言語」があります。昨今、非常に多くのプログラミング言語があり、様々な特徴をもち、もちろんブロックチェーンに関係するもの以外にもたくさん使われています。

そんな中、様々なスマートコントラクト開発に多く使われているプログラミング言語が「Solidity」というものです。これは、EVM上をで実行される事を前提で設計されています

記事を書いている現在では、先ほどのEVM互換をもったブロックチェーンも多く出ているため、スマートコントラクト(以下、スマコン)を書くのであれば「Solidity」といっても言い過ぎではないくらいに活用されています。

他方「Solidity」は普段、Webアプリケーションやシステム開発をしている人にとってはおそらく初めて耳にする、あるいは聞いたことはあるが・・・程度のものではないでしょうか。この気づきは重要です。

WASM とは?

WASM(ワズム)は「WebAssembly」の略です。ここで、説明として書き添えるならば、EVM と同じく”プログラムの実行環境”としてとらえておいてもらえればまずは良いです。

WASM はブラウザ上で動く言語としてW3Cにより”標準化”されました。ブラウザ上で動くものというと、他には、HTML、CSS、JavaScriptがあります。
WASM が生まれた背景を1つ挙げるとするなら、Web フロンドエンドの領域ではかねてから JavaScript だけだと処理速度に課題がでるようなものを何とかネイティブアプリケーションばりに高速にできたらよいな・・・というような点があり、そのよさげな解決策としてこの WASM は注目されてきています。

なぜ WASM をサポートするのか?

まず今後、将来にかけてブロックチェーンが発揮しているイノベーションの発展に重要になってくる要素の1つは様々なユースケースであり、それを生み出すのは誰かというと、中心になるはやはりエンジニアだと考えています。今以上に多くのエンジニアの参入は重要になってきます。

しかしながら、(記事投稿)現在、スマコン開発者は市場には少なく(需要過多)、かといってすぐに「Solidity」がゴリゴリ書ける人材が増えるかというと、そこには多少時間がかかりそうです。
そんな時、あまたいる既存のエンジニアに目を向けると、それらエンジニアがシームレスに参入できる道があると、よさそうではないか?と考えるのも自然であると思います。

そこで、Astar Network が既存開発者を取り込むべく、WASM もサポートするという点は、後述する観点で非常にアプローチとして筋はよいと考えています。

Ethereum 共同創設者、Polkadot と Kusama の創設者、のGavin Wood氏もかつて「WASM はスマートコントラクトの未来です。」と話をしています。

この点は、Stake Technologies の渡辺創太氏も同様に語っており、私も同じことを感じるようになりました。
その理由「 Why WASM 」なのかを私の観点で見えたものをお伝えしたいとおもいます。

WASM のクラウドネイティブ環境への適用

これは私がITインフラ/クラウドアーキテクトをバックグラウンドにもつがゆえに注目した点です。以下のレポートの「WebAssembly Applications」セクションをご覧ください。

ここでは Web development に次いで、ServerlessContainerisationWASM の用途が多くなってきている点も今後の注目だと考えています。そしてここからさらに WASM の用途を調査すると、Kubernetes(コンテナオーケストレーション) のノードとして WASIランタイムを用いる kurustlet やサービスメッシュを実現する Istio の機能拡張 , Envoy に WASMが 用いられるといった、クラウドネイティブアーキテクチャの中にとりこまれ始めていることからも、今後 WASM を使うエンジニアの機会がより広がり多くなってくると考えています。

WASM の対応言語に ”Rust” がある点

まず、WASM は、C/C++、Go、Rust といった既存でエンジニアが多くいる開発言語に対応しております。そういう点で、既存エンジニアの取り込みというのに非常に親和性があると考えています。

私は、特にこの中の "Rust" に注目できると考えています。

まず、先のレポートから「Language」セクションをご覧ください。WASM に使われる言語として Rust が多く使われている点です。2年連続で2位を大きく引き離しています。それだけ多くのエンジニアが Rust のスキルを身に着け、WASM として実装し続けてているという事です。

更に、Rust は Linux のKernel 6.1 で導入されると、Linux の父である Linus Torvalds 氏が明言していました。

これはかなり大きな事だと思います。Rust はカーネルを実装する言語としても今後の期待がかかるという事に他なりません。となると Linux のコアな開発から、オープンソース界隈のユースケースの拡大、それは直接や間接的に WASM の繁栄および、ブロックチェーン市場へのスケールアウトに寄与してくるものだと想像しています。

いまや、企業向けのシステムもかなり多くの部分がオープンソースソフトウェア(OSS)に依存しており、気づいたら特にコアとなるアーキテクチャはOSSで敷き詰められています。それだけ大きなイノベーションを生み続けているOSSの火付け役となった Linux のコアに入る事の影響は今後大きいのではないでしょうか。

また、下記のような記事が直近に確認できました。
記事より:プログラミング言語「Rust」を本格採用するIT企業が増えている。

このように、フロントエンド開発面だけでなく、WASM は様々な面で 利用されるものとして注目され、エンジニアの需要も含め今後も発展していくものであると、私も期待ができると思いました。

おわりに

いかがでしょうか、Astar Network 魅力の「"Engineer"の活躍の場が広がる"Platform"構想 (Multi Virtual Machine)」について書き連ねてみました。

Astar Network がスマートコントラクトの実行環境として EVM だけでなく、WASM をサポートするという方向性について、少しばかり解像度を上げていただくことはできたのではないかと思っております。

WASM 自体もまだ歴史は浅いものでありますので、これからの期待というのも大きいのかとおもいますが、逆その未来も同時に感じながら、Astar Network というブロックチェーンに採用していくというのはチャレンジでもあり個人的にもワクワクするビジョンだと感じています。

さらに、EVM と WASM において、「XVM(Cross-Virtual Machine)」というアイディアに取り組んでいます。これは、WASM と EVM スマートコントラクト間の相互作用を可能にします。このあたりも今後お伝えできればと思います。

最後までお読みいただきありがとうございました。

参考


この記事が気に入ったらサポートをしてみませんか?