見出し画像

Web3.0、分散化技術について話しました@GameDevelopersMeetingの要約記事

はじめに

先日、GameDevelopersMeetingにて、Web3.0や分散化技術についてお話をしました。130名以上の方に参加登録をいただき、あらためてWeb3.0領域についての注目の高さがあるんだなと実感しました。ちょうど登壇中は、ベイスターズの開幕戦がおこなわれていて、ながら見推奨でしたので(笑)、今回の記事では、登壇その中身について要約したいと思います。

カンファレンスの中身は大きく2部で、前半はWeb3.0について、後半がそのテクノロジーについてお話ししました。前半については、この記事をご覧ください。https://note.com/oggata/n/n9d81f0f164a2

この記事では、後半のテクノロジー部分について要約したいと思います。

テクノロジースタック

Web3.0のテクノロジースタック全体についてはこのような形でまとめてみました。ブロックチェーンという基盤を選ぶだけでは、アプリケーションをつくるには不十分で、様々なテクノロジースタックを組み合わせることではじめて、アプリケーションをつくることができるということをご説明しました。一つずつ、上から順番にご説明させていただきました。

BLOCKCHAIN

既存のWeb2.0技術にくらべると、BackEndの仕組みがブロックチェーンに置き換わります。これまで、GoやRuby、Perlなどで書いていたソースコードはブロックチェーンの世界ではSolidityなどのスマートコントラクト言語に置き換わります。コードを実行していた環境は、Ethereumの場合にはEVMに置き換わります。現在JavaScriptで動いているEVMはWASMへの置き換えが進められており、新しいブロックチェーンでは既にWASMによって動いているものもあります。今回はGDMというゲームのDeveloper対象であったため、ゲームの事例もご紹介するために、WASMで動かされているDoom3の事例を掲載しました。この事例によって、いかにWASMがネイティブと近い速度での実行が期待されていることがわかるかと思います。
http://www.continuation-labs.com/projects/d3wasm/

SDK/DEVELOPERTOOL

SDKはブロックチェーンネットワークとフロントを接続するために非常に重要です。htmlの中にweb3.jsを読み込むことで、htmlからコントラクトを扱うことができるようになります。他にもUnityなどからコントラクトを操作するようなことも可能です。web3.jsなどのような非常にベーシックなものから、最近ではalchemyなどのように様々な機能を提供するAPIツールのようなものも登場しており、ブロックチェーンによる開発がどんどん便利になっていることがあります。ただ、例えばNFTをつくるというような一般的な方法であれば良いのですが、NFTの中に独自関数を持って、ゲームともっと密に連動したいというようなユースケースにおいては、まだまだ既存ツールだけでは対応できないケースもあり、そういった場合は、Web3.jsでの事例のように自身でコントラクトを読み出すような仕組みを構築することが必要な部分もありますので、ユースケースによって様々な手法をとれることが重要であると思います。

NODE PROVIDER

Nodeは、個人で動かすこともできますが、フルノードのサーバーを管理するのは面倒なので、node providerを用いるのが一般的です。

IDENTITY

これまでのemail / passwordにおけるログインは、ブロックチェーンアプリケーションではaddressに置き換わります。addressを管理するためにWalletが必要となります。多くのケースでは秘密鍵をユーザー自身が管理する必要があります。

FILE STORAGE

ブロックチェーン上にファイルサイズの大きなものを載せることはできないため、分散化されたファイルストレージを利用します。ここについては、弊社の過去ブログにIPFSについて書いたものなどを引用しながらご説明しました。

INDEXING

ブロックチェーンの仕組みではWhere句での検索などが弱点となっています。過去にはMongoDBやElasticSearchのようなものを外側に噛ませて動かしている事例もありましたが、スマートコントラクトの仕組みを用いてindex構造を作ることができます。

SCALING SOLUTION

EthereumのGasPriceが高額になっていることから、Layer2 solutionを用いるケースが増えています。サイドチェーンという言葉もありますが、同じネットワーク上にあるものをLayer2、全く異なるコンセンサスによって動いているものをサイドチェーンというように区別します。

ORACLE NETWORK

正しいデータをブロックチェーン上に載せることは非常に重要です。たとえば、デリバティブの仕組みのように株価や天候などのデータをもとに報酬を分配する仕組みにおいて、正確に株価や天候などのデータがブロックチェーン上に乗せられない場合、報酬を正確に分配することはできません。オフチェーンからオンチェーンに移行する際に、不正が行われないことを担保するためにオラクルネットワークがあります。

INTEROPERABILITY

第一世代ではBitcoinやEthereumによるPublicネットワークが躍進しましたが、様々なユースケースで用いるために、第二世代ではPrivateChainが用いられました。第三世代では、複数の用途のチェーンが繋がり合う仕組みが開発されようとしています。


Conclusion

コンテンツの分散化によって、コンテンツは、パーミッションレスな新たなプラットフォームになる可能性があります。コンテンツは様々なアプリケーションやマーケットを通じてユーザーとのタッチポイントを作ります。ユーザーは普段使いの使い慣れたアプリケーションを通じてコンテンツを使うことができるため、双方において大きなメリットがあります。




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