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

20181211 OracleCodeTokyo blockchain

gakumura
December 11, 2018

20181211 OracleCodeTokyo blockchain

gakumura

December 11, 2018
Tweet

More Decks by gakumura

Other Decks in Technology

Transcript

  1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | ブロックチェーンエンジニアになろう! ~ Hyperledger Fabricのご紹介 2018/12/11 Oracle Code Tokyo 日本オラクル株式会社 中村 岳
  2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 自己紹介 • 中村 岳(Twitter&はてな:gakumura) • 現職:ソリューションエンジニア@日本オラクル • 前職:銀行決済系(SWIFT、CLS、日銀)SIer • 好きなOS:AIX • 好きなスタンド:クレイジー・D
  4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 4 ブロックチェーン エンジニアに なりたいかー!!!
  5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | is BLOCKCHAIN DEAD?:ブロックチェーンはオワコンなの? 仮想通貨/暗号資産(e.g. BTC,ETH)の価格は 2017年末の最高値から2018年を通して下降基調 6
  6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | ブロックチェーンエンジニアの需要 is すごい 7 From CNBC https://www.cnbc.com/2018/10/21/how-much-do-blockchain-engineers-make.html • USでのブロックチェーンエンジニアの 給与は平均15万~17万5千ドル • この給与はAIスペシャリスト並、 ソフトウェアエンジニア最高水準 • 2017年から2018年にかけて 需要は4倍に急上昇
  7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 国内でも着々と進むブロックチェーン社会実装への道 8 From NTT Data http://www.nttdata.com/jp/ja/news/release/2018/082300.html
  8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 国内でも着々と進むブロックチェーン社会実装への道 9 From 関西電力 https://www.kepco.co.jp/corporate/pr/2018/1015_1j.html
  9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 国内でも着々と進むブロックチェーン社会実装への道 10 From 関西電力 https://www.kepco.co.jp/corporate/pr/2018/1015_1j.html エンタープライズ領域での 業務システムへのブロックチェーン利用が 本格的に始まりつつある ⇒国内でのブロックチェーンエンジニア需要は どんどん高まっていく
  10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | ていうかブロックチェーンエンジニアって何よ? 以下どちらも「ブロックチェーンエンジニア」 • ブロックチェーンとその周辺技術を開発、または研究するエンジニア – Bitcoin基盤を開発してるよ、Ethereum、Hyperledgerコミュニティで開発に参加してるよ – ブロックチェーンに使う暗号アルゴリズム研究してるよ • ブロックチェーンを利用するシステム、アプリケーションを開発するエンジニア – 仮想通貨取引所サービスを開発してるよ – EtheruemでDAppsの開発してるよ – Hyperledger Fabricを業務システムに応用するよ 11
  11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 2種類のブロックチェーン:Permission-less v.s. Permissioned 12 • パーミッションレス(Permission-less)a.k.a. パブリック – 誰でもネットワークに参加し台帳のコピーを保持できる(例:ビットコイン、Ethereum) – 現実世界の個人/法人のIDとの紐付が不要(匿名性) – コンセンサスモデルは参加者の経済的インセンティブに基礎を置いたアルゴリズムに基づく ⇒マイニング(PoW)などを用い比較的低速なトランザクション処理 • パーミッションド(Permissioned)a.k.a. プライベート – クローズドな生態系:招待されたメンバーが参加し、台帳のコピーを保持する – 誰がメンバーなのかは実世界において知られている – コンセンサスモデルは「メンバーが誰なのかがわかっている」という点に依存することができる ⇒多数決などの比較的高速なトランザクション処理
  12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | • 一般ユーザーがターゲットの ユースケースが多い – 仮想通貨、ゲーム、チケット管理など • Web系、自社サービス開発系での 参入が多い • 企画力、マーケティング、UX、 エコノミー設計などのスキル • 複数企業のコンソーシアムでの 業務システムのユースケース – 金融、サプライチェーン、契約処理など • 非IT企業システム企画/開発部門、 SIerでの需要 • 業務知識、基盤知識、セキュリティ、 プロジェクト推進力などのスキル 13 それぞれの特性(※個人の感想 Permission-less/パブリック Permissioned/プライベート
  13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Permissionedブロックチェーン全然盛り上がってない疑惑? • Permissionedのブロックチェーンは業務システムでの利用が主 • ターゲット層が限定、また守秘義務によりあまりアウトプットが出てこない ⇔ Permission-lessのユースケースは「みんなに使ってもらいたい」ので宣伝が活発 14 意外とやってた
  14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 代表的なブロックチェーン/DLT技術 Bitcoin Ethereum Corda Enterprise Ethereum Hyperledger Fabric 用途 仮想通貨決済 汎用 金融機関間取引 汎用 汎用 ガバナンス 開発者コミュニティ 開発者コミュニティ R3社 EEA Linux財団 参加形態 Permission-less Permission-less Permissioned Permissioned Permissioned プライバシー 公開 公開 限定 限定可能 限定可能 コンセンサス PoW PoW 当事者間 方式選択可能 方式選択可能 仮想通貨 BTC ETH なし なし なし スマートコントラクト なし Solidity、 Vyper Kotlin、Java Solidity、 Vyper GO、Node.js、 Java 備考 ― PoSへの移行予定 ― Ethereumの Permissioned版 フォーク スマートコントラクト はJavaも追加サ ポート計画あり 15
  15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Hyperledger Fabric • Hyperledger : Linux財団がホストするオープンなコミュニティ – 世界で最も成功したOSS=Linuxでの成功実績に基づいた運営 – 185以上のさまざまな業界およびIT企業が参加 – Fabricをはじめ、複数ブロックチェーン/DLTをOSSプロダクトとして開発 • Fabric : エンタープライズ利用のためのオープンソースブロックチェーン基盤 – メンバー管理サービスを備えたパーミッションドブロックチェーンを実装 – マイニングなどの大規模コンピューターパワー投入は不要&ファイナリティ有 – モジュール化されたアーキテクチャによりさまざまな機能をプラグアンドプレイで提供 – コンテナを活用したスマートコントラクトによって業務を自動化 – 機密性/プライバシーを備えつつスケーラブルな設計 16 エンタープライズ用途を目的として開発されたブロックチェーン
  16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | • Peerノード – 台帳を保持している – 依頼されたChaincodeを実行する – トランザクションを検証して台帳に反映 • Ordering Service – ひとつ~複数のOrdererノードで構成 – 受け取ったトランザクションの 順序を確定してブロックを生成する – 生成したブロックをPeerノードに配る • Chaincode(スマートコントラクト) – 台帳の更新、照会のビジネスロジック • MSP(Membership Service Provider) – 証明書を管理する – 署名を検証する • クライアントアプリケーション – PeerノードにChaincode実行を依頼 – Ordering Serviceにトランザクション受付を 依頼 17 Hyperledger Fabric ~ 主要アーキテクチャ構成要素
  17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Peer Hyperledger Fabricの台帳 Confidential – Oracle Internal 18 Peerノードはそれぞれ台帳を保持している 台帳はKey-Valueストアになっており、 以下ふたつの要素から構成される + ブロック: トランザクションと値の履歴を格納 State DB(World State): 現在の値を格納するデータベース Peer Peer Peer
  18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Hyperledger Fabricのトランザクションフロー クライアントアプリ Fabric SDK Keys MSP Peerノード(複数) Endorser Simulates TX StateDB Committer Applies changes Ordering Service Certificate Authority 3.0 –ブロックの配布 署名の検証、認証 トランザクションの 順序を確定し バッチ(ブロック) を生成 2.0 – Endorse済のTX送信 (署名とRWsetを含む) ブロック チェーン 4.0 – 台帳に書き込み 5.0 – コミット通知 Chaincode
  19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Hyperledger Fabricお勉強の道 • ブロックチェーンとは?的な話はWebで学習 • 『Hyperledger Fabricによるアプリケーション開発』 通称黄色本 アーキテクチャ、トランザクションフローの基礎の解説から ネットワーク構築、開発環境構築まで一通り網羅 • 『ブロックチェーンシステム設計』 ブロックチェーンを利用する業務システムを設計するうえで 注意すべき点、設計の指針などを親切に解説 • 以降は公式ドキュメント、各種ブログ等で情報収集 21
  20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Get your hands dirty:とりあえず手を動かそう! •ちょっと前:ネットワーク構築はいばらの道 –Poorな公式ドキュメント、やってみた系の情報も全然見つからない –Linux、Docker、暗号鍵、etc. …前提知識多すぎ –絶望的に動かない、なんで動かないのかわからない •いま:ネットワーク構築は「がんばればできる」状況に –公式ドキュメントの充実、黄色本の登場 –やってみた系ブログもぼちぼち出てきた –できあがったVM環境の配布も 22
  21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | さっさとChaincode(スマートコントラクト)書きたい! •各社PaaSもあるよ –それでも難易度の高いネットワーク構築を数ステップで完了 –Chaincodeの開発、テストに集中できる –Hyperledger Fabricに対応した代表的なPaaS(リリース順) IBM Blockchain Platform Oracle Blockchain Cloud Service AWS Managed Blockchain(現状Preview) 23
  22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | Oracle Blockchain Cloud Service Oracle Blockchain Cloud Service 24 • かんたん – 数ステップで構築完了 – 使いやすいGUIコンソール画面 • はやい – Berkeley DB採用によりパフォーマンス改善 • べんり – 多機能なREST APIゲートウェイが付属 – リッチヒストリーDBで台帳をRDBにレプリケーション
  23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

    | 25 ブロックチェーン エンジニアに なろう!!!
  24. 27