Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

深読みビットコイン (2) コンセンサスの行方

6,749 views

Published on

2015年2月27日にギークオフィス恵比寿にて開催した斉藤賢爾 研究会 2015.2「深読みビットコイン (2) コンセンサスの行方」のスライドです。影のテーマは「IoT とブロックチェインのつれない関係」。

Published in: Technology
  • Be the first to comment

深読みビットコイン (2) コンセンサスの行方

  1. 1. 深読みビットコイン(2) コンセンサスの行方 (IoT とブロックチェインのつれない関係) 斉藤賢爾 研究会 2015.2 ks91@sfc.wide.ad.jp 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.1/41
  2. 2. かんたんな自己紹介 斉藤 賢爾 (さいとう けんじ) 株式会社コインパス チーフアーキテクト 慶應義塾大学 SFC 研究所 上席所員 (訪問) 一般社団法人アカデミーキャンプ 代表理事 http://twitter.com/ks91020 http://www.facebook.com/ks91media 経歴 1993 年、コーネル大学大学院より M.Eng 取得 (コンピュータサイエンス) 2006 年、慶應義塾大学より博士号取得 (政策・メディア) インターネットと社会に関する研究 慶應義塾大学 SFC 村井研究室 所属 主な研究テーマ : 「人間のデジタル通貨」の開発と実用化 福島のこどもたちのための「アカデミーキャンプ」を実施 → つながってるね! 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.2/41
  3. 3. 最新刊 『角川インターネット講座 (10) 第三の産業革命 経済と労働の 変化』第 9 章 インターネット と金融 – 弱体化する貨幣経済 (2015) ジャンル: ピケティは関係ありません 金融での FPGA の応用に 始まり ビットコインについても 触れながら 章の最後には人工知能と 地球規模 OS の話に 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.3/41
  4. 4. この回の目的と手段 デジタル技術によるコンセンサス基盤とその応用に ついて考えます ビットコインを契機にして立ち起こったコンセンサス 基盤のためのさまざまな技術を振り返ります 現存するコンセンサス技術をサイバーフィジカル/IoT 環境に適用することに関する問題を提起します サイバーフィジカル : 物理環境のサイバー化 IoT : Internet of Things 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.4/41
  5. 5. おさらい – ブロックチェイン 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.5/41
  6. 6. ブロックチェインとは? ブロックのチェイン ブロック ← トランザクション (取引) の集まり トランザクション ← 状態の変化の記述 パブリッシングのプラットフォーム “A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post” “To implement a distributed timestamp server on a peer-to-peer basis, we will need to use a proof-of-work system similar to Adam Back’s Hashcash, rather than newspaper or Usenet posts” – Satoshi Nakamoto (2008) 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.6/41
  7. 7. 基礎技術 - 暗号学的ハッシュ関数 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.7/41
  8. 8. 基礎技術 - デジタル署名 本人が送ったものであり改竄されていないことが証明できる RSA, DSA, ECDSA (楕円曲線 DSA) 等 トランザクションはデジタル署名される 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.8/41
  9. 9. ブロックチェインの概要 (ビットコインの場合) 1. 各マイナーは、過去 10 分ほどの間に収集した取引データを ブロックに格納し、マイニング (くじ引き) を行う 2. 成功したらネットワーク内にブロードキャストする 3. 各マイナーは、それをチェインの新しい末尾と認めるなら、 その後ろにブロックを繋げるべく 1 に戻る 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.9/41
  10. 10. ブロックチェインの (現在までの) 応用 通貨 例 : ビットコイン、ライトコイン、. . . 存在証明 例 : Proof of Existence ネームサービス 例 : ネームコイン DAO/DAC — 自律分散 (企業) 組織 例 : ビットコイン、. . . ユーザを株主、ビットコインを株式、採掘者たちを従業員と考えれば そのプログラムコードは、株式の移転を業とするその組織の経営の仕方を 記述していると見なすこともできる 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.10/41
  11. 11. 地球規模OS (2007) 複数主体による地球上の資源の利用を調整する 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.11/41
  12. 12. 基盤としての地球規模OS 金融・貨幣経済システムを時代遅れにする 決済システムを内包 プログラミング言語を内包 コードが社会の規範をかたちづくる 人的資源を含む地球上の資源の会計システム 人々が業を起こすための基盤 政府も、営利組織も、NPO/NGO も利用できる 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.12/41
  13. 13. Proof of Work (作業証明) 再訪 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.13/41
  14. 14. Proof of Work とは? 計算コストを投入したことの証明 作業は困難だが、その結果の検証は容易 それにより、スパムや不正行為を抑止する 例 : Hashcash (1997) メールヘッダに SHA-1 ハッシュ値の最初の 20 ビット (当時) が 0 になるような乱数を用いたスタンプを載せる 1 通のメールの送信準備に 1 秒ほどかかる 受信側での確認は一瞬で、スタンプが無効ならスパムと扱う ハッシュ値/ダイジェストを用いる場合の一般化 あるターゲット以下になるようなダイジェストとなるデータを 見つけよ 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.14/41
  15. 15. マイニング (ビットコインの場合) 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.15/41
  16. 16. ターゲットの調整 (ビットコインの場合) 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.16/41
  17. 17. POW による保護 Proof Of Work (作業証明) を課すことで改ざんを抑止する 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.17/41
  18. 18. Proof of Work の課題 (ビットコインの場合) エネルギー消費 パワーの集約 ASIC 化 マイニングプール ブロックチェインを維持する動機と無関係 全ブロックを保存していなくてもマイニング自体 は可能 (ただしトランザクションを検証できない) 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.18/41
  19. 19. Dagger Hashimoto アルゴリズム Ethereum v1.0 で採用予定のハッシュ関数 Dagger (V. Buterin) + Hashimoto (T. Dryja) Hashimoto ブロックチェインデータに対する頻繁なメモリ I/O に基づく Dagger 有向非巡回グラフへのアクセスに基づき、検証を 軽量化 ⇒ ASIC 化を抑止し、軽量クライアントにより検証可能 で、ブロックチェインデータの保持が動機づけられる 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.19/41
  20. 20. Proof of Stake (持ち分証明) 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.20/41
  21. 21. Proof of Stake とは? ブロックを生成できる確率が、当該コインの持ち分の 多さに応じて上昇する 次の利点をもつと言われる エネルギー消費が低い (無視できる) 集約がより困難 (コインの過半数を所有できるか) ピアコインなどで採用される 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.21/41
  22. 22. Proof of Stake の一般式 digestn (prev_digest + id + timestamp + . . .) ≤ 2n × balance difficulty digestn : n ビット値を出力する暗号学的ハッシュ関数 (ex. SHA-256 (n = 256)) prev_digest : 直前のブロックのダイジェスト id : アカウントの識別子 (ex. 公開鍵のダイジェスト) timestamp : 時刻 (ex. UNIX 時刻 (秒)) balance : 当該アカウントの残高 difficulty : 難易度 (ex. コインの総量) 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.22/41
  23. 23. Proof of Stake の 3つの問題 1. コインの溜め込み 2. “Nothing at Stake” 短期的問題 長期的問題 3. 低コスト 51% 攻撃 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.23/41
  24. 24. コインの溜め込み 持ち分が多い方が有利なので、コインは溜め込まれ、 使われない傾向が生じる 貨幣メディアとしての基本機能が阻害される 対策 : Proof of Stake Velocity 古いコインの持ち分評価を下げる Reddcoin などで採用される 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.24/41
  25. 25. Nothing at Stake - 短期的問題 事故または故意にチェインが分岐した場合、参加者には事態を収拾 する動機がない 何も賭けていない 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.25/41
  26. 26. Nothing at Stake - 長期的問題 システムを開始した者は何度でも全体をやり直せる ジェネシスブロックの時点で持ち分は 100% その他の参加者も、持ち分さえあればそこからやり直せる 素の Proof of Stake では偽造を抑止できない 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.26/41
  27. 27. 低コスト 51% 攻撃 コインの過半数を取得する意思と、そのための十分な 資金の証拠を表明する すると、システムの正常な維持が期待できないと予想 されるため、コインの価格が急落する そこでコインを買い占める 原理的には、ほとんどコストを払わずにコインの過半 数を入手できる 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.27/41
  28. 28. Ripple のコンセンサスモデル 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.28/41
  29. 29. Ripple とは? 支払い経路の発見にもとづく決済システム Ripple path A さんが C さんに支払いたいが、直接つながりが ない A さんは B さんに支払える B さんは C さんに支払える A→B→C が ripple path となる 手数料を共通通貨である XRP (Ripple credits) で 支払う 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.29/41
  30. 30. 用語体系 コンセンサス ネットワーク全体が同一のレッジャーに合意する プロセス レッジャー システムの状態のスナップショット 全員の口座残高や与信情報などを含む ハッシュ木により実装 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.30/41
  31. 31. レッジャーとトランザクション システムはレッジャーの歴史を単一に維持する レッジャーはトランザクションの集合により変化する 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.31/41
  32. 32. UNL と信用 UNL : Unique Node List 共謀しないことを信用できる実名の検証ノード群 ユーザはそれぞれ 1,000 ノード以上から成る UNL を 選択する 異なる大陸から 200 ずつ選べとか、商業・金融・ 非営利・政党・宗教など異なるカテゴリーから選 べとか、いろいろ推奨されるが . . . 実用上はクライアントソフトウェアのデフォルト UNL を利用する 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.32/41
  33. 33. 重複する UNL とコンセンサス UNL 内の多数決で「採用するトランザクション集合」 を決めるが . . . 最大で 80% のノードの合意が必要 互いと共通のノードを持たない UNL を採用すると、 コンセンサスは達成できない 実用上は UNL のノードは重複すると前提できる 二重消費の検出と無効化 トランザクションはソートされ、矛盾するふたつ のトランザクションのうち先のものが採用される 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.33/41
  34. 34. Ethereum とその応用 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.34/41
  35. 35. Ethereum とは? ブロックチェイン技術を応用 そこにプログラミング言語を載せる スマートコントラクトのための分散アプリケーション 基盤 スマートコントラクト : デジタルに表現される資産を予め定められた ルールに従って自動的に移転させる仕組み 現在の金融・貨幣経済システムを時代遅れにしようと する意図が見える 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.35/41
  36. 36. ブロックチェインと状態遷移 ブロックチェイン = 状態マシンの run 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.36/41
  37. 37. 用語体系 Ether Ethereum における通貨 外部アクター デジタル署名できる実在で、アカウントをもつ 自律オブジェクト システム内で自律動作し、アカウントをもつ アカウント Ether 残高をもち、ストレージや EVM コードを もてる EVM コード スマートコントラクトのプログラム 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.37/41
  38. 38. EVM : Ethereum Virtual Machine 自律オブジェクトがメッセージを受けると起動し、コントラクトを実行 実行ステップ毎に Gas の供給が必要 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.38/41
  39. 39. 応用可能性として語られるもの 通貨 デリバティブ等の金融商品 ネームサービス、評判システム 分散ファイルストレージ DAO/DAC IoT 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.39/41
  40. 40. IoT とブロックチェインのつれない関係 センシング (物理世界の情報の取得) 過去のデータのパブリッシングには有効 ただしデータの順序性は原理的に保証されない ブロックチェインのタイムスタンプは実時間ではない 過去のデータが新しいブロックに載ることがある アクチュエーション (物理世界への働きかけ) いつ I/O を出すのか? EVM からは出せない (複数のマイナーが冗長に実行するため) ブロックが確定する時刻だとすれば確率的 将来の I/O を予約することは実用上可能かも 洗濯機は本当に制御できるのか? 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.40/41
  41. 41. ご質問や議論を 深読みビットコイン (2) コンセンサスの行方 — 2015-02-27 – p.41/41

×