最近考えている事 Vol.1

Ethereumを使ってゲームを開発しようとする

CryptoZombiesから勉強を始め、
・ブロックチェーン 仕組みと理論 サンプルで学ぶFinTechのコア技術
・ブロックチェーンアプリケーション開発の教科書
と読み進めた私は「ビバ・ブロックチェーン!」と意気込んで
お遊びでチンチロゲームを開発し始めた。
(後少しで完成なので、完成したら共有します!)

アカウント管理、チンチロゲームのロジック、勝率、TIPの分配…
全てをEthereumに詰め込んだ私は気づく。
「あれ、、、なんか色々、、、まずい」

①乱数の難しさ

チンチロをする上で重要な乱数生成。
通常、OSに搭載された安全な?暗号器?的な物からポイッっと出てくる。
乱数で重要なのは、「乱数を生成するためのシード値を何にするか」
さて、Ethereumのオンチェーンで何でも出来ると意気込んていた私。
「ちょっと待て、シード値何にすればいいんだ???」

案1 ブロック高・・・
→マイナーによって左右されてしまう。公正と謳う賭場のやる事か!!

案2 ブロックの時間・・・
→案1と同じ

案3 参加者から募れば・・・
→参加者が結託したら。公正と謳うry

案4 randaoを使う・・・採用!(けど、めんどい)
→ゲームに参加する側とシード値を渡す側に分かれる
 シード値を渡してくれた人たちにチップをあげる
 フロー見る感じ、1回の勝負に結構時間かかりそう。
 1日1回の宝くじとかなら適しているかも・・・チンチロじゃなあい!!

②テンポの悪さ

乱数の問題はさておき(置くな)、並行して作成していくことに。
しかし、またここで問題が…
1.トランザクション(いくらかけるかとか)をコントラクトに投げる
2.コントラクト内で計算する
3.結果に応じて、TIPを配布する
これを実装したとして、よーいドン!でスタートしてから結果がわかるまで
長い!!ポンッ!と勝敗決まって欲しい。ポンッ!と
そこで、出たのがPlasma(Ethereumをメインチェーンとしてサブチェーン)を構築する方法…がこれも学習コストが高く、すぐに実装できそうにない…

もぅマヂ無理。 Ethereumとゎかれた。 ちょぉ大好きだったのに
実行時間のことゎもぅどぉでもぃぃんだって。
どぉせゥチゎ遊ばれてたってコト…

アッ

ゲームの部分はRails(サーバーサイド)で良くね??

つまりは、「ゲームのロジック部分をサーバサイドで行い、TIPの所有権をERC20で実装する」ということ。

Ethereumのwhite paperには公正な賭場ってユースケースとして
書いてあったのに何たることだ!!

そして、最終的に
フロント(HTML/CSS, jquery)*次は便利な奴(フレームワーク)を。。。
サーバ(Rails)
DB(Ethereum)
という構造に。

やろうと思えば、100%ブロックチェーンの素敵な?システムもできるが
トランザクションの承認時間の問題やユーザへの手数料が発生してしまう。
だからといって、サーバ側で全トランザクションを投げるとユーザのデータは結局サーバ側で管理しているということになる。

ブロックチェーン要る・・・??

ブロックチェーンが真価を発揮するのは?

以前、社長室インターン時代にIoTの技術調査をしていて・・・

スマートホーム:冷蔵庫にAIすんげぇ、家電同士がメッシュネットワーク!?
→で、誰が使うの?暮らしの何が良くなるの?

5G:携帯で4K映像が観れる!?
→で、誰が観んの?価格は?

幾ら技術が凄くても、人が快く利用できなければ何も意味がない。
SNSやGoogleで膨大な情報に簡単にアクセスできる世界で

「未来のために動いている人を評価し、
 出会った事のある人から信頼の証を貰っている人」

ある分野で信頼におけるのは誰なのか?
どんな人と出会って、誰から信頼されているのか?

この””出会い””と””信頼された””をブロックチェーンに刻むことで
信頼されたる個人の信頼度を構築しようとしているのがbajji。

ただ、bajjiもブロックチェーンへの書き込みをユーザが実施していない。
そこに公平性はあるのか?
bajjiのサービスで見える情報が信頼できるのか?
本当にブロックチェーンがベストプラクティスなのか?
社会に信頼されるデータを提供していると認識されるためには?

常に考えないと私のチンチロみたいになっちゃう。ならないか。

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