サイトアイコン Tech Inside Drecom

DApps の壁を超えて利用可能なトークンを自由に生成できるスマートコントラクト |||||| (6 pillars) を公開しました

どうも、DRIP エンジニアの小川です。
DRIP は Drecom Invention Project の略称で、ドリコムが発明を生み続けるためのプロジェクトです。
今年は AR とブロックチェーンをメイン領域として活動しています。

そんな DRIP からブロックチェーン関連サービスの1つとして |||||| (6 pillars) を公開しました。
公開同日に blockchain.tokyo #12 を弊社カフェスペースにて開催し、 LoveChain と |||||| (6 pillars) について話しました。
資料は SlideShare にアップしてあります。

そもそも「DApps って何?」という方も多いかと思います。
今回はそのあたりの補足も含め |||||| (6 pillars) がどんなものなのかを、もう少し深掘りして説明していこうと思います。

|||||| (6 pillars) とは?

DApps をまたいで利用可能なトークンを、誰でも生成できる ERC721 拡張スマートコントラクトです。
|||||| (6 pillars) を使うと「どんな DApps でも発行可能で、対応している DApps であればどこでも使えるトークン」が利用できます。
似た機能を持ったトークンを使おうと思っている DApps 開発者にとってはスマートコントラクト開発の負担が減り、対応した DApps でトークンを発行したユーザーにとっては所有するトークンが色んな DApps で使えるようになるので楽しみが増えます。

ERC721 とは?

ERC721 は「代替不可能でユニークなトークンを生成するスマートコントラクト」の仕様で、必要なインターフェイスの定義をまとめたものです。
ここで定義されているインターフェイスを全て実装したスマートコントラクトは「ERC721 準拠のスマートコントラクト」となります。

ERC721 準拠のスマートコントラクトがあれば DApps が作れる?

「ERC721 準拠のスマートコントラクト」を使用した有名な DApps として、仮想猫の売買や交配ができる CryptoKitties があります。
仮想猫を1つのトークンとし、トークンは遺伝子を持っていて、遺伝子によって仮想猫の外見が決定します。
「ERC721 準拠のスマートコントラクト」を使えば CryptoKitties のような DApps が作れる!かと言われると答えは No です。
実は ERC721 では、以下の機能が仕様として定義されていません。

トークンの発行

どういった定義で発行すれば良いかは決まっていません。
CryptoKitties の場合は交配ロジックと密接に関係しているため、ユーザーが自由に発行できないように設計されています。

トークンの持つ固有情報

CryptoKitties の場合は遺伝子と呼ばれるデータを持っています。

CryptoKitties では上記のように独自定義する事で、サービス上で扱いやすいトークンを実現しています。
つまり自分たちで DApps を作る場合、要件に沿って足りない定義を決め、実装する必要があります。

|||||| (6 pillars) の行った ERC721 拡張

色々なところを拡張したのですが、重要なのは以下の3点です。

その結果、どんな DApps でも発行可能で、対応している DApps であればどこでも使えるトークンが生成できるようになりました。

|||||| (6 pillars) を使うと何ができる?

|||||| (6 pillars) を使うと、Ethereum ブロックチェーン上にトークンを生成することができます。

ブロックチェーン上にトークンを生成するメリットは?

とあるゲームがサービス終了となった場合、

が無くなります。
ブロックチェーンに「どのユーザーが何を所有していたか」という情報を記録しておけば、サービスが無くなっても自分はこのキャラクターやアバターを持っている(いた)よ、という証明ができます。

使用例

(1) こっちでは弱いけど、あっちでは強い

強い武器を装備してコロシアム制覇を目指す DApps と、モンスターを生成して最も強いブリーダーを目指す DApps があるとします。
「コロシアムの方で装備を作ったら『普通の短剣』でガッカリしたが、そのトークンをモンスターの方でも使えるようにしたらドラゴンになった」というような体験の提供が可能です。

(2) 別の DApps で作られたトークンをアドオンできる

ボクサーをスカウトして育成し世界一のジム経営を目指す DApps があるとします。
ボクサーは他の DApps で作られたトークンを1つ装備でき、inscription によって効果が変わります。
「あるトークンを装備するとパンチが少し重くなったり、別のトークンを装備したらフットワークが軽くなる、スタミナが増える」というような体験の提供が可能です。

(3) トークンを持っているだけで毎月投票権がもらえる

ユーザー全体で1つの国を作り上げていく DApps があるとします。
毎週議題が上がり、トークンの所有数によって毎回得られる投票数が変わります。
「たくさんトークンを持っていればいるほど、国に対する影響力を強められる」というような体験の提供が可能です。

(4) コンテンツ作者としての証明が残る

自分の著作物について「この時に私が作りました」と証明できる DApps があるとします。
ユーザーが自身で直接トークンを生成し、そのトークンを売買することで著作物の所有権そのものを売買できる仕組みになっています。
「売るたび所有権は移り変わっていくが、トークンの発行元は最初に作った人のアドレスになっているので、誰の著作物かを証明できる」というような体験の提供が可能です。

(5) 特定の発行元トークンを制御できる

「特定の DApps が生成するトークンの inscription が自身の作る DApps で都合が悪いものばかりだった場合、そこが発行するトークンの効果を少し下方修正する」というように、発行元を絡めてトークンの振る舞いを決める事ができます。
逆に、「自身が作った他の DApps のトークンだったらプラスアルファで良い事がある」みたいな体験の提供も可能です。

|||||| (6 pillars) を使わなくてもできる?

「ERC721 準拠のスマートコントラクト」を使った DApps は CryptoKitties をはじめ色々と存在します。
なのでそのコントラクト達にアクセスして、ユーザーが所有しているトークンの情報を取ってくれば可能です。
しかし |||||| (6 pillars) と比べて

※ スマートコントラクトを Ethereum にデプロイすると、そのコントラクトにアドレスが付与され、そのアドレス上で動作し続けます。
※ この時与えられるアドレスを「コントラクトアドレス」と呼んでいます。

という煩わしさが残ります。
|||||| (6 pillars) を使って、自身以外の場所から発行されたトークンをどう扱うかを決めておけば、開発者は対応 DApps が増えるたび実装する必要がなくなります。
端的に言えば、DApps におけるスマートコントラクト開発を楽にしてくれます。

|||||| (6 pillars) のロードマップは?

|||||| (6 pillars) は今後、自身を DApps に採用してもらえるよう活動していく予定です。
|||||| (6 pillars) を使った DApps や、ハッカソンを企画中です!
不明点やフィードバックなど、いつでもどしどし募集しておりますので、公式ページのお問い合わせフォームをご利用ください。

さいごに

ブロックチェーンを用いた DApps は、未だ色々な課題を抱えています。
その中で |||||| (6 pillars) が課題としたのは「トークンを所持する事によるユーザーメリット」です。
どうすればユーザーメリットを拡張して新しい体験を与える事ができるか?という疑問から、トークンの価値が1つの場所だけで決まらない、かつユーザーが自由にトークンを作れる、というスマートコントラクトが生まれました。
DApps 市場はまだまだポテンシャルがあります。
DRIP では |||||| (6 pillars) を利用したサービスや、DApps の課題を解決するスマートコントラクトなど、ブロックチェーン領域での価値創造を目指します!

モバイルバージョンを終了