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

ブロックチェーン技術の登場とスマートコントラクト化する社会

wshino
April 28, 2018

 ブロックチェーン技術の登場とスマートコントラクト化する社会

2018年4月27日に東京大学メディアコンテンツ特別講義Iで講義した資料です。

wshino

April 28, 2018
Tweet

More Decks by wshino

Other Decks in Technology

Transcript

  1. DMM.com とブロックチェーン • 仮想通貨への取り組みの歴史 ◦ 2014年頃から関心、社内勉強会など ◦ 2016年 ビットコイン決済開始(国内大手初) ◦

    2017年 マイニング、取引所参入 ◦ 2018年 スマートコントラクト事業部設立 • スマートコントラクト事業部について ◦ https://smacon.dmm.com/about
  2. Vision Tree • 幹~実の部分 ◦ プロダクト開発 ◦ トークンエコノミー • 根の部分

    ◦ コア技術研究 ◦ 人材育成 ◦ 企業横断的組織づくり
  3. ビットコインとイーサリアムの違い • トランザクションに加えてアカウント情報を持つ ◦ Externally Owned Account -> 一般的なユーザーアカウント ◦

    Contract account -> コントラクト(プログラム)のアカウント • アカウント情報をブロックの外に記録する ◦ 効率的に保存するためにMerkle Patricia Tree構造を持つ • トランザクションの処理内容に応じたコストを払う ◦ Transaction Cost < Gas Limit * Gas Price 引用: Ethereum White Paper https://github.com/ethereum/wiki/wiki/White-Paper
  4. • 支払いの自動化 ◦ 契約完了時点で自動引き落とし • 契約の自動執行 ◦ カーシェアリング • 所有証明、移転

    ◦ 不動産取引 ◦ 中古車販売 • 婚姻時に離婚時の条件を決めておく ◦ 離婚したタイミングで自動財産分与 活用事例
  5. トークンエコノミー • あらゆる資産が「トークン」として電子化され、取引される経済圏 • トークンとは ◦ 所有者を定められる電子データ • 資産とは ◦

    お金、宝石、貴金属 ◦ 高級車、土地 ◦ 時間 ◦ スキル ◦ 信頼、共感 ◦ etc. • ブロックチェーン技術は、誰もが簡単にトークンを設計・発行できるプロトコ ルを提供した
  6. • DappRadarやState of Dappsで一覧が確認できる ◦ CryptoKitties ▪ 仔猫を交配させてコレクションする ◦ CryptoCountries

    ▪ デジタル地図上の国を所有する ◦ Etheremon ▪ イーサリアム×ポケモン • ゲーム系ではアイテムをトークン化し、市場を形成している 具体的なアプリケーション例
  7. 具体的なアプリケーション例 • EtherDelta ◦ 分散取引所(DEX) • Storj ◦ 分散型Dropbox •

    bounty0x ◦ 分散型クラウドソーシング • Etherisc ◦ 分散型保険
  8. 自治体の取り組み - 国内事例 • 茨城県かすみがうら市 地域ポイント制度 ◦ https://zuuonline.com/archives/143270 • 飛騨信用組合

    電子地域通貨「さるぼぼコイン」提供 ◦ https://www.projectdesign.jp/201803/local-tech/004645.php • 宮崎県綾町の野菜にブロックチェーン技術で管理した生産情報を付 与 ◦ https://www.isid.co.jp/news/release/2017/0322_1.html
  9. 自治体の取り組み - 海外事例 • エストニア ◦ 各省庁や民間のデータベースをインターネット経由で相互参照可能と するプラットフォーム (X-ROAD)において、ブロックチェーン技術を採 用

    • 英国 ◦ 社会保障給付、国際援助といった金銭給付をはじめ、知的財産、特許 等の登録データベースへの活用やソフトウェア改ざん検知を提案 • ベルギー ◦ アントワープ市の電子行政システムに適用
  10. 主なセキュリティ起因の事件 • The DAO ◦ リエントラント ▪ 送金を受け付けると自動で発動する payableメソッドを利用。減算処理を実行する前に何度も 引き出ししてしまう。

    Ethereumハードフォークの原因に。 ▪ 外部に影響するメソッドの前に必ず状態の更新をすることで回避可能。 • Pairityマルチシグウォレットの資金盗難 ◦ 可視性のつけ忘れ ▪ ライブラリの初期化メソッドが外部から呼ばれる状態になっていた。 ▪ 可視性を明確につけることで回避可能。 • Pairityマルチシグウォレットの資金凍結 ◦ 初期化処理のし忘れ ▪ ライブラリの初期化メソッドがされておらず誰でも呼べる状態になっていた。 ▪ 初期化してオーナー権限を取得され、ライブラリを削除された。
  11. • ERC20 BatchTransfer ◦ バッファオーバーフロー ▪ ERC20に独自追加実装したメソッドのバグ。 ▪ 256bitの符号なし整数の桁を溢れさせ、存在しない数量のトーク ンを生成し送信することができた。

    ▪ SafeMathライブラリを使うことで回避可能。 • フロントランニング(Transaction Order) ◦ ブロックチェーンの構造上起こりうる問題。すでに発行されているトラン ザクションを確認して、そのトランザクションよりも優先的に取り込まれ るトランザクションを発行し、利益を得ることができる。 ◦ ブロックチェーンの外で制御するなど 主なセキュリティ起因の事件
  12. • OpenZeppelin ◦ セキュアなコントラクトを実装するためのライブラリ ◦ 様々な実装のベストプラクティスが入っている • Ethereum Smart Contract

    Security Best Practices ◦ リエントラント、バッファオーバーフロー、フロントランニング、そ の他の対策手法がまとめられている セキュリティ課題への取り組み
  13. • Mythril ◦ Solidityコードのセキュリティ解析ツール、すでにデプロイしてい るコントラクトにも実行可能 • Quantstamp ◦ セキュリティ監査プロトコル ◦

    スマートコントラクトの脆弱性を診断 ◦ CryptoKittiesやOmiseGOが採用 ▪ https://steemit.com/vincentb/@cryptogladiator/quantstamp-is-the-first-smart-c ontract-security-auditing-protocol-and-also-proof-of-care ▪ https://medium.com/quantstamp/quantstamps-security-assurance-on-the-omi sego-token-contract-in-the-context-of-batchoverflow-and-5382913c4d91 セキュリティ課題への取り組み
  14. イミュータブル(不変性) • コントラクトはデプロイすると、変更ができない • インシデント対応に停止機能や削除機能を持たせた方が安全 • 参照先を変更する手法 ◦ コントラクトをラップする ◦

    ENS(Ethereum Name Service)を利用する • 諦めて新しくデプロイしてデータ移行 ◦ データが多いと移行コストの不安も • そもそも不変性が特長のはずなのに変更していいものなのかという 議論
  15. スケーラビリティの課題 • ビットコイン 3~7トランザクション/秒 ◦ イーサリアムは実測 10tx/秒 • 現状はスケールアウトによるパフォーマンス向上が不可能 •

    ブロックサイズとブロック生成間隔で処理限界が決まる • 両者はトレードオフの関係 ◦ X% effective throughput: ブロックサイズ / X%のノードへのブロック転送時間 ◦ 90%のノードにブロックを転送する場合 ▪ 10分のブロック生成間隔では、ブロックサイズは最大 4MB ▪ ブロック生成間隔の下限は 12s(ブロックサイズ80KB) 引用: On Scaling Decentralized Blockchains https://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf
  16. • ブロックサイズの拡大 • ブロック生成間隔の高速化 • トランザクションサイズの削減 ◦ SegWit ◦ MAST

    ◦ シュノア署名 • トランザクション数の削減 ◦ Lightning Network ◦ サイドチェーン • 分散処理 ◦ Plasma ◦ シャーディング • ネットワークレイヤー スケーラビリティソリューション
  17. • 高機能なウォレット ◦ HDウォレット仕様 ◦ MetaMaskなどのブラウザプラグイン ◦ ネイティブウォレットを実装したブラウザ • ユーザーフレンドリーなウォレット

    ◦ Octobase • トークンの流動性 ◦ DEX(分散取引所) ◦ Bancorプロトコルとスマートトークン UX向上のための提案
  18. ◦ コンピュータサイエンス ◦ 数学 ◦ 経済学 人材の不足 • ブロックチェーンは2010年代に確立した新しい技術 •

    実務経験者はほとんどいない • 教育を受けた人材もほとんどいない • IT技術にとどまらず、幅広い知識が要求される分野 ◦ 社会学 ◦ 法律 ◦ etc.
  19. ◦ 自動化 ◦ 自律分散(P2P) ◦ 正当な報酬 ◦ 改ざん耐性 ◦ トラストレス

    DMMスマコン事業としての取り組み • ブロックチェーン技術を活用したプロダクトについて、 独自の評価基準を模索中 ◦ 利便性 ◦ 未来感 ◦ 課題解決 ◦ 民主化 ◦ 価値移転
  20. • 今後のイベント紹介 ◦ Hi Ether https://www.hi-ether.org/ ◦ blockchain.tokyo https://blockchain-tokyo.connpass.com ◦

    暗号通貨読書会/勉強会 https://cryptocurrency.connpass.com ◦ NEMDev.Tokyo https://xem-tokyo.connpass.com/ • Medium - DMMスマートコントラクト 最後に