170301 いまさら聞けないブロックチェーン④

Post on 13-Apr-2017

35 views 0 download

Transcript of 170301 いまさら聞けないブロックチェーン④

いまさら聞けないブロックチェーン(続き 4つめ)

ここまでのまとめ。ブロックチェーンは、インターネット以来の発明で、『分散したシステム』と『改ざんできない仕組み』らしい。

それを使ったビットコインは「報酬」によって、その価値が信頼されているらしい。

でも、自分のビットコインは「安全」に守れるの?通貨として利用するときのセキュリティは?

このスライドの目的

このスライドの目的ブロックチェーンの「特徴」を理解する

このスライドの目的ブロックチェーンの「特徴」を理解する

ブロックチェーンの「仕組みのミソ」を押さえる

このスライドの目的ブロックチェーンの「特徴」を理解する

ブロックチェーンの「仕組みのミソ」を押さえるブロックチェーンが「使えそうな領域」を妄想する

このスライドの目的ブロックチェーンの「特徴」を理解する

ブロックチェーンの「仕組みのミソ」を押さえるブロックチェーンが「使えそうな領域」を妄想する

ブロックチェーンの「仕組みのミソ」を押さえる

ブロックチェーンの「仕組みのミソ」を押さえる

ビットコインにおける

暗号化技術

まず、結論から。ビットコインの本質を表す一文。

ビットコインの「保有」■ビットコインを「保有している」とは

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで任意のアドレスに送付することができる状態

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで任意のアドレスに送付することができる状態

ビットコインアドレス?

ビットコインアドレス?■銀行でいう、いわゆる「口座番号」

ビットコインアドレス?■銀行でいう、いわゆる「口座番号」

分散された台帳の中に記載されている

ビットコインアドレス?■銀行でいう、いわゆる「口座番号」

分散された台帳の中に記載されているビットコインアドレス「 A」には、現在、10BTC入っている。

ビットコインの「保有」■定義

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで任意のアドレスに送付することができる状態

秘密鍵?

秘密鍵?■その口座番号の BTCを「操作する」ための鍵。

秘密鍵?■その口座番号の BTCを「操作する」ための鍵。

分散された台帳に追記する契約

秘密鍵?■その口座番号の BTCを「操作する」ための鍵。

分散された台帳に追記する契約ビットコインアドレス「 A」の持っている、10BTCのうち、 0.5BTCをビットコインアドレス「 B」に移す。

秘密鍵?■その口座番号の BTCを「操作する」ための鍵。

分散された台帳に追記する契約ビットコインアドレス「 A」の持っている、10BTCのうち、 0.5BTCをビットコインアドレス「 B」に移す。送金指示

0.5BTC

いままでと何が違うか正しい「送金」であることの担保

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する私「 A」から「 B」に送金したい

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

0.5BTC

私「 A」から「 B」に送金したい

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

0.5BTC

私「 A」から「 B」に送金したい

確かに「 A」本人の意思であることを確認

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

0.5BTC 0.5BTC

私「 A」から「 B」に送金したい

確かに「 A」本人の意思であることを確認

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

0.5BTC 0.5BTC

私「 A」から「 B」に送金したい

確かに「 A」本人の意思であることを確認 中央が保証した「 A」から送金された

いままでの送金のやりとり■「中央集権的」な銀行が「本人の意思」であることを保証する

0.5BTC 0.5BTC

私「 A」から「 B」に送金したい

確かに「 A」本人の意思であることを確認 中央が保証した「 A」から送金された

正しく送金されることを「中央集権的」な存在が保証

P2Pの送金指示分散された台帳であるビットコインの場合

P2Pとは  =  ピアトゥーピア。個人から個人への直接のやりとり。

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

私「 A」から「 B」に送金したい

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

0.5BTC

私「 A」から「 B」に送金したい

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

0.5BTC

A→B : 0.5BTC移動

私「 A」から「 B」に送金したい

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

0.5BTC

台帳に記載され、二度と改ざんできない

A→B : 0.5BTC移動

私「 A」から「 B」に送金したい

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

0.5BTC 0.5BTC

台帳に記載され、二度と改ざんできない

A→B : 0.5BTC移動

私「 A」から「 B」に送金したい

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

0.5BTC 0.5BTC

台帳に記載され、二度と改ざんできない 台帳を見ると入金されていることがわかる

A→B : 0.5BTC移動

私「 A」から「 B」に送金したい

P2Pの送金のやりとり■誰もが直接、分散された台帳に書き込む

正しく送金されることを「システム」が保証

0.5BTC 0.5BTC

台帳に記載され、二度と改ざんできない 台帳を見ると入金されていることがわかる

A→B : 0.5BTC移動

私「 A」から「 B」に送金したい

その「指示」がほんとに本人の意思?「自分」でしか操作できないために。

秘密鍵と、公開鍵■暗号化とは「宝箱」にしまうこと。

秘密鍵と、公開鍵■暗号化とは「宝箱」にしまうこと。

秘密鍵

中に大切なものをいれる

秘密鍵と、公開鍵■暗号化とは「宝箱」にしまうこと。

秘密鍵

中に大切なものをいれる

秘密鍵と、公開鍵■暗号化とは「宝箱」にしまうこと。

秘密鍵

鍵がないと開けられない中に大切なものをいれる

秘密鍵と、公開鍵■秘密鍵には対応した「公開鍵」が対として存在。

秘密鍵 公開鍵

秘密鍵と、公開鍵■秘密鍵には対応した「公開鍵」が対として存在。

秘密鍵 公開鍵1対 1

秘密鍵と、公開鍵■秘密鍵には対応した「公開鍵」が対として存在。

秘密鍵 公開鍵1対 1

1対 1

秘密鍵と、公開鍵■秘密鍵には対応した「公開鍵」が対として存在。

秘密鍵 公開鍵1対 1

1対 1

1対 1

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵は僕しか知らない!持ってない!

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵は僕しか知らない!持ってない!

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵は僕しか知らない!持ってない!公開鍵は僕の名前を書いて、みんなに公開してく

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵は僕しか知らない!持ってない!公開鍵は僕の名前を書いて、みんなに公開してく

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵は僕しか知らない!持ってない!公開鍵は僕の名前を書いて、みんなに公開してく

秘密鍵と、公開鍵■秘密鍵は自分だけが保持。公開鍵は、名前をつけて公開しておく。

秘密鍵 公開鍵

秘密鍵は僕しか知らない!持ってない!公開鍵は僕の名前を書いて、みんなに公開してく

Aさんの公開鍵だ!みんな持ってるよ!

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができる

秘密鍵

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができる

秘密鍵

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができる

公開鍵秘密鍵

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができる

公開鍵秘密鍵

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができる

公開鍵秘密鍵

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができる

公開鍵秘密鍵

Aさんの公開鍵でちゃんと開いたよ!

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができるが対として存在。

公開鍵秘密鍵

他の公開鍵では開けられない

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができるが対として存在。

公開鍵秘密鍵

他の公開鍵では開けられない

秘密鍵と、公開鍵■秘密鍵には閉じた宝箱は、対応した「公開鍵」で開くことができるが対として存在。

公開鍵秘密鍵

他の公開鍵では開けられない

公開されてる鍵で開いちゃう宝箱?

秘密鍵と、公開鍵■公開鍵で開くということは、それに鍵をかけたのは「本人」であることの証明。

秘密鍵と、公開鍵■公開鍵で開くということは、それに鍵をかけたのは「本人」であることの証明。

Aさんの公開鍵秘密鍵

秘密鍵と、公開鍵■公開鍵で開くということは、それに鍵をかけたのは「本人」であることの証明。

秘密鍵 Aさんの公開鍵

秘密鍵と、公開鍵■公開鍵で開くということは、それに鍵をかけたのは「本人」であることの証明。

秘密鍵

Aさんの公開鍵でちゃんと開いたよ!

Aさんの公開鍵

秘密鍵と、公開鍵■公開鍵で開くということは、それに鍵をかけたのは「本人」であることの証明。

秘密鍵

Aさんの公開鍵でちゃんと開いたよ!ってことは、鍵をかけたのは Aさん本人だ

Aさんの公開鍵

ビットコインの送金指示の仕組み

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

中に送金指示を入れておく

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

中に送金指示を入れておくA→B : 0.5BTC移動

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

秘密鍵

中に送金指示を入れておくA→B : 0.5BTC移動

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

秘密鍵

中に送金指示を入れておくA→B : 0.5BTC移動

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

秘密鍵

宝箱に入った状態で分散台帳に書き込む

中に送金指示を入れておくA→B : 0.5BTC移動

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

秘密鍵

宝箱に入った状態で分散台帳に書き込む

中に送金指示を入れておくA→B : 0.5BTC移動

Aさんの公開鍵

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

秘密鍵

宝箱に入った状態で分散台帳に書き込む

中に送金指示を入れておくA→B : 0.5BTC移動

Aさんの公開鍵

秘密鍵と、公開鍵■送金指示の内容を「自分の秘密鍵」を使って、宝箱の中に入れておく

秘密鍵

宝箱に入った状態で分散台帳に書き込む

中に送金指示を入れておくA→B : 0.5BTC移動

誰もが Aさんの正式な指示であるとわかる

Aさんの公開鍵

もう一度、最初の結論を見てみよう。

ビットコインの「保有」■ビットコインを「保有している」とは

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで任意のアドレスに送付することができる状態

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで任意のアドレスに送付することができる状態

公開鍵との対応で自分の意思だと証明できる

ビットコインの「保有」■ビットコインを「保有している」とは

あるビットコインアドレスに紐づいたビットコインを、そのアドレスに係る秘密鍵を使って、公開台帳に記録することで任意のアドレスに送付することができる状態

公開鍵との対応で自分の意思だと証明できる

P2Pで送金できる

公開鍵で誰もが見れる?

ビットコインの残高は公開されている■「公開鍵」で誰もが見れる = 全公開されている

ビットコインの残高は公開されている■「公開鍵」で誰もが見れる = 全公開されている

分散された台帳に記載されている情報

ビットコインの残高は公開されている■「公開鍵」で誰もが見れる = 全公開されている

分散された台帳に記載されている情報

ビットコインアドレス「 A」は、現在、 10BTC保有している。

ビットコインの残高は公開されている■「公開鍵」で誰もが見れる = 全公開されている

分散された台帳に記載されている情報

ビットコインアドレス「 A」は、現在、 10BTC保有している。

みんな知ってる

ビットコインの取引は公開されている■「公開鍵」で誰もが見れる = 全公開されている

ビットコインの取引は公開されている分散された台帳に記載されている取引

■「公開鍵」で誰もが見れる = 全公開されている

ビットコインの取引は公開されている分散された台帳に記載されている取引ビットコインアドレス「 A」は、2017/2/14に、 0.5BTCをビットコインアドレス「 B」に送金した。

■「公開鍵」で誰もが見れる = 全公開されている

ビットコインの取引は公開されている分散された台帳に記載されている取引ビットコインアドレス「 A」は、2017/2/14に、 0.5BTCをビットコインアドレス「 B」に送金した。

みんな知ってる

■「公開鍵」で誰もが見れる = 全公開されている

ビットコインの全取引や残高を参照できるサイトhttps://blockchain.info/

ここまでのまとめ■ブロックチェーンの技術で支えられたビットコインの特徴

ここまでのまとめ■ブロックチェーンの技術で支えられたビットコインの特徴

P2Pの送金指示

ここまでのまとめ■ブロックチェーンの技術で支えられたビットコインの特徴

P2Pの送金指示秘密鍵と公開鍵によって自分の意思であることを証明

ここまでのまとめ■ブロックチェーンの技術で支えられたビットコインの特徴

P2Pの送金指示秘密鍵と公開鍵によって自分の意思であることを証明

全ての取引は全公開されている

ブロックチェーン技術はどんなものに向いているのか

続きは、こちら。

『 170301_いまさら聞けないブロックチェーン⑤』https://www.slideshare.net/araseyuta/170301-72686308

@araseyuta