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

暗号通貨にまつわる課題のデータサイエンス的解決へ向けて

Toshihide Hara
February 13, 2019
140

 暗号通貨にまつわる課題のデータサイエンス的解決へ向けて

Toshihide Hara

February 13, 2019
Tweet

More Decks by Toshihide Hara

Transcript

  1. 株式会社AndGo代表取締役 原 利英,博士(理学)  2010年3月 東京理科大学理工学研究科情報科学専攻博士後期課程卒業  2010年4月 - 2015年3月 東京理科大学理工学部情報科学科助教  2015年4月 - 2017年4月 アクテイブ株式会社 IT研究所主任研究員  2017年4月 株式会社AndGo創業

    著書:数理物理と数理情報の基礎 , 近代科学社, 2016. SNS: 専門: 電子工作 天空の城ラピュタ ドラゴンボール 東芝J3100 (白黒液晶) QBasic, Delphi Doom, Quake, Unreal 小学生 中学生・高校生 ゲノム解析手法 塾教師/がん研究会 アーチェリー github/toshihr @ToshihideHara 大学生 Genome Analysis / Drug Delivery System / Chaos / Crypto 研究職 暗号と出会う ゲノムは暗号! ・高精度アライメント法 ・AESより速い暗号化法 ・暗号化したまま比べる技術 About me Pythonで解析!
  2. AndGoとは    AndGo 社名の由来 暗号技術を持つ会社、秘匿暗号の研究開発をする会社 だからAndGo (アンゴー = 暗号) Excite The

    World with Technology 技術で世界をワクワクさせる 技術が好きでたまらない 技術開発が楽しくて仕方がないエンジニアが創った会社 3期
  3. Reference: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses Bitcoin Address Private Key 18e14a7b6a307f426a94f8114701e7c8e774e7f 9a47e2c2035db29a206321725 Public Key

    Bitcoin Address ECDSA Base52Check Encode 0250863ad64a87ae8a2fe83c1af1a8403cb53f5 3e486d8511dad8a04887e5b2352 1PMycacnJaSqwwJqjawXBErnLsZ7RkXUAs Double Hash SHA256 RIPEMD-160
  4. Alice Bob Blockchain Blockchain and Keys Private Keys Private Keys

    Public Keys Public Keys 参照: 「堅牢なスマートコントラクト開発のためのブロックチェーン[技術]入門」 インターネット上に公開されている
  5. Alice Bob Blockchain Only Bob can Unlock Bob is the

    New Owner Bitcoin Ownership Transfer
  6. Bitcoin Transactions Bob Alice Transaction A 0.3 BTC Transaction B

    0.1 BTC Transaction A Input FROM Previous Transaction: #0 Alice 1.0 BTC Output Output #0: Bob 0.3 BTC Output #1: Alice 0.6995 BTC Fee: 0.0005 BTC 1.0 BTC Transaction B Input FROM Transaction A: #0: Bob 0.3 BTC Output Output #0: Carol 0.1 BTC Output #1: Bob 0.1995 BTC Fee: 0.0005 BTC Miner 0.0005 BTC 0.6995 BTC 0.0005 BTC 0.1995 BTC Carol 0.3 BTC Miner
  7. Bloc Block Block Transactions and Blockchain Transaction A Input FROM

    Previous Transaction: #0 Alice 1.0 BTC Output Output #0: Bob 0.3 BTC Output #1: Alice 0.6995 BTC Fee: 0.0005 BTC Transaction B Transaction C Transaction Transaction Transac Transac Prev Hash Nonce Prev Hash Nonce Prev Hash
  8. Key Takeaways So Far Holds Private Keys NOT Bitcoin Wallet

    Stores Transaction History Bitcoin Blockchain Proves Bitcoin Ownership and allows its transfer Private Key
  9. HACKED “4 million BTC are lost and 2 million BTC

    are stolen” ccn.com, JULY 04, 2018
  10. Q2. Private Keys Stored ONLINE or OFFLINE? Log-in Wallets Client

    Wallets Hardware Wallets Wallet Providers YOU YOU Partially ONLINE ONLINE OFFLINE
  11. アプリ 全体像 ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API /

    JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン USBケーブル/Bluetooth
  12. アプリ トランザクションの流れ ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API /

    JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン ①トランザクション  データ作成 ②トランザクション  データ送信 ③電子署名 ④署名済み  トランザクション  データ送信 ⑤署名済みトランザクション  ブロードキャスト
  13. アプリ 全体像 ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API /

    JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン USBケーブル/Bluetooth 1 2 3
  14. 1.ハードウェア - 構成 主な機能 秘密鍵の保管 + 秘密鍵による電子署名 メモリ(無揮発性) ・秘密鍵を保管する CPU

    ・秘密鍵をつくる ・秘密鍵の束を管理する(ウォレット機能) ・秘密鍵を使って電子署名する
  15. 1.ハードウェア - TREZOR メモリとCPUが一緒になったマイコンを利用 仕様 [6] ・マイコン STM32F205RET6  ARM Cortex-M3

    (32bit)  Flash 512kb  SRAM 128kb  Random Number Generator 特徴 ・OSが動かないほどコンパクトだ からハックされにくい ・マイコンの中で秘密鍵の管理、 電子署名を完結する
  16. 1.ハードウェア - Ledger Nano S セキュアマイコンを利用 仕様 [6] ・マイコン STM32F042K

    ・セキュアマイコン ST31H320 特徴 ・デュアルチップ構成 ・耐タンパー性がある [https://hodlitbro.com.au/2017/12/28/ledger-nano-s-protect-your-coins-with-a-hardware-wallet/]
  17. 1.ハードウェア - Common Criteria (CC) セキュアマイコンはCommon Criteria基準で評価されている ・コンピュータセキュリティのための国際規格 ISO/IEC 15408

    ・セキュリティ評価の枠組みが提供されている ・CCは要求仕様を示し、開発、評価のプロセスが厳格な方式で行われたという保証を提 供する ST31 (Ledger Nano Sの採用するチップ) について ・評価保証レベル (EAL, Evaluation Assurance Level) 5+ ・EALはCCのうち、製品の開発過程全般をカバーする保証要件のパッケージ ・Ledgerによるファームウェア実装部のセキュリティが評価されているわけではない [https://www.st.com/en/secure-mcus/secure-hardware-platforms.html]
  18. 1.ハードウェア - 信じて良いのか問題 差し込むだけのお手軽ハック技術が存在 BadUSB ・Black Hat USA 2014にて発表された ・差し込むだけでキーログを回収できる

    ・ワクチンソフトで検出できない USBdriveby ・DNSを書き換える機能 ・アプリケーションにアクセスする機能 [BadUSBをやってみた, 7]
  19. 3.アプリ 主な機能 UTXOを集め残高を計算する、Txの作成、検証をする 各アドレスの残高を合算する Transaction A Input FROM Previous Transaction:

    #0 Alice 1.0 BTC Output Output #0: Bob 0.3 BTC Output #1: Alice 0.6995 BTC Fee: 0.0005 BTC トランザクションを検証する
  20. www.andgo.co.jp www.facebook.com/andgojp/ (JP) www.facebook.com/andgoinc/ (EN) @andgo_inc (JP) @AndgoInc (EN) ・新たな金融を支えるアプリをつくりたい人

    ・ブロックチェーンをデータ解析したい人 ・APIバックエンドを開発したい人 Let’s Enjoy Tech-Driven Evolution