English
Connect
ニュース・記事

【インタビュー技術編 モバイルファクトリー 秦氏、吉田氏】Uniqys Kitを使ってdApps開発は

【インタビュー技術編 モバイルファクトリー 秦氏、吉田氏】Uniqys Kitを使ってdApps開発は
更新日

前回、Uniqys Projectの今後についてを伺いました。
編集長の木村が、Uniqys Kitについて、技術的な部分を中心に話を伺いました。
本記事は少し専門的な内容のインタビュー記事になっています。

Tendermint(テンダーミント)を参考にした理由は?

木村 : Uniqys Kitのベースとなるブロックチェーンの技術は、Tendermint(※1)を参考にされていると言うことですが。

秦氏 : アルゴリズム的にはベースにしています。

木村 : Uniqys Kitを開発する上で参考にされたプロジェクトやソフトウェアはありますか?

秦氏 : 何か特定のソフトウェアを参考にしたということはないんですけど、
イーサリアムのソースコードはまず読みました。
あとは、Tendermintのソースコードを読んだりしています。
その辺ですかね。

Tendermintを参考にした理由は、PBFTベース(※3)にしようという。
トランザクションが早くなってほしいという欲求があったので、PBFTや、アルゴリズムがいろいろあるんですけど、その中で一番良かったのでTendermintにしました。

木村 : PBFTについて説明をお願いします。

秦氏 : Practical Byzantine Fault Tolelance。いわゆるプライベートチェーンやコンソーシアムチェーンでよくつかわれているコンセンサスアルゴリズムですね。


木村 : Uniqys Kitではいくつかコンセンサスアルゴリズム(※4)が選べるのですか?

秦氏 : コンセンサスは今のところTendermintベースなんですけど、ブロックチェーンのルール自体が選択できるようになっています。
Uniqys Kit自体の思想・設計は、サイドチェーンの形で、アプリケーションごとのブロックチェーンというアーキテクチャを使っているので。

アプリケーションごとのブロックチェーンとは何かというと、アプリケーションのロジックがルールのブロックチェーンということになるので、その部分をデヴェロッパーが書くことができるように作られています。

そのあたりはLoomNetworkやCosmos(※5)が近いですね。

※1 オープンソースで提供されている、ブロックチェーンを用いたアプリケーションが容易に開発できるプラットフォーム。
https://tendermint.com/
※2 LoomNetwork ゲームなどのDAppsプラットフォーム。トランザクション詰まりの問題を独自のサイドチェーンを用いて解決を目剤している。
https://loomx.io/
※3 Practical Byzantine Fault Tolelance 「実際的ビザンチン・フォールト・トレランス」とはビザンチン将軍問題に対して耐性がある事を意味している。 ビザンチン将軍問題についてはWikiPadiaを参照してほしい。
https://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B6%E3%83%B3%E3%83%81%E3%83%B3%E5%B0%86%E8%BB%8D%E5%95%8F%E9%A1%8C

※4 コンセンサスアルゴリズム。分散されたシステムで、合意を形成する方法。
※5 Cosmos Tendermintを基盤に仮想通貨の自動相互取引を可能にするプロジェクト。https://cosmos.network/

Chain Coreの役割

秦氏 : ChainCoreはブロックチェーンのコアの部分のロジックをもっているもので、P2Pネットワークを作って、ブロックを同期して、コンセンサスを取る事をしています。

逆にChain Coreに無い部分は「ルール」です。
トランザクションをどう解釈してどう実行するかとか、実行結果を最終的にはハッシュの形でブロックに詰めるんですけど、
その実行結果のハッシュが何を表しているかと言う事は外部にあって、
それ以外をChain Coreでやっています。

秦氏 : イーサリアムだとEVM、VMを動かしているじゃないですか。
それがルールであって、あの部分が無いスポッと抜けていて、そこを拡張可能にしています。
それ以外のブロックチェーンで必要な部分を提供しているのがChain Core(※6)です。

利用する事でのメリットはブロックチェーンを一から作るのは大変なので、本当にアプリケーションに必要な部分を書くだけで、ブロックチェーンアプリケーションを作れるということが最大のメリットです。

とはいえ、内部的にはnodejsで動いているんですが、そこのインターフェースになっていて、ロジックをJSで書くことができるんですけど、あまりにも自由度が高い状態なんです。

そこで、その上にEasy Framework(※7)を作っています。
これは、今までのウェブアプリの概念を抽象化してブロックチェーンの間をつないでくれる仕組みなんですが、
Easy Frameworkを使う事で、自由度を減らす分、書きやすい状態を提供しています。

Chain Core、Easy Framework、その上にアプリのロジックと言う形ですね。

大沼 : こんな技術寄りで大丈夫ですか?(笑)

木村 : 技術寄りの記事にします(笑)

※6 Chain Core
 モバイルファクトリーが開発したDAppsごとのサイドチェーンを構築するための、ブロックチェーンインフラを提供するシステム。ブロックチェーンをあまり意識しないでブロックチェーンを利用したアプリケーションの開発が行える。

※7 Easy Framework
Chain Coreを用いたDAppsの開発を簡単にするフレームワークです。
ブロックチェーンを意識せずにWEBアプリケーション開発と同様の感覚での開発を可能にする。

Memcachedプロトコルを利用する理由

木村 : Uniqys Kitのドキュメントで気になったところですが、トランザクションを実行する際に、Memcached(※9)のプロトコルを使う理由を教えて下さい。

秦氏 : まずChain Core的には、トランザクションは何かというのは内部的には気にしていなくて、トランザクションをひっくるめたブロックをネットワーク内で合意を取ることと、トランザクションを実行して実行結果をブロックに書き込むというのがChain Coreがやっていることですね。

Easy Frameworkをその上に載せた状態だと何ができるかと言うと、フロントからHTTPリクエストを投げると、
投げる時に署名をつけて、それがトランザクションになっていて、Easy Frameworkがまずそれを受け取って、内部的なトランザクションの形に固めてブロックに詰めます。

後はChain Coreが同期を取り、コンセンサスが取れた後に、トランザクションを実行するんですが、実行するところは外にあり、実行する時にさらにHTTPリクエストに戻して、アプリのロジックがかかれたウェブサーバーに投げて、その中でリクエストを処理するという流れになっています。

アプリのWebサーバーは通常のウェブアプリのようにバックエンドを持っていて、そこが今だとMemcachedのプロトコルを話せるようなエンドポイントになっていて、最終的にMemcachedで話した内容がマークル木(※10)になって、ブロックに書き込まれるというそういう感じです。

デヴェロッパーは完全にMemcachedを使ってウェブアプリを作るようなコードを書けば十分で。
あとはそれをブロックチェーンにしてくれるのがUniqys Kitです。

木村 : Memcachedをインターフェースに採用した理由はなんでしょうか?

秦氏 : 最終的な理想としては、今はブロックチェーンに興味がある人が参入している状態ですけど、どちらかと言うと、普通にアプリを作っている人たちが参入しやすい状態をつくりたいなと思っています。
なので、既存の技術に寄せて作りやすい状態にしているというのが大きいです。

※9 Memcached
  汎用の分散型メモリキャッシュシステム。
※10 マークル木
ファイルのような大きなデータを要約した結果を格納する。計算回数が非常に少なる特徴がある。

スマートコントラクトとの連携

木村 : 素人的な質問になりますが、dAppsだと、solidity(※11)で書いたコントラクトをオンチェーンで実行しますが、Uniqys Kitではスマートコントラクトと連携する機能はありますか?

秦氏 : それで言うと、Uniqys Kitだけで考えるとそういう部分は存在していません。
ビットコインも送金しかできないアプリケーションで、ビットコインにスマートコントラクトってないですよね。
それと一緒でUniqys Kitは色んなアプリを作れます。
その中でスマートコントラクトを実現することもできるんですけど、デフォルトで何かすると言う事ではないです。

木村 : Uniqys Kit上で作られたdAppsで、ERC互換のトークンを作った場合、オンチェーンにトランザクションを書き込めるのでしょうか?

秦氏 : まだ実装されていないんですが、最終的にサイドチェーンの形でイーサリアムと連携を考えていまして、今考えているのはPlasma(※12)的な仕組みです。

例えばゲームだったら、剣を使って買うのはイーサリアムを使うけど、剣を使って戦うのはこっちのチェーンでやって、アイテムを手に入れたらイーサリアムへもっていくというのを考えています。

秦氏 : その時に手数料の話で、メインネットに書き込むときは手数料がかかる部分はどうしようもないですが、
ユーザーには結局、問題はお金がかかることなのか、Ethereumを手に入れる事なのかを考えていて。
場合によっては、UX的には中央集権にしたほうが良いと思っています。

プロキシ的なペグの仕組みを弊社で提供してあげて、その利用料を日本円なりで支払ってもらって、取引しますよと言う感じにすると、
手数料分の仮想通貨を手に入れることなく、イーサリアムと連携をすることができると考えています。


木村 : 今そういう仕組みで近いプロダクトはありますか?

秦氏 : 確かLoomNetworkがそういう仕組みですね。

Uniqys Kitのプロジェクがトスタートした段階ではLoomNetworkは情報を出していなくて、やっていったら情報が出てきて、LoomNetworkと同じこと考えているというのはありますね。

今の段階で技術的な差別化はあまりできていないとは思うんですが、LoomNetworkはSDKをオープンソースで出していなくて、中身の検証ができないという問題があります。
なので今回オープンソースにしたのはそことの差別化と言うのもありますね。

※11 solidity solidityはコンパイル後、イーサリアム上でコントラクトコードを実行可能なプログラム言語。
https://book.ethereum-jp.net/solidity/

※12 Plasma イーサリアムのスケーラビリティを解決する為の技術。
https://github.com/shogochiai/plasma-whitepaper-jp

セキュリティは?

木村 : セキュリティ対策の取り組みについはいかがですか?

通信のところで言うと、ローカルの話なんですね。
ブロックチェーンの各ノードでWEBサーバー的に動いているので、その部分のセキュリティは問題ないと思っています。

一方でサイドチェーンと言うか、アプリケーションごとのブロックチェーンを作るのはセキュリティ的にはあまりよくはなくて、
ブロックチェーンは結局参加者の数でセキュリティが決まるので、アプリごとでブロックチェーンが別れるという事は、それだけ参加者が減るので、何か不正をする時のハードルが下がります。
セキュリティはメインチェーンよりは下がります。

ただ、最終的にメインに持ってくる時に不正がされていなければ、基本的にはユーザー資産を害する事はないであろうというのと、
もう一つは、中央集権的な考え方ですが、仕組み的にValidatorをPBFTベースのコンセンサスベースでは、ある人がこのブロックチェーンのValidateをすると言うのが決まっていて。
リリース初期の段階では、誰も監視をしてくれる人がいない状態になるので、あえてDeveloperがハンドルすることで、誰かが不正をするということを避けれるようにしようとしています。

Validatorが限られているという所で言うとEOSもそうですし、LoomNetworkもそうですし。
いわゆるPoWじゃない、スケーラビリティがあると主張しているプロジェクトはだいたいそうです。

アプリごとにトレードオフとして、スケーラビリティとセキュリティのトレードオフを取っているという感じですね。

Uniqys Kitでどれだけ処理できるか

木村 : 秒間あたりのトランザクション処理数はどのくらいですか?

秦氏 : 本当は測定しないといけないんですけど、まだできていません。
実験の環境をどうするかというのが難しいなと思っていて、ローカルでやっていれば当然早いですし、AWSでやるにしてもリージョンをどうするのか、Validatorを何人にするのか、その辺のパラメーターがたくさんあって。
「TPSがいくら出ます」と言う数字を出しているプロジェクトはありますが、簡単に比較できると言う感じではないですね。

エンジニアとして、夢を語るのは必要ですが、正しいことを言いたいじゃないですか。

どういう環境でどういう事をやった結果、こういうスループットが出ましたと言うのはちゃんと示したいと思っています。

Uniqys Kitはこれからブロックチェーンを触る人でも触りやすい?

木村 : DAppsを初めて作るという方への入門として、Uniqys Kitは入りやすいですか?

吉田氏 : それはもう、Uniqys Kitはガス代を一切気にしなくていいので。
まあCryptOsushi(※13)はUniqys Kitで動いていますけど、Osushiを大量に連打して作るという事もできちゃうくらい早いので。
それにUniqys Kitの場合は、ウェブアプリの要領で既存の言語で書けるので、solidityで書くよりはハードルは低いと思っています。


秦氏 : Uniqys Kitを使う事だけで言うと、ブロックチェーンの知識は要らなくて、ハードルがほとんどない状態です。

solidityのキャッチアップで言うと、今は結構情報が整っているので、試してみる事が一番参入しやすいと思います。

一方で、コンセンサスアルゴリズムなどは日本語の情報がまだほとんどなくて、英語の情報も少なく、ソースコードを読まなければわからないというのもあるので、その辺のキャッチアップのハードルは全然違うなと思っています。

Uniqys Kitのソースコードは読みやすいので、ブロックチェーンの技術そのものに興味があって自分でブロックチェーンを作ってみたいと思っている人がいるならば、ぜひソースコードを読んでみて使ってみて欲しいというのがあります。
イーサリアムよりは規模も小さくすっきり書いてあるので読みやすいと思います。


※13 Uniqys Kitで作られたサンプルアプリケーション。
チュートリアルがmediumで公開されており、ソースコードはGitHubで公開されている。
https://cryptosushi.samples.uniqys.net/

最後に今後の展望は?

秦氏 : 来年イーサリアムとの連携が急務だと思っています。ここは2019年度中にVer1として対応していきます。
その後の話でいうと、クライアントからDAppsを見つける仕組み、DNS的な仕組みの部分、スマートコントラクトのアップデート方法についても対応を検討しています。
スマートコントラクトのアップデートの方法については、みんなで合意を取りながら、プロトコルの中で合意を取りながらアップデートできる仕組みを準備してく予定です。
また、ハッカソンなどでデベロッパーにUniqys Kitを使ってもらうイベントを開催しながら、フィードバックを取り入れていくことも考えています。
ゲームデベロッパーさんが容易にアプリケーションを出せる環境を早く作っていきます。



まとめ

専門的な話が多くなってしまいましたが、Uniqys KitでDAppsゲームの開発が簡単に作れる事が少しでも伝わったかと思います。更に詳しい解説はUniqys Kit
のMediumで公開されているので、興味がある方はそちらを参照すると良いと思います。
国産のDAppsゲーム向けプラットフォームとして来年のUniqys Kit正式版公開が大変楽しみなプロダクトです。

この記事が良かったら
いいねしよう

毎日情報を更新しています。

この記事が良かったら
いいねしよう

毎日情報を更新しています。

著者について

ブロックチェーンゲームインフォ

ブロックチェーンゲームについてのイベント情報・ゲーム攻略情報を紹介しています。

新着ブロックチェーンゲーム

オススメの記事ブロックチェーンゲームインフォ(NFTゲーム)注目記事

日本語で遊べるブロックチェーンゲームおすすめランキング
  • ゲーム攻略/紹介
  • 2023-01-23
  • 【無課金でクリスぺ攻略】クリプトスペルズは無課金で稼げるのか
    人気Youtuberにも取り上げられ、大いに盛り上がる中、クリプトスペルズは果たして完全無課金では稼ぐことが出来るのかについて、現時点での収益性について紹介します。 ※こちらの記事ではあくまでも方法の紹介のみになり、BCGで稼ぐことを勧めている記事ではございません。 #クリスペ 2021年7月1日 更新 月間、チャレンジミッションに関する記載、その他を追記 2020年5月26日更新 アセットアナライザーにNFT追加
  • ゲーム攻略/紹介
  • 2020-05-26
  • 掘ることが楽しいブロックチェーンゲーム「Brilliantcrypto」CBTプレイレポート
    3Dの鉱山でツルハシ片手に宝石を掘り当てるブロックチェーンゲーム「Brilliantcrypto」 の第2回クローズドβテストゲームレポート。
  • ゲーム攻略/紹介
  • 2024-02-04
  • Sorare(ソラーレ)NFTサッカーゲームの遊び方・稼ぎ方を初心者向けに解説(2023年版)
    「Sorare(ソラーレ)を始めてみたい」 「SorareでNFTを稼げるって聞いたけど、本当?」 2023年現在、このような思いでSorareに登録しようか悩んでいる人は多いでしょう。 この記事では、Sorareサッカーゲームの特徴と遊び方、そして稼ぎ方について詳しく紹介します。 「本当にSorareで稼げるの?」「無課金でも楽しめる?」といったよくある質問にも解説していますので、これからSorareサッカーゲームを始める方は、ぜひチェックしてください。
  • ゲーム攻略/紹介
  • 2020-06-20
  • この著者による記事

    【無課金でクリスぺ攻略】クリプトスペルズは無課金で稼げるのか
    人気Youtuberにも取り上げられ、大いに盛り上がる中、クリプトスペルズは果たして完全無課金では稼ぐことが出来るのかについて、現時点での収益性について紹介します。 ※こちらの記事ではあくまでも方法の紹介のみになり、BCGで稼ぐことを勧めている記事ではございません。 #クリスペ 2021年7月1日 更新 月間、チャレンジミッションに関する記載、その他を追記 2020年5月26日更新 アセットアナライザーにNFT追加
  • ゲーム攻略/紹介
  • 2020-05-26
  • コインチェック口座開設は簡単にできる?コインチェックがおすすめの人と始め方
    「コインチェックの口座開設をしようか、迷っている」「コインチェックで仮想通貨を購入したいけど、やり方がよく分からない」と悩んでいませんか。 この記事では、仮想通貨初心者の方でも簡単にコインチェックの口座開設ができ、仮想通貨を購入するための手順を紹介します。 記事を読めば、安心してコインチェックを使い始められるはずです。 ぜひご覧ください!
  • 初心者向け
  • 2023-05-31
  • 【マイクリ|無課金攻略】課金しない人のためのマイクリプトヒーローズ(2020年版)
    マイクリの課金した攻略がたくさん出ていますので、いかに課金をせずに収益を得れるかについてを解説します。 ※2020/11/01 Labが廃止されているなど現状に合わせて記事を追記、修正しました。
  • ゲーム攻略/紹介
  • 2019-02-01
  • Sorare(ソラーレ)NFTサッカーゲームの遊び方・稼ぎ方を初心者向けに解説(2023年版)
    「Sorare(ソラーレ)を始めてみたい」 「SorareでNFTを稼げるって聞いたけど、本当?」 2023年現在、このような思いでSorareに登録しようか悩んでいる人は多いでしょう。 この記事では、Sorareサッカーゲームの特徴と遊び方、そして稼ぎ方について詳しく紹介します。 「本当にSorareで稼げるの?」「無課金でも楽しめる?」といったよくある質問にも解説していますので、これからSorareサッカーゲームを始める方は、ぜひチェックしてください。
  • ゲーム攻略/紹介
  • 2020-06-20
  • インタビューの記事

    【インタビュー】ビットファクトリーを設立してからとこれから 株式会社モバイルファクトリー深井未来生氏
    株式会社ビットファクトリーの代表取締役に就任した深井未来生氏に設立してからとこれからについて伺いました。
  • インタビュー
  • 2019-04-01
  • ブレイブ フロンティア ヒーローズ リリース直前インタビュー / 株式会社エイリム 高橋英士氏 double jump.tokyo株式会社 石川駿氏
    1月30日12時よりリリースされたブレイブ フロンティア ヒーローズ。 今回、ブレイブ フロンティア ヒーローズへの想いについて、株式会社エイリムの高橋英士氏とdouble jump.tokyo株式会社の石川駿氏へリリース直前に伺いました。
  • インタビュー
  • 2020-01-30
  • TCG × ブロックチェーンの可能性を考える第五回 炎上を振り返る
    第五回では、プレセールでの炎上を振り返ります。 また、そこからこれからどういう機能を実装すればCryptoSpellsがうまくいくのかについての熱い議論が繰り広げられました。 今後、ここで語られた機能のどれかが表に出てくることがあるかもしれません。 ▼対談参加者(写真左から) 宍戸英治氏(FORCE OF WILL株式会社代表取締役:世界4位の売上実績を誇るTCG 「FORCE OF WILL」の生みの親) 小澤孝太氏(CryptoGames株式会社代表取締役:「CryptoSpells」プロデューサー) 若山 史郎氏(株式会社チアード代表取締役:日本最大級のTCG専門店「晴れる屋」元代表) Koroneko氏(高校生で日本人初の「Hearthstone」プロゲーマー)
  • インタビュー
  • 2019-05-24
  • これからのブロックチェーンエンジニアに必要な事 BlockBase株式会社田中康平氏
    BlockBase株式会社エンジニアの田中康平氏にお話を伺いました。
  • インタビュー
  • 2019-03-15
  • Powered by