Decentralandとは
Decentralandとは、VR x Ethereumブロックチェーン技術を活用した、非中央集権型メタバース(仮想世界)を構築するためのプラットフォームです。
ユーザーはLAND(土地)と呼ばれる仮想空間内で自由に建物を建てたり、ショップを開いたり、マルチプレイゲームを楽しんだりすることが可能になります。決済はMANAという通貨(トークン)を使って行われ、そのやり取りはすべてEthereumブロックチェーン上に記録されるため、基本的に管理者不在で仮想世界が運用されていくことになります。
去年行われたICOでは2,400万ドルの資金をわずか35秒で調達し、ICOの資金調達記録を塗り替えたという記事もあり、現在非常に注目されているプロジェクトです。
公式サイト
https://decentraland.org/
この記事で書いていくこと
この記事では主に開発者視点からDecentralandを覗いていきたいと思います。
Decentraland SDKを使ってLAND(土地)上に実際にコンテンツを作っていく過程を記事にし、最終的には自分の作ったゲームをデプロイするところまで書いていければと思います。
※ Decentraland SDKは2018.9現在、まだアルファ版のため今後APIが変更されることはありそうです。その場合はできる限り記事を更新していくつもりではおります。
アーキテクチャ
コンテンツの開発に入る前にざっと全体のアーキテクチャを把握しておきたいと思います。
まず前提として、DecentralandはWebの技術を使って実装されています。
例えばVR空間の実装はWebVRで行なっていくため、Javascriptの知識が必要です。(実際にはTypescriptを使うのですが)
また、マルチプレイ用のリアルタイム通信部分(P2P)ではwebRTCが利用されています。
以下の図を見てください(ちょっと見辛いですが)。これはwhitepaperから抜粋しています。
この図から分かるように、Decentralandは3つのレイヤーから構成されています。
1.Consensus layer
スマートコントラクトによってEthereumネットワークと接続するレイヤーです。商品の売買や、ゲーム内報酬の付与等でMANAトークンのやり取りが発生する際はこのレイヤーで行われます。また、(x、y)座標におけるLANDの所有権の参照もここで行われます。
2.Content Distribution Layer
コンテンツおよびアセットファイルを配信するレイヤーです。必要になる3Dデータ(メッシュ・テクスチャ)に加え、楽曲データなども含まれます。配信にはIPFS(P2Pのハイパーメディア分散プロトコル)を利用します。
3.Real-Time Layer
ユーザーがP2P通信によってやり取りを行うレイヤーです。(中央サーバが存在しないため)
P2P接続の際はSTUNなどの仲介サーバが必要になりますが、これはLAND所有者か第三者が用意する必要がありそうです。
以上がざっくりとした概要です。
次の記事から実際にSDKを導入し、コンテンツを作って行こうと思いますので、上記レイヤー部分についての具体的な実装についてはその都度触れていきます。
その2へ続く..
余談1: 土地の購入について
LAND(土地)の購入は下記リンクから行えます。
購入にはMANAトークンが必要なので、購入したい方はまずはMANAをゲットしてください。(Binanceで購入できるようです)
マーケットプレイス
https://market.decentraland.org/
LANDはパーセルという区画単位で売られており、人気エリアにいくほど高くなっています。いま一番安い土地でも10,100MANA = 686USDなので約7万円しますね。とても高価なので私もまだ買えてません。将来的には土地のレンタルなどもやってくれると嬉しいのですが。。ちなみにLANDがなくても開発自体はできますのでご安心ください。
余談2: Discordへの参加について
Decentralandに興味を持たれたら、Discordチャンネルがありますのでそちらへジョインしてみるといいかもしれません。毎日活発に意見交換が行われています。日本人の方がまだまだ少ないので是非。
Decentraland Discord
https://discordapp.com/invite/9EcuFgC