Upgrade to Pro — share decks privately, control downloads, hide ads and more …



bancor: Token economy made with Ruby

2018.05.31 RubyKaigi 2018

Yuta Kurotaki

May 31, 2018

More Decks by Yuta Kurotaki

Other Decks in Programming


  1. Yuta Kurotaki / GMO Pepabo, Inc. 2018.05.31 RubyKaigi 2018 bancor:

    Token economy made with Ruby
  2. Senior Software Engineer Yuta Kurotaki @kurotaky

  3. None
  4. None
  5. SUZURI People https://people.suzuri.jp/

  6. None
  7. None
  8. None
  9. None
  10. Crypto currency “SUKISUKI” corps • Introduced OKIMOCHI to Pepabo’s Slack

    • OKIMOCHI: Send bit coins with reaction on Slack • Research and development of Kaleidscope • KVS on IPFS • Web service development using Bancor Protocol • and More ! https://speakerdeck.com/kentaro/wips-for-cryptocurrency-at-pepabo
  11. Outline • Blockchain • Smart Contract • Token Economy •

    Bancor Protocol & Ruby • Conclusion & Future plans
  12. Blockchain

  13. What is Blockchain? • Decentralized ledger • P2P Network •

    Proof of Work
  14. Pros • Decentralized ledger • Tamper resistant ledger Cons •

    Scalability problem
  15. Blockchain Applications • Financial services • Healthcare • Personal Identification

    • Contracts
  16. None
  17. Smart Contracts

  18. Ethereum • A Next-Generation Smart Contract and Decentralized Application Platform

  19. What is Smart Contracts? •A smart contract is the simplest

    form of decentralized automation, and is most easily and accurately defined as follows: a smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties put assets in and assets are automatically redistributed among those parties according to a formula based on certain data that is not known at the time the contract is initiated. https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide/
  20. Example •A wants to pay $500 to B to build

    a website. The contract would work as follows: A puts $500 into the contract, and the funds are locked up. •When B finishes the website, B can send a message to the contract asking to unlock the funds. If A agrees, the funds are released. •If B decides not to finish the website, B can quit by sending a message to relinquish the funds. •If B claims that he finished the website, but A does not agree, then after a 7-day waiting period it’s up to judge J to provide a verdict in A or B’s favor. https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide/
  21. Token Economy

  22. ICO(Initial Coin Offering)

  23. ICO(Initial Coin Offering) • ALIS ICO Results • 430 million

    yen ! • Openness https://alisproject.github.io/whitepaper/whitepaper_v1.01.pdf
  24. Token Economy • Token economy means economy by token (electronic

    vouchers / substitute money) • Make something of value realized by tokenizing and make it possible to trade
  25. Problems in Minor Token Economy • Coincidence of Wants Problem

    • Agreement on price is required between selling side and buying side • Minor currencies are hard to distribute. I can not sell(buy) it when I want to sell(buy) it ❌ *XBOUUPTFMM GPS *XBOUUPCVZJU GPS Coincidence of Wants Problem

  27. Bancor Protocol ͸τʔΫϯΤίϊϛʔΛࢧ͑Δେൃ໌ͱͳΔ͔ʁʢલฤʣ

  28. Bancor Protocol • Automatic determination of transaction price • Continuous

  29. A New Method for Price Discovery • Balance: Reserve Token

    Balance • Supply: Smart Token Supply • CRR: Constant Reserve Ratio https://bravenewcoin.com/assets/Whitepapers/Bancor-Protocol-Whitepaper-en.pdf
  30. Price Calculation Per Transaction • T = Smart tokens received

    in exchange for E (reserve tokens), given R, S and F • E = Reserve tokens received in exchange for T (smart tokens), given R, S and F R - Reserve Token Balance S - Smart Token Supply F - Constant Reserve Ratio (CRR)

  32. Motivation • It takes money (Gas) to do with a

    block chain • It takes time for transactions • It takes cost to understand the structure and language of the block chain
  33. Motivation • Bancor Protocol implemented in Ruby

  34. Bancor • https://rubygems.org/gems/bancor • https://github.com/kurotaky/bancor

  35. Bancor Whitepaper Price Calculation Examples https://bravenewcoin.com/assets/Whitepapers/Bancor-Protocol-Whitepaper-en.pdf

  36. Demo

  37. None
  38. None

  40. Conclusion • Implementing the Bancor protocol in Ruby makes it

    easy to simulate web applications built with Rails without using smart contracts
  41. Future plans • Decimal point operation • Ethereum World Idea

    implements in Ruby World • Ruby World Ideas implements in Ethereum World • Ruby Ethereum
  42. Enjoy RubyKaigi 2018 !!