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

Upgradablity SmartContract

Upgradablity SmartContract

nakajo2011

June 28, 2018
Tweet

More Decks by nakajo2011

Other Decks in Technology

Transcript

  1. Copyright © 2018 HAW International Inc. All rights reserved. SmartContractのUpgradeablity

    Smart Contractとアップグレード可能性について
  2. Copyright © 2018 HAW International Inc. All rights reserved. 自己紹介

    中城 元臣(Yukishige Nakajo) twitter: @nakajo github: nakajo2011 ・福岡の飯塚市でBlockchainの研究開発やってます。 ・HAW International所属 ・Casper FFG convert PO, Cryptoeconomics Research Administrator, Hi-Ether Technical Advisor
  3. Copyright © 2018 HAW International Inc. All rights reserved. 自己紹介

    祝!CIRCULATION&chaintopeの共同研 究開発がプレスリリースされました! https://prtimes.jp/main/html/rd/p/000000020.000015163.html
  4. Copyright © 2018 HAW International Inc. All rights reserved. 今日話すこと

    Smart Contractとアップグレード可能性について 1. Smart Contractとは 2. Smart Contractで発生した事件 3. Upgradableの提案 4. 安全なSmart Contractとは
  5. Copyright © 2018 HAW International Inc. All rights reserved. 今日話すこと

    Smart Contractとアップグレード可能性について 1. Smart Contractとは 2. Smart Contractで発生した事件 3. Upgradableの提案 4. 安全なSmart Contractとは
  6. Copyright © 2018 HAW International Inc. All rights reserved. 1.

    Smart Contractとは • 直訳すると 賢い契約 • 実態は プログラム可能な契約
  7. Copyright © 2018 HAW International Inc. All rights reserved. 1.

    Smart Contractとは ・BitcoinのVMはチューリング不完全 ・EthereumのVMはチューリング完全
  8. Copyright © 2018 HAW International Inc. All rights reserved. 1.

    Smart Contractとは ・BitcoinのVMはチューリング不完全 ・EthereumのVMはチューリング完全
  9. Copyright © 2018 HAW International Inc. All rights reserved. 1.

    Smart Contractとは EthereumのSmartContract記述言語 ・Solidity:一番有名。一番最初に作られた。 ・Vyper:vitalikが作った(2016/11/11) ・LLLL:形式証明器のisabella/HOLで作られてる言語  その他色々
  10. Copyright © 2018 HAW International Inc. All rights reserved. 今日話すこと

    Smart Contractとアップグレード可能性について 1. Smart Contractとは 2. Smart Contractで発生した事件 3. Upgradableの提案 4. 安全なSmart Contractとは
  11. Copyright © 2018 HAW International Inc. All rights reserved. 2.

    Smart Contractで発生した事件 The DAO事件
  12. Copyright © 2018 HAW International Inc. All rights reserved. 今日話すこと

    Smart Contractとアップグレード可能性について 1. Smart Contractとは 2. Smart Contractで発生した事件 3. Upgradableの提案 4. 安全なSmart Contractとは
  13. Copyright © 2018 HAW International Inc. All rights reserved. 3.

    Upgradableの提案 https://blog.zeppelin.solutions/proxy-libraries-in-solidity-79fbe4b970fd
  14. Copyright © 2018 HAW International Inc. All rights reserved. 3.

    Upgradableの提案 ethereum-upgradeable-smart-contract-strategies 戦略 メリット デメリット Proxy contract コントラクトの再設計が必要ない。実装 が簡単。 1. Proxyコントラクトは対象が持っている状 態データを反映できない。 2. upgrade対象となるcontractのフィールド 変数を変更できない。追加は可能 Separate logic and data 1. データはData Contractから普通 に読み出せる 2. データ構造を更新、追加できる 1. コントラクトを少なくとも data用とlogic用の 2つ用意しないといけない。 2. structみたいな複雑なデータ形式を変更 しようとすると大変
  15. Copyright © 2018 HAW International Inc. All rights reserved. 3.

    Upgradableの提案 ethereum-upgradeable-smart-contract-strategies 戦略 メリット デメリット Separate logic and data contracts with data as key-value pairs 1. key-value形式は簡単に表現可 能 2. データ構造を更新、追加できる 1. コントラクトを少なくとも data用とlogic用の 2つ用意しないといけない。 2. key-value形式でデータが格納されるの で抽象的にデータを評価できる。 Partially upgradeable contract systems Contractのシンプルな部分を変更不可 にすることで信頼を得られる。 変更不可にした部分は一切変更ができない。
  16. Copyright © 2018 HAW International Inc. All rights reserved. 3.

    Upgradeableの提案 • ERC-897: ERC DelegateProxy • ERC-820: Pseudo-introspection registry contract • ERC-165 Standard Interface Detection (間接 的に関係あるやつ)
  17. Copyright © 2018 HAW International Inc. All rights reserved. 今日話すこと

    Smart Contractとアップグレード可能性について 1. Smart Contractとは 2. Smart Contractで発生した事件 3. Upgradeableの提案 4. 安全なSmart Contractとは
  18. Copyright © 2018 HAW International Inc. All rights reserved. 4.安全なSmart

    Contractとは • Upgradableなコントラクトにも課題が幾つかある 1. Owner権限のみでupgradableの場合は中央集権 的。 2. 1度目の攻撃が致命的ならupgradableの意味が ない。
  19. Copyright © 2018 HAW International Inc. All rights reserved. 4.安全なSmart

    Contractとは • 「契約」をモデリングする必要がある • 「契約」を表すのに適した言語が必要なのかも • bitcoinに習ってSmart Contractはチューリング不完 全にすべきかも
  20. Copyright © 2018 HAW International Inc. All rights reserved. おわり

    Blockchain技術はまだ生まれたばかり。 実用的にしていくためにもより活発な議論を! https://research.cryptoeconomicslab.com/ ブログも宜しく http://y-nakajo.hatenablog.com/