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.

OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料

2,074 views

Published on

BlockChainに本当に利用価値はあるのか? - OpenID BizDay #9
山崎重一郎氏プレゼン資料

Published in: Technology

OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料

  1. 1. ブロックチェインを理解する 近畿大学 山崎重一郎
  2. 2. 自己紹介 近畿大学 山崎重一郎  第五世代コンピュータ  Telescript 言語  NPO法人 電子認証局市民ネットワーク福岡 理事長 FinTech革命 (日経BPムック) ブロックチェインの解説 仮想通貨 (東洋経済新報社) 岡田仁志、高橋郁夫、山崎重一郎 インターネット白書2016 (インプレス) ブロックチェイン技術の 仕組みと可能性
  3. 3. Fukuoka Ruby大賞優秀賞(2016年2月9日) 仮想通貨のブロックチェイン技術によるP2P型電子投票システム 近畿大学、ハウ・インターナショナル
  4. 4. ブロックチェインを理解するには FinTechの視点がわかりやすい
  5. 5. NHKの朝ドラから 大阪1番の両替商 大阪2番の両替商 夜逃げ 銀行 時代の変化への適応 失敗
  6. 6. FinTechとは 高度ITサービス産業 時代の変化への適応 銀行 銀行 夜逃げ 失敗
  7. 7. 銀行の本業 決済 現金不要のモバイルペイメント? 融資 AIによる即時融資+クラウドファウンディング? 台帳管理 ブロックチェインの分散台帳?
  8. 8. FinTechの真贋は未知数 銀行の信用、社会的役割、高度な知識は簡 単にはテクノロジに負けない しかし 変化の波は確実に来ている
  9. 9. 想像上のFinTech スマートフォンアプリのワレットで直接決済 金融機関 支払い 給与振込
  10. 10. 想像上のFinTech 銀行のような「信頼できる主体」が不要 給与支払い アドレス ビットコインのブロックチェイン 台帳 台帳 台帳 アドレスアドレスアドレス ノード ノード ノード
  11. 11. ビットコインのブロックチェイン 想像上のFinTech カラードコイン技術なら法定通貨も送金可能 給与支払い 台帳 台帳 台帳 日本円 日本円 アドレスアドレスアドレス ノード ノード ノード
  12. 12. 想像上のFinTech 銀行口座が必要ない将来 ブロックチェイン ノード ノード ノードノード ノード ノード 台帳 台帳台帳 台帳 台帳 台帳 銀行口座っ て必要?
  13. 13. 世界のメガバンクは すでに行動を開始  ブロックチェインによる分散台帳(例 R3 cev)  台帳管理コストの削減 台帳 莫大な 管理コスト ブロックチェイン ノード ノード ノードノード ノード ノード 台帳 台帳台帳 台帳 台帳 台帳
  14. 14. プライベートチェイン ノード ノード ノードノード ノード ノード プライベートチェイン 非公開のブロックチェイン実装  銀行の願望を表した概念?  ブロックチェインではない  FinTechへの準備運動と技術開発には有効 低コストで分散台帳を 支配/管理したい 台帳 台帳台帳 台帳 台帳 台帳 DBの 代わり?
  15. 15. 認証/認可が必要な仕様のノードで構成  プライベートでもパブリックでも可能  記録主体が認可済 → 台帳記録の法的意味  ノードのコードの支配が前提 パブリック・ブロックチェイン 許可済 ノード 一般 ノード 一般 ノード 許可済 ノード 要認可 ノード 許可型ブロックチェイン 台帳 台帳台帳 台帳 台帳 認証/認可 サービス 台帳 台帳 台帳 アドレスと実体 の対応をチェック
  16. 16. 認証/認可サービスの主体による支配  ブロックチェインの参加者を支配できる  台帳記録の意味を自分で定義できる パブリック・ブロックチェイン 許可済 ノード 一般 ノード 一般 ノード 許可済 ノード 要認可 ノード 許可型ブロックチェイン 台帳 台帳台帳 台帳 台帳 認証/認可 サービス 台帳 台帳 台帳 支配 メガバンク? 存在 証明
  17. 17. ブロックチェインの定義について レイヤの視点  主体の認証、権限認証、役割割当  分散台帳に記載される内容や契約などのルールの定義  ルールに基づいたアセットの処理や契約の遂行 ビットコインの特性の視点  分散型タイムスタンプ  分散合意システム  分散計算プラットフォーム  分散データベース
  18. 18. 分散型タイムスタンプ (Lamportの論理時計) 事象の発生によって針が進む時計  分散システムのどこかで事象が発生  放送され全ノードに伝わると時計の針が一つ進む a b a→b
  19. 19. 論理時計としてのブロックチェイン 「ブロック」が一連に連鎖したもの  事象の発生すると新しいブロックが作られる  ブロックが接続される=時計の針が一つ進む 時間軸 事象 事象 事象 事象 事象 事象 事象
  20. 20. 分散型タイムスタンプ  全ノードに事象伝わる時間間隔を設定(10分)  代表が事象のスナップショットを作成 a b a→b 事象のスナップショット c d c→d
  21. 21. 論理時計としてのブロックチェイン 代表ノードがスナップショット作成  10分間に自分が受け取った事象を集める  ブロックチェインは事象の時系列的記録になる 時間軸 10分 10分 10分 10分 10分 10分 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象
  22. 22. 分散合意システム  どのノードも代表ノードになり得る  代表ノードによって受け取る事象の集合は異なる a b a→b 事象のスナップショット 事象のスナップショット 代表ノード 代表ノード c d c→d
  23. 23. 分散合意システム 事象の時系列的記録を一つに確定するには 代表を一つに決める必要がある 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 事象 代表1 代表2 事象 事象 事象 事象 事象 時間軸
  24. 24. ビザンティン合意問題 全ノードに代表の意見に合意させたい  合意を邪魔する狡猾なノードが存在するかも  複数のノードが結託して邪魔をすることも 分散システムの難問  ビットコインがはじめて実用的解法を与えた A B C Bの意見 1 Cの意見 1 Cの意見 1 Bの意見 0 Cの意見 0
  25. 25. ビットコインの分散合意方法 プルーフ・オブ・ワーク法  計算競争を用いて代表者を選出  勝利者に報酬を与える  ブロックに市場価格が存在 報酬 事象 事象 報酬 事象 事象 報酬 事象 報酬 事象 事象 報酬 事象 報酬 事象 事象 報酬 事象 事象 報酬 事象 代表1 代表2 報酬 事象 勝利者 報酬 事象 事象
  26. 26. 分散合意システム 二重使用が可能になるケース A->B A(未使用) A-> B A(未使用) AからBへの送金が記録されているブロックチェイン 取り消された分 岐 AからBへの送金を記録したブロックチェインを取り消し A自身への送金を記録したブロックチェインを正統なものとする A->A
  27. 27. プルーフ・オブ・ワーク法 計算競争(マイニング)で代表を決定  プルーフ・オブ・ワーク 消費電力が問題になるほどの莫大な計算の結果  計算結果は誰でも簡単にチェックできる  計算難易度が自律的に変化 → 平均10分に調整 報酬 事象 事象 莫大な 計算の結果
  28. 28. 非可逆性と完了性 非可逆性  時間を巻き戻すには莫大な再計算が必要 完了性  確率的閾値(例えば1/1兆=約6確認) 報酬 事象 事象 莫大な 計算の結果 直前ブロック のハッシュ値 報酬 事象 事象 莫大な 計算の結果 直前ブロック のハッシュ値 報酬 事象 事象 莫大な 計算の結果 直前ブロック のハッシュ値 時間軸 報酬 事象 事象 莫大な 計算の結果 直前ブロック のハッシュ値 1/10000 1/1001/10000001/100000000
  29. 29. プルーフ・オブ・ワーク法 ビットコインのブロックには市場価格がある  市場価格の存在により「神の見えざる手」が作用する  利己的な競争により全資源利用は次第に最適化される
  30. 30. プルーフ・オブ・ワーク法 エネルギーや設備の無駄?  市場からの収益以上に機材や電力が消費されることはない むしろ  市場価格がないものこそが浪費される  制度的な支配によるコスト構造は市場価格よりも高価 R3 CEVのブロックチェインの利用/運用コストは? おそらくビットコインより高価になる
  31. 31. パブリックチェインとは ブロックに市場価格が存在するもの  単なる公開/非公開がクライテリアではない プライベートチェインとは  ブロックに市場価格が存在しない  内容がメンバー以外には非公開
  32. 32. 認可型プライベートチェイン マイニング・ローテーション法  代表者が一定のルールで順次交代する  1周まわると全員合意になるので事象が完全に完了する 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書 公開 鍵証 明書
  33. 33. 認可型プライベートチェイン 20年後は?  脱落、分裂  高コスト化、設備や技術の陳腐化  エコシステムが誕生し、用途ごとに使い分けが始まる
  34. 34. そのほかの合意形成方法 Proof of stake法(お金を持っている人が代表)  一番金持ち法(☓)  所持金+PoW法 確率的に所持金額と同じ比率でマイナーになる 金持ち同士の競争激化で消費電力はおそらく同じ  コインエイジ法 金額と古さの組み合わせが大きいほど有利になる(30日~90日) 一度マイニングに使ったコインは30日間マイニングに使えない
  35. 35. 許可型と市場型による分類 許可型/非許可型と市場型/非市場型は直交する  非許可型プライベートチェインはブロックチェインでない 許可型 非許可型 市場型 許可型パブリックチェイン パブリックチェイン 非市場型 許可型プライベートチェイン 非許可型プライベートチェイン
  36. 36. ブロックチェインとインターネット 共通する特徴  動的分散システム、互恵的コスト負担 インターネット  全体像は管理されず、ローカルな情報だけで機能する ブロックチェイン  全体像が存在し、同期して同一のデータを持つ  各ノードが完全なブロックチェイン  全ノードが同一の計算を実施(正当性の検証など)
  37. 37. 「コード」を動かし、P2Pネットワーク接続し、同期すると 自分自身がブロックチェイン ブロックチェインは「あちら側」に あるのではない コード
  38. 38. 発生したすべての出来事を 全ノードで記録し、正当性を確認する Bitcoinネットワーク 確認 コードコード コード コード コード コード コード コード コード コード コード 確認 確認 確認確認 確認 確認 確認 確認 確認 確認
  39. 39. 三式簿記の構造を持つ (資産合計=負債合計=予算合計) ビットコインの取引記録 インプット 公開鍵 アウトプット 送金先 金額 資産 負債 予算 送金者 秘密鍵 ワレット 電子署名 電子署名 取引記録 ブロックチェインに記録 UTXO
  40. 40. 10分ごとに一定量増加している  増加量は(4年周期で半減) 経済圏全体の「貨幣的量」は単調増加 10分 10分 10分 10分 25BTC 25BTC 25BTC 25BTC 無 無 無 無 UTXO
  41. 41. 取引記録のスクリプト 目的 アウトプットの使用条件を規定 受領者が次に使うときに評価される 使用条件 秘密鍵公開鍵 受領者 公開鍵ハッシュ アウトプットスクリプト 送金者 UTXO 電子署名 秘密鍵公開鍵 UTXO
  42. 42. scriptSig: <電子署名> <公開鍵> P2PKH (公開鍵ハッシュへの送金) 使用条件:対応する公開鍵の所有者だけ scriptPubKey: OP_DUP OP_HASH160 <公開鍵Hash値> OP_EQUALVERIFY OP_CHECKSIG 直前のoutput 送金のinput 証明すること (1)この公開鍵は、公開鍵Hash値に対応していること (2)電子署名によって公開鍵とペアになっている秘密鍵を持っていること (次の)送金者 秘密鍵公開鍵
  43. 43. ブロックチェインの記述力 銀行業務用の台帳として本当に利用できるか?  ビットコイン:取引記録の3式簿記だけ  他の仮想通貨のブロックチェインも同様 送金記録だけの台帳は玩具  記述力をどう拡張するかが大問題  イーサリアムに素朴に期待するのは幻想
  44. 44. ブロックチェインの記述力 問題はスクリプトとしての記述力ではない 例:ブロックチェインに記載したい内容  借入金100万円の内10万円が返済された  誰が、誰に借りていたか?  返済という行為を3式簿記で記述可能か?
  45. 45. ブロックチェインの記述力 ★open assets protocol を利用した例 マーカー アウトプット 借入金 アウトプット 10万円 焼却 借入金 アウトプット 90万円 借入金 インプット 100万円 返済金 アウトプット 10万円 返済金 インプット 10万円 UTXO UTXO proof of burn 焼却した証拠
  46. 46. UTXO ブロックチェインに記録されるもの ブロックチェインは状態マシン  UTXOは状態を意味する  取引記録は発生した事象の記録 ブロッ ク ブロッ ク ブロッ ク ブロッ ク ブロッ ク UTXO UTXO UTXO 過去 直前の状態 ブロックチェイン ブロック 報酬 取引記録 状態遷移の証拠 次の状態 記録される事象 取引記録 UTXO 取引記録 UTXO UTXO UTXO UTXO UTXO UTXO UTXO UTXO 取引 記録 取引 記録 取引 記録 取引 記録 取引 記録 取引 記録 取引 記録 取引 記録 取引 記録 取引 記録
  47. 47. 各ノードが全記録を同期(60GB) 強い破壊耐性 分散データベースとしての ブロックチェイン X X X
  48. 48. 全ノードにDBが必要か?
  49. 49. ブロックの実際の構造 ブロックヘッダだけなら80バイト/ブロック 50万ブロックでも40Mb
  50. 50. SPVによる簡易ノード 完全なブロッ ク チェ イ ン を持つノ ード ブロッ ク ヘッ ダだけの ブロッ ク チェ イ ンを持つノ ード マークル・ ルート を計算 確認し たい取引記録 のハッ シュ 値 確認に必要な 最低限度の情報 確認し たい取引記録 確認に必要な 最低限度の情報 マーク ル・ ルート hash0 0 1 hash0 0 2 hash0 1 hash0 2 hash0 3 hash0 4 hash8hash7hash6hash5hash4hash3hash2hash1 取引記録8取引記録7取引記録6取引記録5取引記録4取引記録3取引記録2取引記録1 ブロッ ク 内の取引記録 取引記録全体のハッ シュ 値 ( マークル・ ルート ) 一致し ていれば 存在確認成功 simple payment verification 自分に関係する取引記録のハッシュ値だけ ネットワーク経由でもらえばよい
  51. 51. ブロックチェインのコンパクト化 マークルツリーを利用 2分木の高さだけのハッシュ値で検証できる 1024個の取引記録から自分の取引記録を検証するには、 ハッシュ値10個貰えばよい
  52. 52. ブロックチェインは 分散DBでなくてもよい ほとんどのノードがSPVでも信頼性は失われない 破壊耐性、ゼロダウンタイム  そのためにブロックチェインを利用するのが合理的?
  53. 53. 分散計算プラットフォーム としてのブロックチェイン ビットコイン  簡易的なスクリプト処理系が存在する イーサリアム  ブロックの情報をいろいろ参照可能なスクリプト処理系  ブロックチェインを分散計算環境にしている  スマートコントラクトなどが目的
  54. 54. 取引記録の型 ビットコイン:per-output型取引記録  取引記録に複数のinputと複数のoutputがある イーサリアム:per-address型取引記録  取引記録にinputもoutputもない from アドレス to アドレス from: アカウント UTXO UTXO input output input output UTXO UTXO 送金者の電子署名 to:アカウント 送金者の電子署名
  55. 55. イーサリウムの計算 全ノードで同一の計算を行う  計算量の制御のために「エネルギー」の概念を導入 webアプリとのアナロジー  イーサリウム=RPC アカウントを対象にしたスクリプトで処理を定義  Open assets=REST アセット定義をURLによるリソースの状態の表現 OP_RETURNの引数領域を使うとUTXOにURLで状態表現が可能
  56. 56. スマートコントラクト ブロックチェイン上で電子契約を実行可能にする  ブロックチェインの状態マシンとしての機能を利用 スクリプトが本質か?  電子調達の例(リバティ・アライアンスみたいに) 消しゴム3個とトレーラ5台を発注 見積依頼→見積→決裁→発注→納品→検収
  57. 57. カラードコインの実現技術 アセットの三式簿記 OP_RETURNの引数 40バイト→80バイトを利用 open assets protocol
  58. 58. 取引記録のもう一つの型 per-asset 型:open assets protocol の取引記録  カラードコインの実現方法の一つ  アセットの起源を常に参照する取引記録 マーカー アウトプット アセット アウトプット イン プット マーカー アウトプット アセット アウトプット イン プット マーカー アウトプット アセット アウトプット イン プット マーカー アウトプット アセット アウトプット イン プット アセット アウトプット イン プット マーカー アウトプット アセット アウトプット イン プット 発行 発行
  59. 59. Assets Bitcoin 約0.2円相当 Bitcoinの上位レイヤとしてアセットを定義する 発行者(債務者)が存在する カラードコインとBitcoin アセット発行者 アセット 発行
  60. 60. Asset definition file  URLでブロックチェインから参照されるJSONデータ 債券を定義できる Open Assetsの約款 アセットID 約款 URL アセット 発行者
  61. 61. 自己宛小切手 (銀行が発行する小切手)  発行者:銀行  内容:アセット量と同額の日本円と交換 実質的に日本円として流通する Open Assets債券の例
  62. 62. UTXOをブロックチェインに復帰させる 復帰させるときにサイドチェインの全整合性を検証 2-way peg型サイドチェイン ザ・ブロックチェイン サイドチェイン 取引記録 UTXO ペグ ペグ アセット 約款 整合性 検証
  63. 63. The Block Chain同等の「信頼できる記録」 2-way peg型サイドチェイン ザ・ブロックチェイン サイドチェイン 取引記録 UTXO ペグ 整合性 検証ペグ アセット 約款
  64. 64. ブロック生成間隔を短くしたサイドチェイン サイドチェインによる 決済完了時間の加速 10分 10分 10分 10分 10分10分 ザ・ブロックチェイン サイドチェイン 5秒 5秒 5秒 5秒 ... ペグペグ
  65. 65. 復帰時の整合性検証にゼロ知識対話証明 サイドチェインによる 取引内容の隠蔽 ザ・ブロックチェイン サイドチェイン 取引記録 UTXO ペグ 整合性 検証復帰ペグ
  66. 66. ペグする方、される方、双方にメリット サイドチェインによる生態系 The block chain スマートコントラクト private chain セトルメント専用 private chain
  67. 67. まとめ ブロックチェインへの幻想を払拭すべき  現在の表現力は「玩具」DBと比較すべきでない  スマートコントラクトはブロックチェインの「外側」 金融機関がFinTechで有利な位置を目指すなら  ブロックチェインの支配 → 認証/認可を支配する ブロックチェインの今後  台帳としての記述力の拡張  ブロックチェインの上位レイヤを豊かにする  多様なブロックチェインの生態系が発生するかも

×