Slide 1

Slide 1 text

0x Community Japan Meetup #1 2018/10/27 @ Neutrino Tokyo

Slide 2

Slide 2 text

@1VQ9 Perl, Python, Ruby, JavaScript MySQL, PostgreSQL, Neo4j OpenStack(~IceHouse), AWS, GCP

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

https://radarrelay.com/learn/

Slide 5

Slide 5 text

chat.0xproject.com

Slide 6

Slide 6 text

#community_manager

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

YQSPUPDPMΛ࢖༻͢ΔE"QQT։ൃऀͷίϛϡχςΟ YQSPUPDPMͷٕज़తͳϊ΢ϋ΢ͷ஝ੵɺڞ༗ ΨόφϯεϞσϧ΍ؔ࿈ϓϩδΣΫτͳͲʹؔ͢Δ৘ใͷڞ༗ dϲ݄ʹճఔ౓ͷษڧձ YQSPUPDPMΛ࢖༻͢ΔE"QQT։ൃऀͷίϛϡχςΟ YQSPUPDPMͷٕज़తͳϊ΢ϋ΢ͷ஝ੵɺڞ༗ ΨόφϯεϞσϧ΍ؔ࿈ϓϩδΣΫτͳͲʹؔ͢Δ৘ใͷڞ༗ dϲ݄ʹճఔ౓ͷษڧձ 0x Japan Community

Slide 9

Slide 9 text

YQSPUPDPMΛ࢖༻͢ΔE"QQT։ൃऀͷίϛϡχςΟ YQSPUPDPMͷٕज़తͳϊ΢ϋ΢ͷ஝ੵɺڞ༗ ΨόφϯεϞσϧ΍ؔ࿈ϓϩδΣΫτͳͲʹؔ͢Δ৘ใͷڞ༗ dϲ݄ʹճఔ౓ͷษڧձ ίϛϡχςΟͰ(কདྷతʹ)΍Γ͍ͨ͜ͱ YQSPUPDPMΛɺٕज़ऀ͕҆৺ͯ͠ศརʹ࢖͑ΔΑ͏ʹ YQSPUPDPMͷΤίγεςϜͷதͰɺίϛϡχςΟ͕໾ׂΛ࣋ͭΑ͏ʹ

Slide 10

Slide 10 text

@0x_japan

Slide 11

Slide 11 text

YQSPUPDPMΛ࢖༻͢ΔE"QQT։ൃऀͷίϛϡχςΟ YQSPUPDPMͷٕज़తͳϊ΢ϋ΢ͷ஝ੵɺڞ༗ ΨόφϯεϞσϧ΍ؔ࿈ϓϩδΣΫτͳͲʹؔ͢Δ৘ใͷڞ༗ dϲ݄ʹճఔ౓ͷษڧձ ࠓ೔ͷϥΠϯφοϓ d Y$PNNVOJUZ+BQBO Y1SPKFDUͷ঺հ 72 d 5BMLBOE2"TFTTJPO .BUUGSPNY1SPKFDU d ٳܜ d 5BMLBOE2"TFTTJPO 8IJUOFZGSPN3BEBS3FMBZ d Y1SPUPDPMʹ͓͚ΔΨόφϯεʹ͍ͭͯ $P⒎FF5JNFT58 d ࠙਌ձ

Slide 12

Slide 12 text

0x Protocol @1VQ9 2018/10/27

Slide 13

Slide 13 text

World in which all forms of value are tokenized on public blockchains ༷ʑͳܗͷՁ஋͕ύϒϦοΫɾνΣʔϯ্ͰτʔΫϯԽ͞Εͨੈք ௨՟ Currency ैདྷͷࢿ࢈ Traditional Assets σδλϧͳ঎඼ Digital Goods

Slide 14

Slide 14 text

શͯͷਓ͕ࣗ༝ʹ࢖͏͜ͱ͕Ͱ͖Δɺޮ཰తͰɺಁ໌ੑͷ୲อ͞Εͨ ۚ༥ΠϯϑϥετϥΫνϟ͕ඞཁ ! " # $ ! ! ! % " & ! !

Slide 15

Slide 15 text

' ! ! ! ! ! ! ! ! With centralized exchange, users has to give control of their assets to trusted third party தԝूݖతͳऔҾॴͰ͸ɺऔҾΛߦ͏ࡍʹɺ৴ པ͞Εͨୈࡾऀʹࢿ࢈Λ༬͚Δඞཁ͕͋Δ

Slide 16

Slide 16 text

2014/2 2016/4 2016/8 2018/1 2018/9 2018/7 2017/7

Slide 17

Slide 17 text

' ! ! ( ৴པ͞Εͨୈࡾऀ͕ϓϥΠόγʔͷϦεΫͱͳΔՄೳੑ͕ଘࡏ͢Δ Trusted third party can be a risk of privacy

Slide 18

Slide 18 text

“Create a tokenized world where all value can flow freely.” zશͯͷՁ஋͕ࣗ༝ʹߦ͖དྷ͢ΔɺτʔΫϯԽ͞ΕͨੈքΛ࡞Δz 0xͷϛογϣϯ 0x Mission Statement

Slide 19

Slide 19 text

Exchange contract ! Maker ) ! Taker ) ϝΠΧʔɺςΠΧʔ͸͓ޓ͍͕ަ׵͢ΔτʔΫϯͷΞϩʔϫ ϯεΛ׬͍ྃͯ͠Δͱ͍͏લఏ͕͋Γ·͢ ZRX ! WETH

Slide 20

Slide 20 text

makerAddress 0x000… makerAssetData ZRX makerAssetAmount 237 takerAddress 0x000… takerAssetData WETH takerAssetAmount 1 Order Object (JSON) ! ϝΠΧʔ͸஫จ಺༰Λهࡌͨ͠0SEFSΦϒδΣΫτ +40/ Λ࡞੒͠ɺ ൿີ伴Ͱॺ໊͢Δ Exchange contract ! Maker ) ! Taker )

Slide 21

Slide 21 text

Exchange contract ! Maker ) ! Taker ) Signed Order Object (JSON) * ϝΠΧʔ͸ॺ໊ࡁ0SEFSΦϒδΣΫτΛ5BLFSͱڞ༗͢Δ Maker shares signed Order object with Taker

Slide 22

Slide 22 text

Exchange contract ! Maker ) ! Taker ) ςΠΧʔ͸਺ྔΛࢦఆͯ͠&YDIBOHFDPOUSBDUͷϝιουΛݺͼग़͢ Taker invoke method of Exchange contract with amount to fill Signed Order Object (JSON) *

Slide 23

Slide 23 text

! Maker ! Taker Exchange contract ) ) 1 WETH ! 237 ZRX &YDIBOHFίϯτϥΫτ͕͓ޓ͍ͷ΢ΥϨοτͷؒͰτʔΫϯͷަ׵Λߦ͏ Exchange contract transfers tokens for each wallet directly

Slide 24

Slide 24 text

! ! τϥετϨεʹՁ஋Λަ׵͢ΔͨΊͷϓϩτίϧ Trust-less protocol for exchanging values ΦϑνΣʔϯͰ஫จΛϦϨʔ͠ɺΦϯνΣʔϯͰ໿ఆ Off-chain order relay, On-chain settlement

Slide 25

Slide 25 text

0xProject - Introduction Y1SPUPDPM YKTFYBNQMF { "metadata" : { "takerToken" : { "name" : "Wrapped Ether", "decimals" : 18, "symbol" : "WETH" }, "makerToken" : { "symbol" : "ZRX", "name" : "0x", "decimals" : 18 } }, "signedOrder" : { "expirationUnixTimestampSec" : "1535607960", "maker" : "0x00 “, "makerFee" : "0", "feeRecipient" : "0x0000000000000000000000000000000000000000", "takerTokenAmount" : "1000000000000000000", "makerTokenAddress" : "0xe41d2489571d322189246dafa5ebde1f4699f498", "ecSignature" : { "r" : "0xc370fdb353f34c22499dcb299338f7152ab48258d9bafec85c40ff420c58b390", "s" : "0x1f08d374ec972fa4034275c174ac445b8b0a3e9e03b8eab0b2588c203d388ccc", "v" : 27 }, "takerFee" : "0", "makerTokenAmount" : "100000000000000000000", "salt" : "525051204772790397684327286494460896733275278658192814608150085920209666577", "taker" : "0x0000000000000000000000000000000000000000", "takerTokenAddress" : "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "exchangeContractAddress" : "0x12459c951127e0c374ff9105dda097662a027093" } } 0SEFS0CKFDUͷྫ

Slide 26

Slide 26 text

0xProject - Introduction Y1SPUPDPM YKTFYBNQMF // fill͢ΔྔΛܾΊΔ const shouldThrowOnInsufficientBalanceOrAllowance = true; const fillTakerTokenAmount = ZeroEx.toBaseUnitAmount(new BigNumber(0.1), DECIMALS); // fillOrderAsync Ͱfill͢Δ const txHash = await zeroEx.exchange.fillOrderAsync( signedOrder, fillTakerTokenAmount, shouldThrowOnInsufficientBalanceOrAllowance, takerAddress, ); ! Taker

Slide 27

Slide 27 text

ERC20 Token ERC721 Non Fungible Token 7FSTJPOͰ͸ɺ"TTFU1SPYZʹΑΓ &3$͚ͩͰͳ͘&3$ʹ΋ରԠͨ͠ɻ ରԠ͢Δࢿ࢈ͷछྨ͸ࠓޙ૿͍͑ͯ͘༧ఆ In version 2, protocol supports ERC721 not only ERC20. Supporting asset classes are going to increase.

Slide 28

Slide 28 text

! Maker ! Taker Exchange contract Signed Order Object (JSON) * ) ) Signed Order Object (JSON) * Order Object (JSON) ! 0SEFSΦϒδΣΫτͷ࡞੒΍໿ఆɺΦʔμʔϒοΫͷ؅ཧɺΠϯλʔϑΣʔ εͷఏڙͳͲΛߦ͏ͷ͕ϦϨʔϠʔͷ໾ׂ Relayers maintains order book, provides user interface, creates order object and fill them

Slide 29

Slide 29 text

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Liquidity Pool ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Liquidity Pool Relayer B Relayer A Standard Relayer API 4UBOEBSE3FMBZFS"1*ʹ४ڌ͢Δ͜ͱͰɺ3FMBZFSಉ͕࢜ྲྀಈੑΛڞ༗͢Δ͜ͱ͕Մೳ With Standard Relayer API, Relayers can share their liquidity pool

Slide 30

Slide 30 text

E"QQT։ൃऀʹͱͬͯͷYQSPUPDPM 㲔 τʔΫϯ΍σδλϧࢿ࢈ &3$ &3$ FUD Λަ׵͢Δͱ ͖ʹ࢖͑Δ൚༻ϓϩτίϧ

Slide 31

Slide 31 text

No content