暗号通貨

エンジニア必見、スマートコントラクト(Ethereum)の理解に役立つサイト

  • このエントリーをはてなブックマークに追加

Ethereumでゲームアプリが流行中

現在、スマートコントラクトの機能を使ったゲーム開発が盛んに行われています。

一例をあげるとCryptokitties
Etheremonといったゲームがあります。

CryptoKitties   Collect and breed digital cats

CryptKittiesのゲーム内容は猫を交配させて新しい猫を生み出し収集するゲームです。

これだけだと、黎明期のゲームと大して変わりませんがスマートコントラクト上で作ることによって次のような特徴が生まれます。

CryptKittiesの主な特徴

  • 手に入れた猫はイーサリアム上に保存されるので売買可能

  • ゲームデータが公開されているので、そのデータを誰でも利用可能
    →CryptKittiesの猫同士を戦わせるゲームをサードパーティが開発可能

スマートコントラクトを学ぶためにはゲーム開発がオススメ

スマートコントラクトで書かれたゲームとはどんなものかと気になり色々と調べてみました。
遊ぶというよりはどうやって出来ているかの仕組みについて興味を持ったので本記事では開発の部分に焦点をあてています。

また、ソースコードなどを読んでみるとスマートコントラクトの理想と現実のギャップに気付かされ、スマートコントラクトの現状把握をする上でとても参考になります。

CryptKittiesはどのように出来ているのか?

How to Code Your Own CryptoKitties-Style Game on Ethereum

この記事ではCryptKittiesのソースコードの中から肝となる部分を抜き出して解説してあります。

スマートコントラクト上でゲームがどのように動いているかをおおまかに把握できるのでおすすめの記事です。また、スマートコントラクト上で管理者をどのように定義されているかなども参考になります。

チュートリアルCryptZombies

次に私が見たのは下記のチュートリアルです。

CryptoZombies – Learn to code games on Ethereum. Powered by Loom Network

ここではCryptoZombiesというゲームを作りながらスマートコントラクトを使ったゲーム開発について学ぶことができます。

初歩的なところから解説されていてとても参考になるチュートリアルです。

これらのサイトを読んだ私の感想

最後にこれらの記事を踏まえた上でのスマートコントラクトに対する私の感想をまとめます。
まず、感じた問題点が次の通りです。

スマートコントラクトの問題点

  • ゲームのような高度なアプリはスマートコントラクト上で再現することが困難
  • 結局、アプリの管理者が必要になり非中央政権とは言えない

この2つに関しては本質的な問題なので解決できないだろうと私は考えています。

高度なアプリはスマートコントラクト上で再現することが困難

これは、スマートコントラクト上では予測不可能な乱数を生成できないことが問題です。

つまり、スマートコントラクト上で暗号などの高度なアルゴリズムは再現できません。また、ゲームアプリの場合はガチャにあたるものをスマートコントラクト上では再現できません。

つまり、ガチャのような要素があるアプリを作りたい場合、その部分をサーバー上で作る必要性があります。

アプリの管理者が必要になり非中央政権とは言えない

CryptKittiesの管理者はソースコード中、CEO, COO, CFOといった機能を持った人の事です。
この人たちが管理している以上、この人たちによってデータの改ざんが起こすことが可能です。また、管理人の秘密鍵が漏洩した場合、データが改ざんし放題なので結局、スマートコントラクトのメリットをあまり感じなくなりました。

  • このエントリーをはてなブックマークに追加