クライアント型ウォレットの仕組み

 クライアント型ウォレットの仕組み

2018/10/04 (木)
Ginco Engineer Meetup 登壇資料
https://career.levtech.jp/hikalab/event/detail/187/

Ginco Inc.
https://ginco.io

D5b8a6f0d80d14bb5e24b95ed1afb56c?s=128

Ippo Matsui / Ginco

October 04, 2018
Tweet

Transcript

  1. ΫϥΠΞϯτܕ΢ΥϨοτͷ࢓૊Έ G I N C O E N G I

    N E E R M E E T U P I P P O M A T S U I 2 0 1 8 / 1 0 / 4 / T H U
  2. A B O U T M Y S E L

    F ©2018 Ginco, Inc. ࣗݾ঺հ Ippo Matsui @ippo_012 ਆށେֶେֶӃʹͯ࠷దԽཧ࿦ͷݚڀɻࡏֶதʹෳ਺ͷ8FCϕϯνϟʔͰ डୗ։ൃٴͼαʔϏεͷ্ཱͪ͛ΛܦݧɻΫοΫύουגࣜձࣾʹΤϯδ χΞͱͯ͠৽ଔೖࣾ͠ɺձһࣄۀ෦ʹͯϚʔέςΟϯάࢪࡦͷཱҊ͔Β࣮૷ ·ͰΛ୲౰ɻݱࡏ͸(JODPͷJ04ͷ։ൃΛϦʔυɻ
  3. ©2018 Ginco, Inc. W H A T I S G

    I N C O ? (JODPͱ͸ʁ • αʔϏε։࢝͸೥݄೔ • ΫϥΠΞϯτܕ΢ΥϨοτ • ൿີ伴Λ୺຤಺Ͱ؅ཧ • ϚϧνϒϩοΫνΣʔϯରԠʢݱࡏͭʣ • 'JSFCBTFΛར༻ͨ͠αʔόʔϨεΞʔΩςΫνϟ
  4. ©2018 Ginco, Inc. ΞδΣϯμ A G E N D A

    5 ΢ΥϨοτͱ͸ʁ (JODPͷΞʔΩςΫνϟ 5 ΢ΥϨοτͷॲཧͷྲྀΕ
  5. ΢ΥϨοτͱ͸ʁ P A R T 1

  6. ©2018 Ginco, Inc. "Ծ૝௨՟Λ؅ཧ͢ΔͨΊͷΞϓϦέʔγϣϯ

  7. ©2018 Ginco, Inc. ΢ΥϨοτͷछྨ αʔόʔܕ΢ΥϨοτ 5 ΫϥΠΞϯτܕ΢ΥϨοτ ൿີ伴Λ୺຤಺Ͱ؅ཧ 5 αʔόʔܕ΢ΥϨοτ

    ൿີ伴ΛαʔϏεఏڙऀͷαʔόʔ্Ͱ؅ཧ
  8. ©2018 Ginco, Inc. 5 ΫϥΠΞϯτܕ΢ΥϨοτͷͰ͖Δ͜ͱ ൿີ伴ͱެ։伴ͷ؅ཧ͕Ͱ͖Δ ࢒ߴͷ֬ೝ͕Ͱ͖Δ 5 ૹड͕ۚͰ͖Δ

  9. ൿີ伴ͱެ։伴ͱ͸ʁ

  10. ©2018 Ginco, Inc. "ެ։伴҉߸ํࣜ

  11. ©2018 Ginco, Inc. ϒϩοΫνΣʔϯʹ͓͚Δެ։伴҉߸ํࣜ • ओͳ༻్ • ΞυϨεͷੜ੒ • τϥϯβΫγϣϯͷॺ໊

    • &$%4"ʢପԁۂઢిࢠॺ໊ΞϧΰϦζϜʣ • σδλϧॺ໊ͷͨΊͷެ։伴҉߸ٕज़ • ύϥϝʔλ͸ඪ४Խ͞Ε͍ͯΔTFDQL
  12. ©2018 Ginco, Inc. ΞυϨεͷੜ੒ͷྲྀΕ ൿີ伴 ࣗ෼͔͠࢖͑ͳ͍ ެ։伴 ୭Ͱ΋࢖͑Δ ΞυϨε ެ։伴Λѻ͍΍͘͢ม׵

    TFDQLପԁۂઢ ϋογϡؔ਺ͳͲ
  13. ©2018 Ginco, Inc. ϒϩοΫνΣʔϯ ωοτϫʔΫ τϥϯβΫγϣϯͷॺ໊ͷྲྀΕ 5Y "͔Β#΁&5)ΛૹΔ ॺ໊ࡁΈͷ5Y ϒϩοΫνΣʔϯ

    ωοτϫʔΫ ൿີ伴 ϒϩʔυΩϟετ ॺ໊ࡁΈͷ5Y ެ։伴 ༗ޮͳ5Y "͔Β#΁&5)ΛૹΔ
  14. 伴ΛͲ͏΍ͬͯ؅ཧ͢Δͷ͔ʁ

  15. ©2018 Ginco, Inc. ")%΢ΥϨοτʴχʔϞχοΫ

  16. ©2018 Ginco, Inc. #*1 • ϏοτίΠϯٕज़ͷൃలͷͨΊͷʹ࡞੒ɺެ։͞ ΕΔ૲Ҋ܈ • ΢ΥϨοτʹؔ͢Δ#*1͕͋Δ •

    ଟ͘ͷ΢ΥϨοτ͕४ڌˠ(JODP΋४ڌ • ΢ΥϨοτؒͷΠϯϙʔτ͕Ͱ͖Δ • #*1ʓʓʢྫʣ#*1 #*1 #JUDPJO*NQSPWFNFOU1SPQPTBMT
  17. ©2018 Ginco, Inc. )%ʢ֊૚తܾఆੑʣ΢ΥϨοτ • ൿີ伴ΛπϦʔߏ଄Ͱ؅ཧ • ͭͷ4FFE͔Βෳ਺ͷ伴Λੜ੒Ͱ͖Δ • 4FFE

    • )%΢ΥϨοτͷى఺ͱͳΔཚ਺ • #*1 #*1 )JFSBSDIJDBM%FUFSNJOJTUJD8BMMFU
  18. ©2018 Ginco, Inc. )%ʢ֊૚తܾఆੑʣ΢ΥϨοτ 5 ϥϯμϜʢඇܾఆੑʣ΢ΥϨοτ )%΢ΥϨοτ ൿີ伴Λಠཱʹ؅ཧ ൿີ伴ΛπϦʔߏ଄Ͱ؅ཧ #*1

    #*1 ͭͷ4FFE͔Βෳ਺ͷ伴Λੜ੒Ͱ͖Δ
  19. ©2018 Ginco, Inc. χʔϞχοΫίʔυ • όΠφϦ΍ਐ਺͔ΒͰ͸ͳ͘
 ֮͑΍͍͢؆୯ͳ୯ޠ͔Β4FFEΛੜ੒͢Δ • Ұൠతʹʙ୯ޠͰߏ੒͞Ε͍ͯΔ •

    ྫʣlIVHFDSFEJUSFHVMBSz • #*1 • (JODPͰ͸ʮόοΫΞοϓΩʔʯͱදه .OFNPOJD$PEF
  20. ©2018 Ginco, Inc. 伴؅ཧͷΠϝʔδ χʔϞχοΫ lIVHFDSFEJUSFHVMBSz 4FFE )%΢ΥϨοτͷى఺ &UIFSFVNͷ伴 #JUDPJOͷ伴

    )%΢ΥϨοτͷ֊૚
  21. (JODPͷΞʔΩςΫνϟ P A R T 2

  22. ©2018 Ginco, Inc. (JODPͷΞʔΩςΫνϟ • 'JSFCBTFΛར༻ͨ͠αʔόʔϨεΞʔΩςΫνϟ • ༷ʑͳج൫αʔϏε͕͋Δʢ%# 1VTI௨஌FUDʣ •

    ։ൃεϐʔυͷ޲্ • αʔϏεͷ։ൃʹ஫ྗͰ͖Δ • ෳ਺ͷϒϩοΫνΣʔϯΛѻ͏ঢ়گʹద͍ͯͨ͠
  23. ©2018 Ginco, Inc. (JODPͷओͳߏ੒ཁૉ Keychain Wallet Core Cloud
 Firestore Cloud

    Functions Full Node Blockchain Explorer
  24. ©2018 Ginco, Inc. 8BMMFU$PSF • ࣗࣾ։ൃͷ΢ΥϨοτ༻ϥΠϒϥϦ • ϚϧνϒϩοΫνΣʔϯରԠ • ओͳ༻్

    • χʔϞχοΫͷੜ੒ • )%΢ΥϨοτͷରԠ • ΞυϨεͷੜ੒ • τϥϯβΫγϣϯͷॺ໊ • 044Խ༧ఆ Wallet Core
  25. ©2018 Ginco, Inc. ,FZDIBJO • J04ඪ४ͷ҉߸ԽσʔλετϨʔδ • ओͳ༻్ • χʔϞχοΫͷอଘ

    Keychain
  26. ©2018 Ginco, Inc. $MPVE'JSFTUPSF • /P42-ɺεΩʔϚϨε • ϦΞϧλΠϜϦεφʔ • ΦʔτεέʔϦϯά

    • ओͳ༻్ • Ϣʔβʔσʔλͷ؅ཧ • τϥϯβΫγϣϯཤྺ Cloud
 Firestore
  27. ©2018 Ginco, Inc. $MPVE'VODUJPOT • ΠϕϯτΛτϦΨʔʹͯؔ͠਺Λ࣮ߦ • αʔόʔϨε • ΦʔτεέʔϦϯά

    • ओͳ༻్ • ϊʔυͷϥούʔ • τϥϯβΫγϣϯͷૹ৴ Cloud Functions
  28. ©2018 Ginco, Inc. 'VMM/PEF • ϒϩοΫͷ͢΂ͯͷ৘ใΛ࣋ͭϊʔυ • (,& • ֤ϒϩοΫνΣʔϯຖʹ༻ҙ

    • ओͳ༻్ • τϥϯβΫγϣϯͷૹ৴ Full Node
  29. ©2018 Ginco, Inc. #MPDLDIBJO&YQMPSFS • ϒϩοΫΛৗ࣌؂ࢹ͠ɺτϥϯβΫγϣϯΛ
 αʔϏεʹར༻͠΍͘͢੔ܗ • (,& $MPVE1VC4VC

    • ֤ϒϩοΫνΣʔϯຖʹ༻ҙ • ओͳ༻్ • 'JSFTUPSF΁ͷཤྺͷ௥Ճ Blockchain Explorer
  30. ΢ΥϨοτͷॲཧͷྲྀΕ P A R T 3

  31. χʔϞχοΫͷੜ੒

  32. ©2018 Ginco, Inc. χʔϞχοΫͷੜ੒ Wallet Core generateMnemonic() mnemonic = “huge

    credit…” Keychain setMnemonic(mnemonic)
  33. ΞυϨεͷੜ੒

  34. ©2018 Ginco, Inc. ΞυϨεͷදࣔ Keychain getMnemonic() mnemonic = “huge credit…”

    Wallet Core getAddress(mnemonic) address = “0x1A6a57936…”
  35. τϥϯβΫγϣϯͷૹ৴

  36. ©2018 Ginco, Inc. sendTransaction(txData) txHash = “xxxxxxxxx” Keychain Wallet Core

    Cloud Functions Full Node getMnemonic() mnemonic = “huge credit…” signTransaction( mnemonic, txParams) txData = “xxxxxxxxx” τϥϯβΫγϣϯͷૹ৴
  37. ཤྺͷදࣔ

  38. ©2018 Ginco, Inc. Blockchain Explorer Cloud
 Firestore Full Node listenTxHistory()

    txHistory = [transaction] ཤྺͷදࣔ
  39. ©2018 Ginco, Inc. ऴΘΓʹ S U M M A R

    Y 5 ൿີ伴Λ୺຤Ͱ؅ཧ͢ΔΫϥΠΞϯτܕ΢ΥϨοτ ϚϧνϒϩοΫνΣʔϯରԠ 5 'JSFCBTFΛར༻ͨ͠αʔόʔϨεΞʔΩςΫνϟ
  40. Thank you