Slide 1

Slide 1 text

Blockchain as a gaming platform 株式会社ディーエヌエー コマース&インキュベーション事業本部 コマース企画グループ エンジニア 緒方文俊

Slide 2

Slide 2 text

大学卒業後、ベンチャー企業にて、システム開発の経験のあと 2012年に株式会社ディー・エヌ・エーに転職. mobageの決済システム開発を経て、 nodejsを用いたリアルタイム対戦のHTML5ゲームタイトルの開発、 Cocos2d-xやUnityによるゲームアプリ開発、 実況動画サービスの動画配信サーバーの開発. 現在は、ブロックチェーンの活用をテーマにR&Dを進めている.

Slide 3

Slide 3 text

ERC20….1155 Swarm Ethereum SideChain Ganache Now Planning &   Developping CocosBCX Enjin uPort Loom

Slide 4

Slide 4 text

「OmiseGo launches its first dApp: Plasma Dog」 https://www.chepicap.com/en/news/4941/omisego-launches-its-first-dapp-plasma-dog.html アバター、XP&スキル、ゲーム内のアイテム、マップ、および その他のカスタマイズを含むゲーム体験の内容と所有権は全 てプレイヤーが完全に制御できます。

Slide 5

Slide 5 text

https://blog.omisego.network/state-of-the-omg-ecosystem-75260c71a053 Minimum Viable Plasmaに基づいていて、More Viable Plasmaの導入を前提としている。 ・Tesuji OMG networkのeWallet実装はウォレットとユーザー間のETH/ERC20トークンの作成、管理、 転送をサポート。OMG networkへのデポジットと転送を含んでいる。

Slide 6

Slide 6 text

http://planettravelers.net Pull & Load Ether as Fuel

Slide 7

Slide 7 text

http://planettravelers.net Find Resources

Slide 8

Slide 8 text

GameSDK APIServer DBServer FileStorage SmartContract Unity / Cocos2dx / Phaser etc.. Nodejs / Ruby / Golang MySQL / MongoDB / ElasticSearch Truffle / Remix / Ganache / Web3Js Deploy & Connect to API Swarm / IPFS Ethereum / EOS etc... Oraclize for Developer GuardRails SideChain Test

Slide 9

Slide 9 text

Wallet Exchange Trust / Chiper etc... Bitflyer / Coin / Zaif ... Game CriptKitty / Etheremon Market OpenSea Currency Bitcoin / Ethereum / EOS for User

Slide 10

Slide 10 text

make simple BaaS? Platform?

Slide 11

Slide 11 text

Mobage / AndApp

Slide 12

Slide 12 text

Why do you need a platform?

Slide 13

Slide 13 text

+Account +Monetization +Circulation +SDK Mail-Password / Facebook / Google etc…. CreditCard / MobaCoinCard / Mobile etc.. & Safety (未成年課金額、新機種の発売etc….) Games / Social (SNS,Chat,Review,OtherCommunication) for Developer GameDeveloppingSDK / Score API / SNS API etc..

Slide 14

Slide 14 text

Does the blockchain change the value of the platform?

Slide 15

Slide 15 text

+Account +Monetization +Circulation +SDK Mail-Password / Facebook / Google etc…. CreditCard / MobaCoinCard / Mobile etc.. & Safety Games / Social (SNS,Chat,Review,OtherCommunication) for Developer GameDeveloppingSDK / Score API / SNS API etc.. KYC (Know Your Customer)..uPort Authorization via Metamas ??? ??? ??? Approach Plan

Slide 16

Slide 16 text

+Monetization PayToPlay -> TokenModel (Secondary distribution) (creditcard -> virtual currency)

Slide 17

Slide 17 text

PayToPlay model = > Token Model (creditcard -> virtual currency)

Slide 18

Slide 18 text

https://eips.ethereum.org/erc

Slide 19

Slide 19 text

ERC20 A standard interface for tokens. ERC20 StanderdToken DetailedERC20 MintableTo

Slide 20

Slide 20 text

ERC721 A standard interface for non-fungible tokens, also known as deeds. ERC165 ERC721Basic ERC721Metada ta MintableTo ERC721 ERC721Receiv er ERC721Holder ERC721BasicT oken ERC721Token

Slide 21

Slide 21 text

ERC998 (Composable Non-Fungible Tokens) An extension of the ERC721 standard to enable ERC721 tokens to own other ERC721 tokens and ERC20 tokens. An extension of the ERC20 and ERC223 standards to enable ERC20 and ERC223 tokens to be owned by ERC721 tokens.

Slide 22

Slide 22 text

ERC1155 A standard interface for contracts that manage multiple token types. A single deployed contract may include any combination of fungible tokens, non-fungible tokens, or other configurations (for example, semi-fungible tokens). IERC1155 ERC1155 ERC1155 Mintable ERC1155 NonFungible ERC1155 NonFungible IERC1155 Extended ERC1155 NonFungible Mintable IERC1155 BatchTransfer IERC1155 BatchTransfer Extended

Slide 23

Slide 23 text

(引 用)https://twitter.com/enjin/status/1021524123166621696/photo/1?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1021524123166621696&ref_url=https%3A %2F%2Fharukataro.com%2Ferc-1155%2F

Slide 24

Slide 24 text

既存のトークンでは、アトミックスワップを行うためには、 複数の承認ステップが必要だった。 (この事例の場合は4回必要) コントラクトをまとめて、取引を行った場合、 承認の必要がないので、承認ステップは少なくなる。 ERC1155はアトミックスワップのプロセスを簡略化することができる。

Slide 25

Slide 25 text

IERC1155BatchTransfer.sol interface IERC1155BatchTransfer { function batchTransferFrom(address _from, address _to, uint256[] _ids, uint256[] _values) external; function safeBatchTransferFrom(address _from, address _to, uint256[] _ids, uint256[] _values, bytes _data) external; function batchApprove(address _spender, uint256[] _ids, uint256[] _currentValues, uint256[] _values) external; }

Slide 26

Slide 26 text

アバター(装備した状態) スターターキット キャンペーンでのアイテム配布

Slide 27

Slide 27 text

引用)https://blog.enjincoin.io/how-does-enjin-coin-work-c305a7aa600e Minting “Minting” is just a nifty term for “Infusing gaming items with ENJ and turning them into ERC-1155 tokens”. Melting Gamers can obtain Enjin Coin (ENJ) in several ways: ● By “melting” ENJ-based virtual items. ● Purchasing Enjin Coin via a cryptocurrency exchange.

Slide 28

Slide 28 text

ERC721x ERC721x is an extension of ERC721 that adds support for multi-fungible tokens and batch transfers, while maintaining full backward compatibility.

Slide 29

Slide 29 text

contract ERC721X { function implementsERC721X() public pure returns (bool); function ownerOf(uint256 _tokenId) public view returns (address _owner); function balanceOf(address owner) public view returns (uint256); function balanceOf(address owner, uint256 tokenId) public view returns (uint256); function tokensOwned(address owner) public view returns (uint256[], uint256[]); function transfer(address to, uint256 tokenId, uint256 quantity) public; function transferFrom(address from, address to, uint256 tokenId, uint256 quantity) public; // Fungible Safe Transfer From function safeTransferFrom(address from, address to, uint256 tokenId, uint256 _amount) public; function safeTransferFrom(address from, address to, uint256 tokenId, uint256 _amount, bytes data) public; // Batch Safe Transfer From function safeBatchTransferFrom(address _from, address _to, uint256[] tokenIds, uint256[] _amounts, bytes _data) public; function name() external view returns (string); function symbol() external view returns (string); // Required Events event TransferWithQuantity(address indexed from, address indexed to, uint256 indexed tokenId, uint256 quantity); event TransferToken(address indexed from, address indexed to, uint256 indexed tokenId, uint256 quantity); event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); event BatchTransfer(address indexed from, address indexed to, uint256[] tokenTypes, uint256[] amounts); }

Slide 30

Slide 30 text

New Market System?? NHAS-1808 Monetization

Slide 31

Slide 31 text

+Circulation SNS / Chat Communication -> decenterized asset / Parameter

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

KittyVerseは 同じキャラクターを複数のゲームで用いる ことができるというコンセプト

Slide 35

Slide 35 text

#kittyrace #kotowars #cryptkitty-cit y #ckbox #kittybattle #kittyhats KittyVerse

Slide 36

Slide 36 text

CryptKittyのアセットや パラメーターを色々なところで使える

Slide 37

Slide 37 text

https://kotowars.com/

Slide 38

Slide 38 text

https://kitties.tokenville.tv/#packs

Slide 39

Slide 39 text

https://kotowars.com/

Slide 40

Slide 40 text

事例1

Slide 41

Slide 41 text

http://planettravelers.net Ride to the SpaceShip!

Slide 42

Slide 42 text

curl --request GET \ --url 'https://public.api.cryptokitties.co/v1/kitties?owner_wallet_address=0x007880443b595eb375ab6b6566ad 9a52630659ff' \ --header 'x-api-token: ABC'

Slide 43

Slide 43 text

SideGame 有名タイトルのアセットを自分のゲームに組 み込む事で、ユーザー訴求。 MainGame ゲームのアセットを共有する事で、広告 宣伝。また、ローカルルールによって、価 値が上昇する事で取引高の向上に繋が る アバター、XP&スキル、ゲーム内のアイテム、マップ、およびその他のカスタマイ ズ

Slide 44

Slide 44 text

Swarm Swarm is a distributed storage platform and content distribution service, a native base layer service of the ethereum web3 stack. The primary objective of Swarm is to provide a sufficiently decentralized and redundant store of Ethereum’s public record, in particular to store and distribute dapp code and data as well as blockchain data. From an economic point of view, it allows participants to efficiently pool their storage and bandwidth resources in order to provide these services to all participants of the network, all while being incentivised by Ethereum. https://swarm-guide.readthedocs.io/en/latest/introduction.html Ethereumの仕組みを使って、不特定多数の参加者にファイルを分散配布する仕組み。 アセットを読み込む際には、誰がファイルを持っているかわからなくても、保有しているユーザーからファイルを送 信してもらうことができる。 decenterized asset

Slide 45

Slide 45 text

converter Decentr alized Asset Platform Asset Number of holdings Number of transaction ?? board Action Shooting town puzzle RPG Platform par am par am par am par am par am par am par am par am decenterized parameter

Slide 46

Slide 46 text

+SDK

Slide 47

Slide 47 text

GameSDK APIServer DBServer FileStorage SmartContract Unity / Cocos2dx / Phaser etc.. Nodejs / Ruby / Golang MySQL / MongoDB / ElasticSearch Truffle / Remix / Ganache / Web3Js Deploy & Connect to API Swarm / IPFS Ethereum / EOS etc... Oraclize for Developer GuardRails SideChain Test

Slide 48

Slide 48 text

DeNAで開発しているLiftというSDKはCocos2d-xをベースとしています. SDK e.g. Lift ( Cocos2d-x base ) https://www.slideshare.net/dena_tech/dena-denatechcon-72603332 Cocos2d-BCX

Slide 49

Slide 49 text

Cocos-BCXは、最大110万人の開発者を抱える最大のゲーム開発者コミュニティの1つであるCocosエンジンで構築された、分散型の ゲームおよびデジタル資産開発プラットフォーム そしてゲーム開発者は、Cocos-SDKとLoom DAppチェーンとのスムーズな統合、およびスケーラブルで安全なブロックチェーンゲー ムのデプロイが可能。 + ソフトウェアフレームワークと仮想マシン(実行時動作環境)として機能するゲームエンジン + ゲーム用ユースケース専用に作成されたビジュアルでデータ駆動型の開発環境 + CocosChain - Grapheneベースのパブリックブロックチェーンで、特にゲームや高性能アプリケーション向けに設計されてい る。 https://medium.com/cocosbcx/cocos-bcx-frequently-asked-questions-c69fc7844303 https://www.sdkbox.com/blockchain

Slide 50

Slide 50 text

https://www.sdkbox.com/blockchain

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

+Account +Monetization +Circulation +SDK Mail-Password / Facebook / Google etc…. CreditCard / MobaCoinCard / Mobile etc.. & Safety Games / Social (SNS,Chat,Review,OtherCommunication) for Developer GameDeveloppingSDK / Score API / SNS API etc.. KYC (Know Your Customer)..uPort Authorization via Metamas Token Market decenterized asset / Parameter CocosBCX Approach Plan

Slide 54

Slide 54 text

Thanks for listening. https://twitter.com/oggata