PKI day 2017
ブロックチェーンとは何か？
2017年4月19日
セコム株式会社 IS研究所主任研究員(JNSA電子署名WGサブリーダー)佐藤 雅史

1© 2017 SECOM Co., Ltd.

この講演では…
• 30分でブロックチェーンを理解する？
かなり無茶！

• パネルディスカッションで必要なキーワードを共有することを目指します– ブロックチェーン？スマートコントラクト？
– PKI？
etc.

2© 2017 SECOM Co., Ltd.

ブロックチェーンって何？
正直なところ、一言で表しにくい…
よくあるイメージ非中央集権的？(or 分散？)で、データの真正性を担保して？
データを共有する？

ブロックチェーン？分散台帳？
パブリック？プライベート？
Permissonless? Permissioned?

• 定義も色々– 英国政府レポート、JBA、etc.

• 実装も色々– Bitcoin/OpenAssets, Ethereum, Hyperledger(fabric, iroha, sawtoothlake), R3 Corda, Ripple, etc.

•ISO/TC 307(Blockchain and electronic distributed ledger technologies)で定義の議論が始まりそうではあるが…
3© 2017 SECOM Co., Ltd.

ブロックチェーン/分散台帳でしたい事
特定の中央のサーバーを介さずに、取引（送金、資産移転等）を実行したい

取引情報
取引情報

取引情報

取引情報

取引情報
AさんがBさんに⑩送る

取引情報

取引情報
取引情報

Bさん

Aさん

4
© 2017 SECOM Co., Ltd.

ブロックチェーン/分散台帳でしたい事
特定の中央のサーバーを介さずに、取引（送金、資産移転等）を実行したい取引情報を一手に管理する中央のサーバーがいないので…
取引情報• ユーザーの認証はどうするの？
取引情報
取引情報
• 途中の経路で取引情報を改ざんされたらマズイよね？
• 取引の二重実行を防止するに取引情報はどうするの？
AさんがBさんに⑩送る

取引情報

取引情報

取引情報
取引情報

Bさん

Aさん

5
© 2017 SECOM Co., Ltd.

ブロックチェーン/分散台帳でしたい事
特定の中央のサーバーを介さずに、取引（送金、資産移転等）を実行したい取引情報を一手に管理する中央のサーバーがいないので…
取引情報• ユーザーの認証はどうする
ユーザーが署名鍵を管理しての？
取引情報
デジタル署名取引情報
取引情報• 途中の経路で取引情報を改ざんされたらマズイよね？
• 取引の二重実行を防止するに台帳の生成と共有のメカニズム
取引情報（コンセンサスアルゴリズムと呼ばれている）
はどうするの？
AさんがBさんに⑩送る

取引情報

取引情報
取引情報

Bさん

Aさん

6
© 2017 SECOM Co., Ltd.

台帳の生成と共有
矛盾なく取引を実行するために、参加者で一意な取引情報の履歴（= 台帳）を共有する（ことをめざす）
取引情報
AさんがBさんに取引情報⑩送る
取引情報
CさんがDさんに取引情報に⑤送る

取引情報
BさんがEさんに⑤送る
取引情報
DさんがFさんにに⑳送る
取引情報

取引情報

取引情報
取引情報

取引情報
取引情報

Bさん

Aさん

7© 2017 SECOM Co., Ltd.

台帳の生成と共有に必要な要素は？
取引情報
AさんがBさんに⑩送る

取引情報
BさんがEさんに⑤送る

取引情報
CさんがDさんにに⑤送る

取引情報
DさんがFさんにに⑳送る• 一度、台帳に載った取引情報は改ざん（順序の入れ替えなど）されないこと
 ハッシュ値の連鎖などによる存在証明を行う• 台帳や、その各ページ（＝ブロック）の作成が特定の者に支配されない（偏らない）こと
 ブロック生成者の決定や、載せる取引情報の決め方（コンセンサスアルゴリズムと呼ばれている）• 仕組みはネットワーク参加方法により前提が異なる

8© 2017 SECOM Co., Ltd.

参考：ブロックチェーンの例（Bitcoinのイメージ）
トランザクションとブロックのハッシュ値の連鎖（イメージ）
ブロック(ヘッダ)

ブロック(ヘッダ)

Ｔ
Ｘ

Ｔ
Ｘ

Ｔ
Ｘ

ＴＸ

Ｔ
Ｘ

ＴＸ

ＴＸ

ＴＸ

Ｔ
Ｘ

ＴＸ

Ｔ
Ｘ

ＴＸ

Ｔ
Ｘ

ＴＸ

Ｔ
Ｘ

ブロック(ヘッダ)ＴＸ

ＴＸ

Ｔ
Ｘ

Ｔ
Ｘ

Ｔ
Ｘ

Ｔ
Ｘ

Ｔ
Ｘ

取引情報のデータ

ある周期的なタイミングで各ブロックが生成される© 2017 SECOM Co., Ltd.

ＴＸ

最新ブロック(ヘッダ)のハッシュ値

ＴＸ

ＴＸ

パブリックブロックチェーン？
(permissionless?)
ネットワークへの参加/離脱が自由な世界(Bitcoin, Ethereum, etc.)
ソフトウェアを起動して新規参加！

Xさん
Aさん

Bさん

 参加者の本人確認や参加への承認がない•

デジタル署名の鍵ペアを自身で作る程度

 誰が参加しているか分からないことを前提とした設計•

競争原理に基づくブロック生成アルゴリズム(proof of work, proof of stake, etc.)など© 2017 SECOM Co., Ltd.

10

プライベート/コンソーシアム
ブロックチェーン？
(permissioned?)
ある組織や業界、用途で閉じた世界

×
Xさん

Aさん

Bさん

 参加への承認が必要（身元や資格の確認など）
 ある程度のガバナンスは前提としうる？
••参加者間での責任や役割の分担（ブロック/台帳の生成や検証など）障害対策としてのコンセンサスアルゴリズム？
11© 2017 SECOM Co., Ltd.

で、何に使うんでしょう？

(暗号通貨や送金、決済などの議論はありますが…)

12© 2017 SECOM Co., Ltd.

スマートコントラクト？
(smart contract)• ブロックチェーンと一緒に語られることもあるが、もともとは独立した概念• スマートな契約(コントラクト)の実行– コンピュータ上で自動的に検証され履行される契約(DRMなどもその一種)– Nick Szabo氏が1994年に提唱したとされる• ブロックチェーンの文脈では、取引情報の実行だけでなく小さなプログラムコードも実行できるというもの• ブロックチェーンを基盤としてスマートコントラクトを実現しようという風潮？
13© 2017 SECOM Co., Ltd.

スマートコントラクトの例?

日経産業新聞 2014年12月15日付”金融紛争なくなる？プログラムが契約管理する未来
http://www.nikkei.com/article/DGXMZO80840720S4A211C1X13000/© 2017 SECOM Co., Ltd.

「スマート契約」の衝撃”より
14

スマートコントラクトによる自動化の例？
InsureETH
http://dapps.oraclize.it/insureth
http://mkvd.s3.amazonaws.com/apps/InsurEth.pdf

Dynamishttp://www.dynamisapp.com/

この例で実現しようとするものは？
• 保険金や返金などの支払い条件をコード化した自動実行– 外部ソースからの情報（例えば飛行機の遅延やキャンセル等の状態）と連動して実行される– 人的ミスの排除、支払い判断の不公正さの解消• 受取人を台帳に記載・共有して詐欺対策など• 保険業者の透明性確保（支払い能力に関する情報など）

15© 2017 SECOM Co., Ltd.

ブロックチェーン/分散台帳のユースケースって？？？

経済産業省 「ブロックチェーン技術を活用したサービスに関する国内外動向調査報告書」 (2016/4/28)
http://www.meti.go.jp/press/2016/04/20160428003/20160428003.html© 2017 SECOM Co., Ltd.

16

電子契約、保険、融資、電子カルテ、資金移転、サプライチェーン、電子申請、登記、オークション、etc.

あれ？デジャヴ？
ECOM(電子商取引推進協議会) 報告書
https://www.jipdec.or.jp/library/archives_ecom.html• 平成13年度 電子署名・認証の利用状況調査• 平成15年度ＥＣ技術基盤の相互運用性に関する調査研究事業（電子署名生成・検証システムのセキュリティ環境の標準化等調査）署名ポリシー調査
報告書 [経産省委託調査]• 平成15年度ＥＣ技術基盤の相互運用性に関する調査研究事業（取引相手先の属性認証技術等の調査）ＳＡＭＬ利用検討報告書 [経産省委託調査]
17© 2017 SECOM Co., Ltd.

PKI(Public Key Infrastructure)って、なんだっけ？
非常にざっくりと乱暴に言ってしまえば…
信頼される第三者機関がエンティティ(人、組織、デバイス、etc.)の存在(公開鍵との紐づけ)を証明する仕組み
個々のエンティティ同士ではなく、第三者機関（CA）を信頼するモデル認証局(CA)
用途は様々
種々のシステムはCAの外側の仕組みとして構築される・・・

公開鍵証明書の発行

S/MIME
電子署名(メールの署名・暗号化)(電子契約、電子申請）

TLS(サーバー/クライアント認証）
18© 2017 SECOM Co., Ltd.

タイムスタンプ技術って、なんだっけ？
非常にざっくりと乱暴に言ってしまえば…
信頼される第三者機関がデータに対する時刻証明（存在証明）を行うもの
データに改ざんがないこと、当時存在したことを証明する

タイムスタンプ局(TSA) 日本では2005年に事業者の認定制度が始まった。
(http://www.dekyo.or.jp/tb/index.html)

タイムスタンプトークンの発行

・・・

2017年4月19日14:30
対象データ: XXXX

・・・

2017年4月19日16:45
対象データ: YYYY

 タイムスタンプ生成の仕組みとして、PKIベースのもの(RFC 3161)や、ハッシュツリーを使うもの(ISO/IEC 18014-3, etc.)
等のバリエーションがある。
【参考】• タイムスタンプ・プロトコルに関する技術調査(IPA, 2004年2月)• タイムスタンプ技術に関する調査報告書(IPA, 2004年4月)

19© 2017 SECOM Co., Ltd.

参考：リンキング方式のタイムスタンプ
標準規格：ISO/IEC 18014-3
Time-Stamping Authority

https://www.ipa.go.jp/security/pki/093.html より
その他、ハッシュツリーを使う仕組みとして、Surety社やGuardtime社の実装やEvidence Record Syntax (RFC 4998, RFC 6283 )がある。
20© 2017 SECOM Co., Ltd.

ブロックチェーンと従来技術（PKI＆タイムスタンプ）の違いって？
ブロックチェーンに期待されている要素の例① データ（取引情報など）の作成者以外によるデータ改ざんの困難性

PKIのデジタル署名② データが過去に存在したことの証明（記録の順序等に対する改ざん困難性）

タイムスタンプ技術③ データ処理の整合化（例：二重実行の防止）

別途仕組みを要する④ データの保存や共有⑤ P2P/分散/非中央集権的モデル

Trusted Third Party(TTP)モデル

適用しようとする利用場面ではどの要素が重要か？
21© 2017 SECOM Co., Ltd.

ブロックチェーンとPKIのスコープとは？
～処理フロー（電子契約/電子申請等のイメージ）の観点で～
PKI（署名+タイムスタンプ）

パブリック
ブロックチェーン

プライベート/コンソーシアム⓪ 利用者の登録（利用者の本人確認と署名鍵との紐づけ）

ブロックチェーン上の仕組みは持たない仕組みが提供されるものもある

認証局による証明書発行① データの作成（＋デジタル署名）と送信トランザクション(取引情報)生成の仕組みが含まれている

左に同じ各アプリによる。
署名データに関する標準規格がある。

② 受信側でのデータの検証トランザクション(取引情報)検証の仕組みが含まれている

左に同じ各アプリによる。
署名データに関する標準規格がある。

③ データに応じた処理の実行

処理内容によってはチェーン外の仕組みが必要となる

左に同じ

各アプリによって提供される④

データの保存台帳生成と共有の仕組みが含まれている左に同じ各アプリによる。
署名の保存に関する標準規格がある。

⑤ 保存データの事後検証検証は可能であるが、検証処理のための実装は別途必要か左に同じ各アプリによる。
署名の保存に関する標準規格がある。

アプリ側等で構築が必要なものカバーしようとしている機能

ブロックチェーン

※厳密な分類ではありません（利用目的や実装によって差異があります）
22© 2017 SECOM Co., Ltd.

データ・システム間連携の新たな時代を幕開けできるか？
スタンドアロン時代
個別のPCにあるデータとアプリで完結していた世界
クラサバ時代クライアントサーバ

シンクライアント

データ・機能連携時代

ディレクトリサービス、Webサービス/SOA、ID連携(SAML,OpenID)、OAuth等々

必要に応じてデータや機能を提供/利用する。
（必要最小限のデータ・機能提供とは何か？）

データ共有・連携時代？??

仮想化・クラウド時代？

分散台帳・ブロックチェーン
同じデータを共有して利用する。
（共有を前提としたうえでアクセス制御やプライバシーをどうしましょうか？とか）なかなか挑戦的にも見えるアプローチかも…
23© 2017 SECOM Co., Ltd.

ブロックチェーンに期待されているものは何でしょう？（期待は人それぞれ？）• 暗号通貨？
• データ改ざんの困難性？データの存在証明？
• 複数のサーバ/組織間でのデータの共有？
• データの公開や共有を前提とした透明性？
• 非中央集権的モデル？
– 従来の中央機関型サービスに対する反動？
– 何に対して非中央集権を求めるのか？

• 非中央集権というより分散や冗長性？耐障害性？
• ローコストへの期待？
• 何でも良いので凝り固まった既存のシステムから脱却したい？
24© 2017 SECOM Co., Ltd.

パネルディスカッションに続く

25© 2017 SECOM Co., Ltd.