ET IoT 2016 SEC先端技術入門ゼミ ブロックチェーン入門 その仕組みとIoTへの適用の可能性 応用を探る 2016/11/16 株式会社ハウインターナショナル 取締役 CTO 高橋 剛
弊社について 本社: 福岡県飯塚市 博多オフィス: 福岡県Ruby コンテンツ産業振興センター内 1999年7月設立 2 http://www.haw.co.jp/
ブロックチェーン関連の実績等 実証実験等 複数の金融機関との共同研究や実証実験を実施中 製品 サービス開発 日本初のブロックチェーン実証環境 Chaintope ブロックチェーン分析ツール Open Assets Explorer 3
ブロックチェーンとは 元来はデータ構造を指す言葉 だったが意味が拡大 Bitcoin等の仮想通貨を 支える技術および 類似システムの総称 P2Pや公開鍵暗号等の既存の 技術の組み合わせ 信用ある第三者の仲介なく 仮想通貨取引などができる 4
Bitcoinとその子孫 2008 サトシ ナカモト論文 Bitcoinから様々な派生プロジェ クトが誕生し 技術的な実験や 検証が行われてきた 2009 Bitcoin Altcoin Colored Coin Bitcoin 2.0 Ethereum 2015 2016 2015年以降は金融機関を始 め様々なプレイヤーが注目し 参入を始めている Hyperledger Distributed Ledger Technology (DLT) 5
既存の金融システムとの違い 中央集権モデル 信用できる仲介者 金融機関や電子マ ネー事業者等 を通じて取引 Bob Alice 残高や口座番号等は仲介者が実質的 に管理 仲介者との口座開設やICカード入手な どの事前手続きが必要 Chirs 非中央集権モデル P2Pネットワーク上の信用のない不特 定多数の第三者を通じて取引 1zyxw 1abcd 1opqr アドレスは参加者自身が管理し 残高 は全体が共有する分散台帳で管理 ソフトウェアのインストールとP2Pネット ワークへの接続が必要 6
信頼を担保するのは誰か 中央集権モデル Bob Alice 仲介者 金融機関等 仲介者に信頼とその責任を集中さ せ その代わり多くの内部手続きや 法的な規制等により不正を抑止 チェックする Chirs 非中央集権モデル 参加者全員 1zyxw 1abcd 1opqr 7 正直者が得をする仕組みと 本当に 正直だったのかを全員で確認できる 透明性を組み合わせ 参加者全員で 信頼を分担する
セキュリティモデルの相違 中央集権モデル 情報をクローズにする データベース等への不正アクセスを防 ぐことで機密性 完全性を実現 情報 セキュリティ 不正アクセスのリスク要因となるため 分散化ではなく性能向上により 可用性 を担保 機密性 情報漏えい等 完全性 破壊 改ざん等 非中央集権モデル 情報をオープンにする 可用性 参加者が全ての取引情報をオープン にし 相互監査により 完全制と可用性 を実現 DoS攻撃耐性等 参加者はプライバシーと保有する資産 の不正使用に対する 機密性を 自身 の秘密鍵と署名で担保 8
ブロックチェーンの特徴 非中央集権型(Decenterized)の分散データベースシステム どこにも登録不要で 取引ができる 改ざんや不正使用が 相当に困難 通信 データが 冗長化され障害に強い 所有権証明と移転 非可逆性の担保 自己組織化 公開鍵暗号 アドレス コンセンサスメカニズム 報酬の発生 分配 トランザクションの 生成 検証 ブロックの生成 検証 対等な データの伝播 保持 暗号学的ハッシュ関数 公開鍵暗号 9 P2Pネットワーク
公開鍵暗号とアドレス 暗号化 復号化 暗号データ 暗号化 暗号学的 乱数を生成 秘密鍵 楕円曲線を 使った演算 元データ 計算はほ ぼ 不可能 公開鍵を知る人は誰でも暗号化できる 秘密鍵の所有者のみが復号できる 署名 署名検証 公開鍵 計算はほ ぼ 不可能 ハッシュ関数を 使った演算 署名 ハッシュ値の 暗号化 Alice 署名 対象データ ハッシュ値 署名検証 署名の復号化 アドレス 1abcd...wxyz 復号化 対象データのハッシュ値を秘密鍵で暗号化したものが署名 署名を公開鍵で復号化してハッシュ値が一致すると検証成功 対象データをアリスが認めたという証拠になる 10
暗号学的ハッシュ関数 ブロックハッシュやトランザクションIDの算出に使用 データの指紋として扱える 計算容易 元データ ハッシュ値 4176E32BD4C3F5E23993A6C3F 73D6F9B9F74D95FA2DCD9DE02 B3836482BFBF5F 私アリスはボブに 0.1BTCを送ります 復元困難 類似性あり 類似性なし 類推困難 7EFCCCB0F344D6892E43AA514 3EEC73B87E4C748ED2CC2F3D4 B7C5DE54CF67D1 私アリスはボブに 0.2BTCを送ります この例では暗号学的ハッシュ関数として SHA256を利用 11
トランザクションの連鎖による所有権移転 参加者が認めている公知の事実をもとに新しい取引 トランザクション を検証する TX-Xを基に 19876から 12345へ100 送金 TX-Zを基に 1abcdから 1zyxwへ100 送金 TX-Yを基に 12345から 1abcdへ100 送金 Alice 署名 Bob 署名検証 1zyxw 参加者全員の 公知の事実 TX-Z TX-Y トランザクショ ン生成 1abcd 全員が認めたら取引は成立する Alice TX-Zの宛先アドレス 1abcdの 保有者しかできない署名が付さ れている TX-Zを使った人はまだいない TX-Zは公知の事実なので Aliceは少なくとも100保有して おり 送金は有効である 12
実際のトランザクションの連鎖 TX-A アドレスAに対応 した秘密鍵により 署名を生成 TX-C 入力 出力 出力 出力0 アドレスA 0.2BTC 参照した出力の全送付 額が入力に流入する TX-B 入力 入力0 TX-A:出力0 署名&公開鍵 出力0 アドレスB 0.3BTC 入力1 TX-B:出力2 署名&公開鍵 出力1 アドレスC 0.05BTC 出力2 アドレスA 0.05BTC 出力 出力2 アドレスA 0.2BTC 項目 入金 出金 TX-A:出力0 0.20 BTC アドレスB 0.30 BTC TX-B:出力2 0.20 BTC アドレスC 0.05 BTC アドレスA 0.05 BTC どの入力からも参照されていない出 力(UTXO)のみ利用可能 合計 項目 13 0.40 BTC 合計 0.40 BTC 自分への お釣り
P2Pネットワークでの自己組織化 生成したトランザクションをP2Pネットワーク経由で全参加者に共有する 各参加者のノードはトランザクションの検証を行う 検証済みのトランザクションは各自保持する 4cf4e5... 2bd98e... Alice 0.2 3ab45f... 4cf4e5... Bob 0.2 Alice 0.2 3ab45f... Bob 0.2 2bd98e... 14 3ab45f... Bob 0.2
各ノードのトランザクションの差異 76a7ab... 4cf4e5... 1ae670... 1ae670... 4cf4e5... 58ba88... 76a7ab... 76a7ab... ネットーワーク上の距離や伝搬遅延 ロスト 不正 2重使用など によ り各ノードが保持するトランザクションは異なる 15
ブロックチェーンによる非可逆性の担保 定期的に計算競争を行い 勝者が持っているトランザクションの一群 ブロック を 正と決める ハッシュ計算の総当りでしか解けない問題 Proof of Work を使う 勝者は報酬を得ることができる 未確定ブロック 確定済ブロック Header Header 前ブロック Hash 値 Alice 0.2 前ブロック Hash 値 データ構造は定義どおり 入力合計 出力合計 各インプットが参照するアウト プット は他で使用されていない 各インプットが参照するアウト プット のアドレスの所有者は インプットの署名者である 3ab45f... Bob 0.2...... データ構造は定義どおり ブロックのハッシュ値が現在の 難易度より小さい 約10分 約10分 16 約10分
分散合意の方法 多数のノードによる分散合意問題 厳密な分散合意は困難 ビザンチン将軍問題 ある条件で選ばれたノードが合意内容を決定する 確率的計算 資産保有率 取引量など 膨大な回数の試行が必 要な確率的計算を解くこ とができるか Proof of Work 資産の保有率が高い Proof of Stake 取引量が多いなど活発 な活動をしている Proof of Importance / Activityなど この他にもこれらのミックスや 特定の参加者の 持ち回りなど様々な方法が考案されている 17
ブロックチェーンの分岐 正しく計算されたブロックは複数存在しえる 長くなった枝を正統なチェーンとみなす 分岐は時々発生するが2ブロック以上続くことはまれ.............. 18
分岐の悪用 送金したと見せかけておく 後から改ざんブロックを生成して追い越せば不正が可能 現実には計算量の寡占が必要で相当困難...... Alice 0.2.. 改竄...... Bob 0.2 19...
Open Asset Protocol Bitcoin上で動くカラードコインの一種 Bitcoinの既存の機能を活用し トランザクションの中に別の取引情報を持たせ ることで実現 発行主体のある資産を表現し 流通させることができる 発行主体があるため債権債務関係を構成可能 活用例 NASDAQ プライベート市場など 20
Open Asset Protocol 資産は誰でも自由に発行でき IDで識別される 取引にはOAPに対応したトランザクションを生成できるソフトウェアが必要 トランザクション ID(TxID) Bitcoinアドレス 1対1対応 アセットID アセットアドレス 発行者アドレス* 0.000006 BTC Marker Output 0.000000 BTC 発行者アドレス(おつり) 取引手数料 合計 21 49.699594 BTC 0.000100 BTC 49.699700 BTC
電子投票システムへの応用 Bitcoinブロックチェーンに投票権の発行と移転を記録 地域のグルメイベントの人気店投票で実証実験を実施 第8回 フクオカRuby大賞 優秀賞受賞 22
ブロックチェーンが適するシーン 一般的な勘定系システム C-Aを重視 ブロックチェーン P-Aを重視 信 頼 性の高いハードとネットワー クを前 提としているため 一 貫 性 に問 題が生じにくく 性 能も上げ やすい また 一貫性に大きな問 題 が 生 じるときには サービスを 停止してメンテナンスできる 信 頼 性の低いハードとネットワー クでの利用を前提とし 管理者が おらず 全 体 をコントロールできな いため ある程 度の一 貫 性の問 題 発 生を見 込んだ設 計がなされ ている Kirsty Pargeter 123RF.com 一貫性 Consistency 分断耐性 Partition 可用性 Availability tsuneo 123RF.com Tolerance IoTとの親和性は高い 23
ブロックチェーンのよくある誤解 改ざんされたくないデータを安全に保管できる 事実だが全員で同じデータを持つため大量のデータ保管には適さない タダ同然で利用できる 数円程度の取引手数料が必要 既存のデータベースを置き換えてコストを削減できる 記録できる容量 用途が限られるので他のDB等との連携が必要 Bitcoinは怪しいので使わない方がいい 2009年から成長しつづけており 無視できない むしろ有効活用することが今後もとめられる 24
サービスのハブとしてのブロックチェーン 相互接続型 外部連携イメージ ハブ スポーク型 外部連携イメージ ブロックチェーンを活 用した外部連携 イメージ 情報が事業者毎に分断化 接続先が爆発的に増えてしまう 中継点に通信や情報が集中 ある程度の規模がなければ立ち上げ にくい 通信や情報をブロックチェーン全体と して分散管理 徐々にスケールさせて行くことが可能 25
ブロックチェーンの構成パターン プライベートチェーン 型 コンソーシアムチェー ン型 パブリック チェーン型 データベースの一部をBCに置き換えた 構成 エンドユーザーの鍵は事業者が管理 し ユーザー認証して接続 BCは社内ネットワークからのみ接続 データベースの一部をBCに置き換えた 構成 エンドユーザーの鍵は事業者が管理 し ユーザー認証して接続 BCには連携企業内でVPN等を構築し て接続する エンドユーザーと事業者 連携企業は 対等な立場でBCを利用 エンドユーザーは専用アプリなどで鍵を 管理し直接BCに接続 連携企業もそれぞれ直接BCに接続 ブロックチェーンをBCと略 26
IoTへの応用例 使用権をブロックチェーンで制御できる電源ソケット 所有者はコンセント使用権 開始日時と期限あり をBitcoinブロックチェーン上の トークンとして発行 使用権のあるユーザーは スマートフォンアプリからBLE経由でコンセントを ON OFFできる [出典] http://nayuta.co/wp-content/uploads/pressrelease20151228.pdf 27
マイクロペイメントチャネル 2者間の少額決済を低コストに実現する技術 数料を抑えられる. 開設時に互いに拠出金が必要だが 取引手 100 100 決済の即時性も向上. 130 100MB DATA 0.0001 BTC 100MB DATA 0.0001 BTC 28 70
IoTとマイクロペイメント 0.001 BTC 走行距離に応じて都度支払を 行う 200m 走行 0.001 BTC 降車時には一切精算不要 200m 走行 0.0001 BTC データ送付先を指定してセン サーデータを時間購入 24h DATA センサー設置者は副収入を得 られる可能性 0.0001 BTC 24h DATA 29
IoTとブロックチェーンの連携可能性 エビデンスが求められるデータが適合する 取引等のアクションを利用 生成する 利用 使用権の移転 決済 生成 自動発注 他のデバイスへの権限委任など 改ざんを防ぎたいデータの記録 データのハッシュなどを記録することでタイムスタンプとする IoTデバイス等 使用権 の移転 決済 1c145b... 4cf4e5... 9a8cba... 382ab4.... 2bd98e... Alice 0.2 Bob 0.2 30
ブロックチェーンのこれから ブロックチェーン技術のレイヤー化が進む 下層 広く普及した技術への収斂する可能性が高い(Bitcoinなど) 上層 アセットの変換 ステート管理 認証 秘匿化など 技術標準化の動きも出始めている パブリックチェーンを活かすツール サービスの発展 相互変換 分析 監視 運用環境 etc プライベートチェーンの将来は未知数 インターンネットに例 えると FintechやIoTなどのアプリケーション ブロックチェーンの相互運用のプロトコル Private Chain Colored Coins Side Chain Bitcoin/Altcoin 31 SSL, OAuth, DKIM etc HTTP, SMTP etc Bitcoin 2.0 TCP/IP
ご静聴ありがとうございました 32