SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
© 2017 IBM Corporation
Open Seminar: 「ブロックチェーン」
1
IBM Academy of Technology
Affiliated
Katsushi Yamashita,
Distinguished Engineer, GTS, IBM Japan
なんでブロックチェーンは難しいか
2 IBM Academy of Technology & TEC-Japan Presents
n ビットコインの基礎技術は古い。
過去の基礎技術を説明するのが⾯倒くさい(かっこ悪い)
〜昔すぎて覚えてないひとも多い。
l 公開鍵暗号通信、デジタル署名、デジタル証明書
(もはや、まるっと「SSL通信」)
l スパム対策に使われているハッシュキャッシュ
l 取引とはなにか=トランザクション、タイムスタンプ
l P2P分散合意形成のビザンチン将軍問題(ビザンチン障害)
:
⾯倒なことをバイパスして、
ビットコインだけで成⽴しているかっこいい話をする
なんでブロックチェーンは難しいか
3 IBM Academy of Technology & TEC-Japan Presents
n蔓延する誤解とデジャヴ
「ブロックチェーンはビットコインでしょ?」
「ビットコインの地域分散モデルをクラウド(O社)やメインフ
レーム(I社)で地域集約して意味ねー!」
lわかってる⼈には可能性に満ちているが、基礎技術と機能、
⾮機能、特徴を理解しない⼈には実モデルを想像できない
→何に使って良いかわからない(何が良いかわからない)
クラウドは仮想化インスタンスだという矮⼩化と同じ道
4 IBM Academy of Technology & TEC-Japan Presents
かっこわるいけど、ちゃんと復習しよう
(勉強の時間です)
まじかよ‥
だから、
理系ってさあ‥
5 IBM Academy of Technology & TEC-Japan Presents
だけど、やっぱり
まるっとブロックチェーンを理解したい。
(勉強はあとまわし)
おおっ!
6 IBM Academy of Technology & TEC-Japan Presents
中央集権型システムとP2P分散管理型ブロックチェーン
トランザクション要求 • ⼀台壊れても復元できる、全体が⽌まらない
• 処理が分散しているので負荷が低い
• 全体で監視しているので不正ができない
• ⾼性能なコンピュータ
• 壊れてしまったら停⽌
• 破産したら‥
P2P分散管理のブロックチェーン
全てのノードが同じトランザクションを持っている
中央集権型
中央のコンピュータだけが台帳を持っている
• クロックも⼀台
• マスターファイル
のロックもできる
• クロックはばらばら
• マスターファイル
のロックもできない
⼊出⾦伝票
デジタルマネー
スマートコントラクト
ブロックチェーンが実現したいのはトランザクション台帳
7 IBM Academy of Technology & TEC-Japan Presents
n 取引(トランザクション)を記録する台帳
l ↓⼝座残⾼を更新するか、
トランザクションを累積するか→
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
Aの⼝座
Bの⼝座
Cの⼝座
マスターファイル トランザクションデータ
:
12:03
12:04
12:06
12:09
:
12:39
台帳
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
:
12:03
12:04
12:06
12:09
:
12:39
Aの初期値
Bの初期値
Cの初期値
トランザクション台帳
時間順序を守って
計算したら⼝座台帳になる
更新処理
レコードをロック
追記型へ
振替
80年代の頃
⼤福帳って
よばれたことも
あったなあ
ブロックチェーン(1)ハッシュチェーン
8 IBM Academy of Technology & TEC-Japan Presents
n 前のブロックのデータ内容から計算したハッシュ値を次のデータの中に埋め込んでつなぐ
l ハッシュは元のデータからしか計算できない
l 元のデータのハッシュを計算すれば次のデータの存在証明ができる
l ハッシュを含んだデータがつながるチェーン
l コンピューターにとって⾮可逆性を表現するために使われるハッシュ関数 →貨幣、決済、取引
Block
A
Block
B
Block
C
Block
D
最初の
ブロック
取引記録 取引記録 取引記録
ハッシュ値 ハッシュ値 ハッシュ値
Time stamp (1) Time stamp (2) Time stamp (3) Time stamp (4)
新しいブロックが書かれたときに前のブロックの後ろであることが検証可能
l ⼀定量のデータをコンパクトに要約
l データが少しでも変わると、まったく違う値
l データが多くても、少なくても同じ⻑さ
(不定⻑のハッシュもある)
l ハッシュ値から元のデータは計算できない
– パスワードの保存の安全性
l 送信データの検証に使われる
– 送信データからダイジェストを作成
– ダイジェストを秘密鍵で暗号化(デジタル署名)
– データとデジタル署名を送信
– デジタル署名を公開鍵でダイジェストに復号化
– データのハッシュ値とダイジェストを⽐較
l たくさんのアルゴリズムがある
9 IBM Academy of Technology & TEC-Japan Presents
ハッシュ値、⾮可逆な(irreversible)な計算
ハッシュ
関数
420d971d
あいうえお
ハッシュ
関数
c18dc48R
あいうえも
ハッシュ
関数
984c179d
いろはにほへ
:
ゑいもせすん
ちょっと違ってもまるで違う値
ハッシュ値=ダイジェスト
すごく⻑くても同じ⻑さ
元の値には戻らない
元のメッセージ
ブロックチェーン(2)ハッシュチェーン
10 IBM Academy of Technology & TEC-Japan Presents
n 作成済みのデータを変更すると、後続の全データに影響してしまう
Block
A
Block
B
Block
C
Block
D
Block
B
ブロックBを不正
に改ざん
後続のデータのハッシュ
を計算しなおし
ハッシュの計算に
必要な労⼒の問題
Block
A
Block
B
Block
C
Block
D
ブロックチェーン(3)トランザクションデータ
11 IBM Academy of Technology & TEC-Japan Presents
n ブロックにはトランザクション、タイムスタンプ、前のブロックのハッシュ、他が含まれる。
l ブロックは時系列に並べることができて、⼀つのブロックのトランザクション順は⼀つのクロックで決
まっている。
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
:
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
:
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
:
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
:
Time stamp (1)
Time stamp (2)
Time stamp (3)
Time stamp (4)
だいたい10分 *
だいたい10分 *
だいたい10分 *
⼀
定
時
間
内
の
取
引
⼀定時間ごとに
ブロックを作成
ネットワークに
ブロードキャスト
* だいたい10分なのはビットコインの仕様
ネットワークの
標準時間
(⼤体合ってる)
トランザクション台帳
12 IBM Academy of Technology & TEC-Japan Presents
トランザクションのブロードキャストとステートマシンレプリケーション
ブロードキャスト
Block C
Block C
Block C
Block C
Block C
Block C
Block A
Block B
Block C
↑検証して追加
Block A
Block B
Block C
↑検証して追加
Block A
Block B
Block C
↑検証して追加
Block A
Block B
Block C
↑検証して追加
Block A
Block B
Block C
↑検証して追加
Block A
Block B
Block C
↑検証して追加
今、追加する権利
があるところが
ブロックを追加 まるっと
全体のステートが
Block Bの状態から
Block Cの状態に遷移
Block A
Block B
ブロックCを作成↓
Block D
Block A
Block B
Block C
↓ブロックDを作成
次は別のところから
ブロックを追加*
*マスターが変転するのは
ブロックチェーン必須要
件ではない。
(オープンで地域に分散するビットコ
インでは必須要件→管理責任を分散し
管理⼿数料をシェアするため)
Bitcoin 〜ブロックチェーンの⼀つの実装
13 IBM Academy of Technology & TEC-Japan Presents
n 地域的に分散したピアツーピアネットワークでビットコイン台帳を形成
l A地域(業者)で送⾦したというデータが世界中で共有されている
l B地域(業者)でそれを個⼈に⼊⾦したというデータも正しく共有できている
The
Internet
Public Block Chain
送⾦ ⼊⾦
→ビットコイン台帳
(トランザクション台帳)
海外送⾦の従来⼿法→紙の伝票のアナロジー
14 IBM Academy of Technology & TEC-Japan Presents
n これまでの海外送⾦の処理
l コンピュータによってデジタルに⾏われてい
ることが、全て紙の伝票と台帳のアナロジー
l ⼤きく三段階のトランザクションを処理して
台帳(⼝座)を更新することで処理を⾏って
いる。
❶ 振込依頼書
振込⼈
振込⼈⼝座
振込元銀⾏
❷ 資⾦払出処理
振込⾦額
と⼿数料
❸ ⽀払指図
(SWIFT指⽰書)
コレリス
銀⾏
$ → $
振込元銀⾏
の⼝座
振込先銀⾏
の⼝座
❹ 資⾦移動処理
❺ 送⾦到着
振込先銀⾏ 受取⼈⼝座
❻ 受取⼈⼝座に
⼊⾦処理
受取⼈
デジタルネイティブな台帳→紙の伝票のアナロジーから脱却
15 IBM Academy of Technology & TEC-Japan Presents
n ビットコインは分散台帳 → 分散したマシンにある⼀貫した単⼀の台帳
l 共通のステートマシンであり、誰が読んでも同じデータを扱うことができる
l 誰もが参加できて、トランザクションを書き込む(状態を変える)ことができる
n 伝票がいらない
マスターもない
送⾦ ⼊⾦
→ビットコイン台帳
(トランザクション台帳)
Aから出⾦
Bに⼊⾦
インターネット
の共有台帳
n トランザクション台帳をエンタープライズ毎に分散したシステムで共有する
l システムの⼀部として業界共通のセマンティックを持った契約合意のメカニズムが存在している
n 伝票のアナロジーから脱却する
l デジタルネイティブな
コントラクト
l シェアリングエコノミー
ブロックチェーンを企業間の共有トランザクションとしてみる
16 IBM Academy of Technology & TEC-Japan Presents
受注
ECサイト
出品社
配送会社
輸出/輸⼊決済
メーカー
投資家(IR)
⼯場発注
⼯場受注
直送指⽰
配送完了
地域的に分散している
ことには意味がない。
異なるインスタンス間で共有
する台帳がサイバー空間で進化
→Hyper Ledger
17 IBM Academy of Technology & TEC-Japan Presents
⼤きな誤解
Facebookのとある発⾔>
汎⽤機が分散台帳の基盤とは、
語義⽭盾が⾯⽩過ぎて何でもア
リなのですが。そのうちドロ
ワーに⼊る採掘⽤ASICボード
とか出てくるのでしょうか?
↓
分散の意味を取り違えず、
共有台帳だということを
理解してほしい。
18 IBM Academy of Technology & TEC-Japan Presents
取引や契約、状態を変化させるトランザクションを共有する
Transaction
Initial State
Transaction 1
Transaction 2
Transaction 3
Transaction 4
l ⾮常に複雑なサプライチェーンのデジタル制御が求められてくる
l デジタルなデマンドから消費⾏動までの変化
l 設計から⽣産、出荷に⾄る状態の変化 →全てがステートマシン
l ⼯程間の⽣産ログとセンサーデータの変化
詳しくは「サイバー・ファースト」江崎浩著 http://amzn.to/2AQSanr を参照ください。
19
⽣産現場も変化する
出荷
注文Productivity
出荷
注文
出荷
注文
Parts
Manufacture
Parts
Manufacture
⼩売店供給者
プルシステム
これまでのサプライチェーン
20
地球規模のデジタル世界の巨⼤なステートマシン
紙の契約書を綴じるというアナロジー
21 IBM Academy of Technology & TEC-Japan Presents
n マスターの台帳を更新することで取引台帳を作ってきた中央集権型のビジネス
l ⽣命保険は⼈⽣の⻑い期間に渡って、複雑な保険商品の契約を更新しながら保険満了までレ
コードを維持することがビジネスプロセスに組み込まれている。
l マスター更新というプロセス上の権威的地位を利⽤した地位ビジネスが成⽴している。
(古い保険契約の仕組みを維持しないと、今の保険契約が成⽴しない)
22 IBM Academy of Technology & TEC-Japan Presents
取引のオープン化が起こる
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
Aの⼝座
Bの⼝座
Cの⼝座
マスターファイル トランザクションデータ
:
12:03
12:04
12:06
12:09
:
12:39
台帳
Aから出⾦
Bに⼊⾦
Cに⼊⾦
Aから出⾦
Cに⼊⾦
:
12:03
12:04
12:06
12:09
:
12:39
Aの初期値
Bの初期値
Cの初期値
トランザクション台帳
振替
取引マスターを
管理する権威
⼊⼒を制御
する権限
中央集権企業
被管理対象者
対等(Peer)な
取引者
⾃由な取引
ブロックチェーンが作り出すデジタル・ネイティブな世界
23 IBM Academy of Technology & TEC-Japan Presents
n ⾮中央集権型⾃律組織 (De-centralized Autonomous Organization)
“Blockchain Revolution” Don Tapscot ISBN1101980133 P368 Portfolio (2016/5/10)
n マスターの更新から解放された
デジタルネイティブなトランザクション・ビジネス
(もし、現状の保険契約のシステムがない国だったら?)
l 保険契約が契約の連鎖を契約主体⾃⾝が管理できるようになる。
→保険代理店、保険販売員、あるいは契約者
l 契約の⼿続き、台帳記録や⼊出⾦のITトランザクションを全体で共有する(共有資源)
l 保険会社は保険契約(保険商品)の⾦融リスクの管理
というコンピテンシー(機能)しか残らない!
もちろん地域的にも分散できるので国も関係ない
Long Tail市場が⼤きなマーケットプレイスを必要としなくなる
製品のような品質の瑕疵がのちに問題になるようなものより、
電⼒のように均質で検証可能なものが適している。UberやAirbnbなども課題が多い。
ビットコイン⾃⾝の電⼒消費=貨幣を維持するために必要なコスト > 電⼒コスト
(bitcoinのminerの75%が中国籍の7社独占:中国の電⼒コスト)
Sony Computer Science 北野宏明⽒ HBR2017Aug
24 IBM Academy of Technology & TEC-Japan Presents
ブロックチェーンの衝撃
25 IBM Academy of Technology & TEC-Japan Presents
ビジネスのトランザクション(電⽂)は
コミュニケーションの媒体です。
⼀つの抽象化されたステートマシンを共有することは
媒体のないコミュニケーションを実現するようなこと
「テレパシーで伝わるビジネス」
伝票のビジネス基盤を持たなかった国や
エストニアのようなサイバー⽴国を⽬指す国では、
既存のビジネスルールから解き放たれた仕組みが発⽣する。
簿記と会計の再発明
26 IBM Academy of Technology & TEC-Japan Presents
n 帳簿に記載される対象を数字ではなく
「⽀払い義務や依存関係のアルゴリズム的な表現」としたら
l たとえば ある会社からクレジット・デフォルト・スワップを買
うなら----知りたいのは、その⽀払い義務額を⽀払う期⽇がやっ
てきたとき、⾃社が逆張りしていたAA格の住宅ローン債券がデ
フォルトしたとして、⾃社がちゃんと⽀払えるか?
会計の再発明は、アルゴリズムのちょっとしたテコ⼊れ(過去数百年に
ぼくたちがやってきたのはそれだと思う)なんかではなく、新しい数論
の発⾒のようであるべきだと思うのだ。
Reinventing Bookkeeping and Accounting (In Search of Certainty)
https://joi.ito.com/weblog/2016/04/26/reinventing-boo.html
https://joi.ito.com/jp/archives/2016/05/08/005596.html
27 IBM Academy of Technology & TEC-Japan Presents
ここまでわかったら、
やっぱりビットコインも知っておこう
(Public Block chain 基礎講座)
ああ、うん。
そうかな…
28 IBM Academy of Technology & TEC-Japan Presents
ビットコインは、
インターネットで公開されている
パブリックブロックチェーンを
❶ トランザクションをデジタル署名
❷ ブロックチェーンをハッシュキャッシュ
という暗号技術で安全性を担保しています。
29 IBM Academy of Technology & TEC-Japan Presents
トランザクションはビットコインの流通経路を記録する。
⼊⼒ 出⼒
Aから6.5BTC
Bに5BTC
Aに2BTC
出⼒
Aに0.5BTC
出⼒
Aに4BBT
Tx 1
Tx 2
出⼒ 0
出⼒ 1
出⼒ 3
Aに2BTC
Aに0.5BTC
Aに4BTC
Tx1 0
Tx1 1
Tx2 3
合計
Aに1BTC
出⼒ 0
出⼒ 1
(差分 0.5BTCは⼿数料)
Tx 3
⼊⼒ 出⼒
⼊⼒ 出⼒
⼊⼒ 出⼒
⼊⼒ 出⼒
Tx 1
Tx 2
Tx 3
Tx 4
Block
0
Block
B
Block
C
Block
D
Tx 0
(ブロックを作った⼈に12.5BTC)
おつり
ブロックチェーン
ビットコインのトランザクション
単体のトランザクションの構造
以前のトランザクション
貸⽅・借⽅・⼿数料→連鎖三式簿記
ビットコイン 通貨としての要件
30 IBM Academy of Technology & TEC-Japan Presents
n 通貨としての特性を維持する
l コインを本⼈以外が勝⼿に譲渡することはできない
l 第三者は、コインの譲渡を客観的に確認することができる
l ⼆重譲渡を防⽌し、
⼀つの譲渡のみをネットワーク全体で正しい取引として決定する
⼆重譲渡とは、元のコインの持ち主が⼆⼈以上の相⼿に、全く同じコインを譲渡することである。
l 公開鍵暗号⽅式
l 対称な公開鍵と秘密鍵の対を利⽤します
l 公開鍵で暗号化した暗号⽂は秘密鍵で復号できます
– 公開鍵を公開しておくと、暗号化通信ができます
– 秘密鍵とは違うので⾮対称鍵ともいいます
l デジタル署名
l 秘密鍵で⽂書を暗号化すると公開鍵で復号できます
l 公開鍵で復号化できた⽂書を暗号化できるのは秘密鍵
を持っている⼈だけです(発⾏⼈証明)
l デジタル証明書
l 公開鍵証明書は公開鍵そのものを⽂書として認証局の
秘密鍵で署名されたもの
31 IBM Academy of Technology & TEC-Japan Presents
公開鍵暗号⽅式による通信とデジタル署名
(1)
⼀対の鍵
を⽣成
(2) 公開鍵を公開する
公開鍵
秘密鍵
暗号化 復号化
(3) 公開鍵で暗号化 (4) 暗号化通信 (5) 秘密鍵で復号化
送信する側 受信する側
秘密鍵
暗号化 暗号化
(3) 公開鍵で復号化 (2) 署名と⽂書を送信 (1) 秘密鍵で暗号化
公開鍵
検証する側 署名する側
ダイジェストダイジェスト
ハッシュ検証
署名
ビットコイン トランザクションのデジタル署名
32 IBM Academy of Technology & TEC-Japan Presents
l ブロックチェーンの参加者はトランザクションがコインの所有者によって作られていることを署名に
よって確認できる。その内容を確認することでトランザクションデータが正しいことも確認できる。
l コインの所有は⼀つ前のトランザクションが指定した所有者であることが公開鍵から確認できる。
B(譲渡先)の公開鍵
B(譲渡元)
の秘密鍵
⼊⼒ 出⼒
Aさん → Bさん
前トランザクション
のハッシュ値
Bの公開鍵
のハッシュ値
B(譲渡元)
の公開鍵
現トランザクション
のBによる署名
⼊⼒ 出⼒
Bさん → Cさん
現トランザクション
のハッシュ値
Cの公開鍵
のハッシュ値
Bの鍵ペア
今作ろうとしているトランザクション
(BさんからCさんへの譲渡)
前トランザクション
のハッシュ値
A(譲渡元)
の公開鍵
現トランザクション
のAによる署名
33 IBM Academy of Technology & TEC-Japan Presents
ビットコイン ブロックチェーンの実装
タイムスタンプ・サーバーは、タイムスタンプされる複数アイテムを含むデータブロックをハッシュとして処理し、そのハッシュを新聞や
Usenetポスト[2-5]のように広範囲に公開する。タイムスタンプにより、そのデータがタイムスタンプされた時点でハッシュとなるために存
在していたことが証明される。各タイムスタンプはそのハッシュの中に直前のタイムスタンプを含んでいくことでチェーンを形成し、タイム
スタンプが増えるたびに以前のタイムスタンプを強化していく。
https://coincheck.com/blog/292 ⽇本語で読むビットコイン原論⽂ [by Satoshi Nakamoto]
Item Item Item
Item Item
現ブロックの
ハッシュ値
前ブロックの
ハッシュ値
トランザクションの
統合されたハッシュ
Time Stamp
Item Item Item
Item Item
次ブロックの
ハッシュ値
トランザクションの
統合されたハッシュ
34 IBM Academy of Technology & TEC-Japan Presents
ビットコイン 合意メカニズムの実装
現ブロックの
ハッシュ値
前ブロックの
ハッシュ値
トランザクションの
統合されたハッシュ
次ブロックの
ハッシュ値
トランザクションの
統合されたハッシュ
Nonce Nonce
Nonceを突き⽌めて
ブロックをネットワーク
に公報する
ハッシュ関数
0000 0000 4fc0 ..
マイニングのターゲットとなるハッシュ値
(最初のN桁が0で始まる値)
ハッシュキャッシュ
スパムメール防⽌のために考案された技術。
ある⽂字列Sが与えられたとき、もうひとつの⽂字列と連結し
た⽂字列のハッシュ値の左のいくつか(n)bitがすべて0にな
る、そのような⽂字列を求める。実際に連結する⽂字列を0か
ら順に連結してみてハッシュ値を計算して、連結する⽂字列を
作り出すしかない。(CPU能⼒を削ぐ戦術)
Nonceはブロックの書込許可を⽰
すワンタイムパスワードである
ビットコイン ブロックの分岐防⽌
35 IBM Academy of Technology & TEC-Japan Presents
n ビットコインの分岐〜正常分岐と改ざん分岐
Block
A
Block
B
Block
C
Block
D
Block
B
ブロックBを不正
に改ざん
後続のデータのハッシュ
を計算しなおし
ハッシュの計算に
必要な労⼒の問題
正しい 正しい 正しい
Block
E
正しい
最も⻑い分岐が
正しいはず
改ざんに加担する
グループ
36
ビザンチン将軍問題(ビザンチン障害)
4+1
4
正直な
将軍たち
裏切りたい将軍
全軍攻撃
全軍撤退
撤退
攻撃
多数決によって合意形成
全軍で攻撃しないと
勝てない
メッセージだけで
多数決を決定
攻撃
撤退
撤退
攻撃
撤退
4
4+1
攻撃
裏切
↓
敗退
↓
⼆度と
勝てない
偽の投票
偽の投票
帝国の壊滅
⾮同期な分散システムで壊れているかもしれないノードがいるときにトランザクションを同意することはできない。
Bitcoin 〜ブロックチェーンの⼀つの実装
37 IBM Academy of Technology & TEC-Japan Presents
n ブロックチェーン技術のピアツーピアネットワークの特性
l 地域に分散している
l ある⼀定の時間で同期することが期待されている
l メンバーの追加、あるいはメンバーの故障や復帰に強い構造
l しかし、トランザクション負荷が分散しているとはいいがたい
n ビットコインのブロックチェーンとしての特徴
l ビットコイン台帳はビットコインだけを扱う、極めて単純な分散台帳である。
l 参加者はビットコインの統⼀されたルールに従って参加している、共通のメンバーである。
n 報酬と半減期のメカニズム(通貨供給量の制御)
l 210Kブロックに⼀回ブロック⽣成報酬が半減する。
– 50BC @2009→25BC @2012→12.5BC @2016
– 最後のブロック 6,929,999個⽬@2020
n ハードフォーク
l ソフトウェアの互換性のないチェーンの分岐→新たなチェーンの⽣成
(通貨供給量のバイオレーションの側⾯)
コンソーシアム型 Hyperledger プロジェクト
38 IBM Academy of Technology & TEC-Japan Presents
n Hyperledgerプロジェクトはブロックチェーンの世界における課題に対して、柔軟に複数のソ
リューションを提供しています。
l トランザクションの承認に時間がかかる →新しいブロックチェーンネットワーク
l Proof of WorkはCPU能⼒と電⼒に過⼤なコストがかかる →新しい合意メカニズム
l 仮想通貨へのコミットを必要としないで、複数の業界の分散台帳を構築 →柔軟なトランザクション
l プライベートな台帳同⼠のコミュニケーションやアクセス管理 →コンソーシアム型
l スマートコントラクトにも⼒を⼊れています。Hyperledgerのリファレンスとなるアーキテクチャのう
ちの⼀つの重要な要素として、スマートコントラクト・サービス(Chain-Codeとも呼ばれる)があり、
検証ノードという閉じられた環境で安全にスマートコントラクトを実⾏できるようになっています。
http://gaiax-blockchain.com/smart-contract
39 IBM Academy of Technology & TEC-Japan Presents
Hyperledgerのアーキテクチャー
① identityサービスは、ユー
ザーや参加者の⾝元や、資
産やスマートコントラクト
等の台帳を管理します。
② policyサービスは、アクセ
スコントロール、プライバ
シー、コンソーシアムの
ルール、合意のルールなど
を管理します。
③ ブロックチェーン・サービ
スは、P2Pの通信プロトコ
ルを通じて分散型台帳を管
理します。
④ スマートコントラクト・
サービス(chain-codeと
も呼ばれる)は検証ノード
という閉じられた環境で、
安全にスマートコントラク
トを実⾏します。
40 IBM Academy of Technology & TEC-Japan Presents
Hyperledgerのネットワーク構造
• Non-validating peer (⾮検証ノード)
トランザクションを実⾏するリクエストを受け付け
るコンピューター
• Validating peer (検証ノード)
トランザクションを検証するコンピューター
• Membership Services
ユーザー管理をするコンピューター
• Application Backend
ユーザーの操作を受けつけ、トランザクション実⾏
リクエストを⽣成するコンピューター
https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html
41 IBM Academy of Technology & TEC-Japan Presents
Hyperledgerは分散共有台帳とスマートコントラクトを実装
https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html
チェーンコードの実体はソースコード
であり、各 Validating peer にデプロ
イして使います。デプロイされた
チェーンコードは各 Validating peer
で共通の ID を付与され、各
Validating peer は仮想マシン
(Docker コンテナ) を作成し、その中
でチェーンコードの処理を実⾏します
(下図参照)。1 つのネットワークには
複数のチェーンコードをデプロイする
ことが出来ます。
42 IBM Academy of Technology & TEC-Japan Presents
PBFT (Practical Byzantine Fault Tolerance)
1. まず、Validating peer のうち 1 つをリー
ダーとし、Non-validating peer からのトラ
ンザクションをリーダーのみが受け取ります。
2. リーダーは他の Validating peer にトランザ
クションを転送します。トランザクションは
複数まとめて転送されることもあり、その場
合はトランザクションに順番を付加します。
3. リーダー以外の Validating peer は、リー
ダーから転送されたトランザクションが改ざ
んされていない事を確認したら、結果を⾃分
以外の Validating peer に配信します。
4. 各 Validating peer は規定の台数から「トラ
ンザクションが改ざんされていない」という
結果を受け取ったら「トランザクションは全
員に正しく配信されている」と判断し、その
旨を⾃分以外の Validating peer に配信しま
す。(「規定の台数」は PBFT のアルゴリズム
で算出されます。)
5. 各 Validating peer は、規定の台数から「ト
ランザクションが全員に正しく配信された」
という結果を受け取ったらトランザクション
の処理を実⾏します。
6. 実⾏結果を台帳に反映します。台帳の更新が
終了したら、その旨が Non-validating peer
に送信されます。
7. Non-validating peer は、規定の台数から台
帳更新処理が終了したことを受け取ったら
「トランザクションが完了した」とします。
Hyperledgerは
他の合意メカニズム
(Paxosとか)
も利⽤できる。
https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html
43 IBM Academy of Technology & TEC-Japan Presents
Paxosとは …
の話はやめときます。
44 IBM Academy of Technology & TEC-Japan Presents
IOTA Tangle 「有向⾮巡回グラフ」
分散台帳技術Tangle
IOTAのコア技術であるTangleは、有向⾮巡回グラフと呼ばれるデータ構造を応⽤(⼀直線ではない)。
http://iotatoken.com /IOTA_Whitepaper.pdf
IOTAを使ってあるユーザーが新しいトラン
ザクションを発⾏する場合、Tangle上の先⾏
するふたつのトランザクションを検証・承認
します。Tangleのグラフのエッジ(⽮印)は
取引の承認関係を表し、新しく到着したトラ
ンザクションから古いトランザクションに向
けてエッジがのび、新しく到着したトランザ
クションが古いトランザクションを承認して
いる様⼦を⾒てとれます。このようにTangle
にはマイナーが存在せず、取引を⾏う当事者
がトランザクションの承認を⾏うことで
IOTAはスケーラブルかつ取引⼿数が無料の
システムを実現しています。
四⾓で表されたノードはIOTAのトランザクションで、時間は図の左から右へ流
れ、灰⾊の四⾓で表されるノードが新しくネットワークに到着したトランザク
ションです。トランザクションからトランザクションにのびるエッジには向き
があり(有向)、あるトランザクションから同⼀のトランザクションへ戻る閉
路がなく(⾮巡回)「有向⾮巡回グラフ」になっていることがわかります。
どこからはじめるか
45 IBM Academy of Technology & TEC-Japan Presents
n ブロックチェーンは基盤技術である
l インターネット・プロトコルと同じ導⼊経路
l 社内のE-メール導⼊時、
ROI(投資対効果)を計算できたか?
まとめ
46 IBM Academy of Technology & TEC-Japan Presents
n ブロックチェーンをビットコインのアナロジーだけで理解しているのはもったいない。
l トランザクションのオープン化、分散データベースではできなかったこと
l 紙による取引という前世代がない、デジタルネイティブな世界
l 情報のオーナーシップとプロセスの価値、コアコンピタンスしか残らない時代
第⼀世代=仮想通貨
Bitcoin
Litecoin
Degecoin
第⼆世代=スマートコントラクト
Hyperledger
Ethereum
NEM …
第三世代=より多⽤途に
IOTA
Iroha
…
© 2013 IBM Corporation
Open Seminar: 「知性を問う」を学ぶDesign of Infrastructure of “as a service”
IBM, IBMロゴ 、ibm.com は 世 界の多 くの 国で登 録され たInternational Business
Machines Corp. の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各
社 の 商 標 で あ る 場 合 が あ り ま す 。 現 時 点 で の IBM の 商 標 リ ス ト に つ い て は 、
www.ibm.com/legal/copytrade.shtml をご覧ください。
当資料をコピー等で複製することは、⽇本アイ・ビー・エム株式会社および執筆者の承認なしではできません。

Más contenido relacionado

La actualidad más candente

Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...KAYATO SAITO
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperleger Tokyo Meetup
 
逆説のスタートアップ思考
逆説のスタートアップ思考逆説のスタートアップ思考
逆説のスタートアップ思考Takaaki Umada
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
自己主権型IDと分散型ID
自己主権型IDと分散型ID自己主権型IDと分散型ID
自己主権型IDと分散型IDNaohiro Fujie
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版Tokoroten Nakayama
 
Python に行く前に Excel で学ぶデータ分析のいろは
Python に行く前に Excel で学ぶデータ分析のいろはPython に行く前に Excel で学ぶデータ分析のいろは
Python に行く前に Excel で学ぶデータ分析のいろはDaiyu Hatakeyama
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待Hyperleger Tokyo Meetup
 
SlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行しますSlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行しますMoriwaka Kazuo
 
BIGLOBE RDRA導入後の要件定義の変化
BIGLOBE RDRA導入後の要件定義の変化BIGLOBE RDRA導入後の要件定義の変化
BIGLOBE RDRA導入後の要件定義の変化BIGLOBE Inc.
 
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介Hyperleger Tokyo Meetup
 
エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題
エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題
エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題Hyperleger Tokyo Meetup
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみた深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみたJunichi Akita
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版Naoki (Neo) SATO
 
Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何かSyuhei Hiya
 

La actualidad más candente (20)

Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
 
逆説のスタートアップ思考
逆説のスタートアップ思考逆説のスタートアップ思考
逆説のスタートアップ思考
 
Web3 School
Web3 SchoolWeb3 School
Web3 School
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
自己主権型IDと分散型ID
自己主権型IDと分散型ID自己主権型IDと分散型ID
自己主権型IDと分散型ID
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
 
Python に行く前に Excel で学ぶデータ分析のいろは
Python に行く前に Excel で学ぶデータ分析のいろはPython に行く前に Excel で学ぶデータ分析のいろは
Python に行く前に Excel で学ぶデータ分析のいろは
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
 
SlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行しますSlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行します
 
BIGLOBE RDRA導入後の要件定義の変化
BIGLOBE RDRA導入後の要件定義の変化BIGLOBE RDRA導入後の要件定義の変化
BIGLOBE RDRA導入後の要件定義の変化
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
 
エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題
エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題
エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみた深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみた
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
 
Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何か
 

Similar a ブロックチェーンを学ぶ 公開版

Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Kenichi Takeuchi
 
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...blockchainexe
 
2017年10月28日乳児にもわかる仮想通貨勉強会
2017年10月28日乳児にもわかる仮想通貨勉強会2017年10月28日乳児にもわかる仮想通貨勉強会
2017年10月28日乳児にもわかる仮想通貨勉強会Tetsuya Imagawa
 
Why we need blockchain for dx
Why we need blockchain for dxWhy we need blockchain for dx
Why we need blockchain for dxSBI R3 Japan
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...SORACOM,INC
 
EXE #6:Lightning Network入門
EXE #6:Lightning Network入門EXE #6:Lightning Network入門
EXE #6:Lightning Network入門blockchainexe
 
ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめHarukiKondo
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性Kenji Saito
 
デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料Shinichiro Isago
 
Introducing IBM Cloud & Cognitive
Introducing IBM Cloud & CognitiveIntroducing IBM Cloud & Cognitive
Introducing IBM Cloud & CognitiveAtsumori Sasaki
 
ビジネスプランの提案
ビジネスプランの提案ビジネスプランの提案
ビジネスプランの提案Mizuki Sakai
 
仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望Masanori Kusunoki
 
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)blockchainexe
 
What is blockchain japanese version
What is blockchain  japanese versionWhat is blockchain  japanese version
What is blockchain japanese versionTomoaki
 
Creator Economy x Crypto => Web3.0
Creator Economy x Crypto => Web3.0Creator Economy x Crypto => Web3.0
Creator Economy x Crypto => Web3.0Taiki Narita
 

Similar a ブロックチェーンを学ぶ 公開版 (20)

Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17
 
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
 
2017年10月28日乳児にもわかる仮想通貨勉強会
2017年10月28日乳児にもわかる仮想通貨勉強会2017年10月28日乳児にもわかる仮想通貨勉強会
2017年10月28日乳児にもわかる仮想通貨勉強会
 
Why we need blockchain for dx
Why we need blockchain for dxWhy we need blockchain for dx
Why we need blockchain for dx
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
 
EXE #6:Lightning Network入門
EXE #6:Lightning Network入門EXE #6:Lightning Network入門
EXE #6:Lightning Network入門
 
Lightning Network入門
Lightning Network入門Lightning Network入門
Lightning Network入門
 
What's TMCN?
What's TMCN?What's TMCN?
What's TMCN?
 
ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめ
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
 
Oss on Azure, social mobile web
Oss on Azure, social mobile webOss on Azure, social mobile web
Oss on Azure, social mobile web
 
デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料
 
Introducing IBM Cloud & Cognitive
Introducing IBM Cloud & CognitiveIntroducing IBM Cloud & Cognitive
Introducing IBM Cloud & Cognitive
 
ビジネスプランの提案
ビジネスプランの提案ビジネスプランの提案
ビジネスプランの提案
 
SIerからみたHyperledger Fabric
SIerからみたHyperledger FabricSIerからみたHyperledger Fabric
SIerからみたHyperledger Fabric
 
仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望
 
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
 
serversman
serversmanserversman
serversman
 
What is blockchain japanese version
What is blockchain  japanese versionWhat is blockchain  japanese version
What is blockchain japanese version
 
Creator Economy x Crypto => Web3.0
Creator Economy x Crypto => Web3.0Creator Economy x Crypto => Web3.0
Creator Economy x Crypto => Web3.0
 

Último

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Último (9)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

ブロックチェーンを学ぶ 公開版

  • 1. © 2017 IBM Corporation Open Seminar: 「ブロックチェーン」 1 IBM Academy of Technology Affiliated Katsushi Yamashita, Distinguished Engineer, GTS, IBM Japan
  • 2. なんでブロックチェーンは難しいか 2 IBM Academy of Technology & TEC-Japan Presents n ビットコインの基礎技術は古い。 過去の基礎技術を説明するのが⾯倒くさい(かっこ悪い) 〜昔すぎて覚えてないひとも多い。 l 公開鍵暗号通信、デジタル署名、デジタル証明書 (もはや、まるっと「SSL通信」) l スパム対策に使われているハッシュキャッシュ l 取引とはなにか=トランザクション、タイムスタンプ l P2P分散合意形成のビザンチン将軍問題(ビザンチン障害) : ⾯倒なことをバイパスして、 ビットコインだけで成⽴しているかっこいい話をする
  • 3. なんでブロックチェーンは難しいか 3 IBM Academy of Technology & TEC-Japan Presents n蔓延する誤解とデジャヴ 「ブロックチェーンはビットコインでしょ?」 「ビットコインの地域分散モデルをクラウド(O社)やメインフ レーム(I社)で地域集約して意味ねー!」 lわかってる⼈には可能性に満ちているが、基礎技術と機能、 ⾮機能、特徴を理解しない⼈には実モデルを想像できない →何に使って良いかわからない(何が良いかわからない) クラウドは仮想化インスタンスだという矮⼩化と同じ道
  • 4. 4 IBM Academy of Technology & TEC-Japan Presents かっこわるいけど、ちゃんと復習しよう (勉強の時間です) まじかよ‥ だから、 理系ってさあ‥
  • 5. 5 IBM Academy of Technology & TEC-Japan Presents だけど、やっぱり まるっとブロックチェーンを理解したい。 (勉強はあとまわし) おおっ!
  • 6. 6 IBM Academy of Technology & TEC-Japan Presents 中央集権型システムとP2P分散管理型ブロックチェーン トランザクション要求 • ⼀台壊れても復元できる、全体が⽌まらない • 処理が分散しているので負荷が低い • 全体で監視しているので不正ができない • ⾼性能なコンピュータ • 壊れてしまったら停⽌ • 破産したら‥ P2P分散管理のブロックチェーン 全てのノードが同じトランザクションを持っている 中央集権型 中央のコンピュータだけが台帳を持っている • クロックも⼀台 • マスターファイル のロックもできる • クロックはばらばら • マスターファイル のロックもできない ⼊出⾦伝票 デジタルマネー スマートコントラクト
  • 7. ブロックチェーンが実現したいのはトランザクション台帳 7 IBM Academy of Technology & TEC-Japan Presents n 取引(トランザクション)を記録する台帳 l ↓⼝座残⾼を更新するか、 トランザクションを累積するか→ Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ Aの⼝座 Bの⼝座 Cの⼝座 マスターファイル トランザクションデータ : 12:03 12:04 12:06 12:09 : 12:39 台帳 Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ : 12:03 12:04 12:06 12:09 : 12:39 Aの初期値 Bの初期値 Cの初期値 トランザクション台帳 時間順序を守って 計算したら⼝座台帳になる 更新処理 レコードをロック 追記型へ 振替 80年代の頃 ⼤福帳って よばれたことも あったなあ
  • 8. ブロックチェーン(1)ハッシュチェーン 8 IBM Academy of Technology & TEC-Japan Presents n 前のブロックのデータ内容から計算したハッシュ値を次のデータの中に埋め込んでつなぐ l ハッシュは元のデータからしか計算できない l 元のデータのハッシュを計算すれば次のデータの存在証明ができる l ハッシュを含んだデータがつながるチェーン l コンピューターにとって⾮可逆性を表現するために使われるハッシュ関数 →貨幣、決済、取引 Block A Block B Block C Block D 最初の ブロック 取引記録 取引記録 取引記録 ハッシュ値 ハッシュ値 ハッシュ値 Time stamp (1) Time stamp (2) Time stamp (3) Time stamp (4) 新しいブロックが書かれたときに前のブロックの後ろであることが検証可能
  • 9. l ⼀定量のデータをコンパクトに要約 l データが少しでも変わると、まったく違う値 l データが多くても、少なくても同じ⻑さ (不定⻑のハッシュもある) l ハッシュ値から元のデータは計算できない – パスワードの保存の安全性 l 送信データの検証に使われる – 送信データからダイジェストを作成 – ダイジェストを秘密鍵で暗号化(デジタル署名) – データとデジタル署名を送信 – デジタル署名を公開鍵でダイジェストに復号化 – データのハッシュ値とダイジェストを⽐較 l たくさんのアルゴリズムがある 9 IBM Academy of Technology & TEC-Japan Presents ハッシュ値、⾮可逆な(irreversible)な計算 ハッシュ 関数 420d971d あいうえお ハッシュ 関数 c18dc48R あいうえも ハッシュ 関数 984c179d いろはにほへ : ゑいもせすん ちょっと違ってもまるで違う値 ハッシュ値=ダイジェスト すごく⻑くても同じ⻑さ 元の値には戻らない 元のメッセージ
  • 10. ブロックチェーン(2)ハッシュチェーン 10 IBM Academy of Technology & TEC-Japan Presents n 作成済みのデータを変更すると、後続の全データに影響してしまう Block A Block B Block C Block D Block B ブロックBを不正 に改ざん 後続のデータのハッシュ を計算しなおし ハッシュの計算に 必要な労⼒の問題
  • 11. Block A Block B Block C Block D ブロックチェーン(3)トランザクションデータ 11 IBM Academy of Technology & TEC-Japan Presents n ブロックにはトランザクション、タイムスタンプ、前のブロックのハッシュ、他が含まれる。 l ブロックは時系列に並べることができて、⼀つのブロックのトランザクション順は⼀つのクロックで決 まっている。 Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ : Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ : Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ : Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ : Time stamp (1) Time stamp (2) Time stamp (3) Time stamp (4) だいたい10分 * だいたい10分 * だいたい10分 * ⼀ 定 時 間 内 の 取 引 ⼀定時間ごとに ブロックを作成 ネットワークに ブロードキャスト * だいたい10分なのはビットコインの仕様 ネットワークの 標準時間 (⼤体合ってる) トランザクション台帳
  • 12. 12 IBM Academy of Technology & TEC-Japan Presents トランザクションのブロードキャストとステートマシンレプリケーション ブロードキャスト Block C Block C Block C Block C Block C Block C Block A Block B Block C ↑検証して追加 Block A Block B Block C ↑検証して追加 Block A Block B Block C ↑検証して追加 Block A Block B Block C ↑検証して追加 Block A Block B Block C ↑検証して追加 Block A Block B Block C ↑検証して追加 今、追加する権利 があるところが ブロックを追加 まるっと 全体のステートが Block Bの状態から Block Cの状態に遷移 Block A Block B ブロックCを作成↓ Block D Block A Block B Block C ↓ブロックDを作成 次は別のところから ブロックを追加* *マスターが変転するのは ブロックチェーン必須要 件ではない。 (オープンで地域に分散するビットコ インでは必須要件→管理責任を分散し 管理⼿数料をシェアするため)
  • 13. Bitcoin 〜ブロックチェーンの⼀つの実装 13 IBM Academy of Technology & TEC-Japan Presents n 地域的に分散したピアツーピアネットワークでビットコイン台帳を形成 l A地域(業者)で送⾦したというデータが世界中で共有されている l B地域(業者)でそれを個⼈に⼊⾦したというデータも正しく共有できている The Internet Public Block Chain 送⾦ ⼊⾦ →ビットコイン台帳 (トランザクション台帳)
  • 14. 海外送⾦の従来⼿法→紙の伝票のアナロジー 14 IBM Academy of Technology & TEC-Japan Presents n これまでの海外送⾦の処理 l コンピュータによってデジタルに⾏われてい ることが、全て紙の伝票と台帳のアナロジー l ⼤きく三段階のトランザクションを処理して 台帳(⼝座)を更新することで処理を⾏って いる。 ❶ 振込依頼書 振込⼈ 振込⼈⼝座 振込元銀⾏ ❷ 資⾦払出処理 振込⾦額 と⼿数料 ❸ ⽀払指図 (SWIFT指⽰書) コレリス 銀⾏ $ → $ 振込元銀⾏ の⼝座 振込先銀⾏ の⼝座 ❹ 資⾦移動処理 ❺ 送⾦到着 振込先銀⾏ 受取⼈⼝座 ❻ 受取⼈⼝座に ⼊⾦処理 受取⼈
  • 15. デジタルネイティブな台帳→紙の伝票のアナロジーから脱却 15 IBM Academy of Technology & TEC-Japan Presents n ビットコインは分散台帳 → 分散したマシンにある⼀貫した単⼀の台帳 l 共通のステートマシンであり、誰が読んでも同じデータを扱うことができる l 誰もが参加できて、トランザクションを書き込む(状態を変える)ことができる n 伝票がいらない マスターもない 送⾦ ⼊⾦ →ビットコイン台帳 (トランザクション台帳) Aから出⾦ Bに⼊⾦ インターネット の共有台帳
  • 16. n トランザクション台帳をエンタープライズ毎に分散したシステムで共有する l システムの⼀部として業界共通のセマンティックを持った契約合意のメカニズムが存在している n 伝票のアナロジーから脱却する l デジタルネイティブな コントラクト l シェアリングエコノミー ブロックチェーンを企業間の共有トランザクションとしてみる 16 IBM Academy of Technology & TEC-Japan Presents 受注 ECサイト 出品社 配送会社 輸出/輸⼊決済 メーカー 投資家(IR) ⼯場発注 ⼯場受注 直送指⽰ 配送完了 地域的に分散している ことには意味がない。 異なるインスタンス間で共有 する台帳がサイバー空間で進化 →Hyper Ledger
  • 17. 17 IBM Academy of Technology & TEC-Japan Presents ⼤きな誤解 Facebookのとある発⾔> 汎⽤機が分散台帳の基盤とは、 語義⽭盾が⾯⽩過ぎて何でもア リなのですが。そのうちドロ ワーに⼊る採掘⽤ASICボード とか出てくるのでしょうか? ↓ 分散の意味を取り違えず、 共有台帳だということを 理解してほしい。
  • 18. 18 IBM Academy of Technology & TEC-Japan Presents 取引や契約、状態を変化させるトランザクションを共有する Transaction Initial State Transaction 1 Transaction 2 Transaction 3 Transaction 4
  • 19. l ⾮常に複雑なサプライチェーンのデジタル制御が求められてくる l デジタルなデマンドから消費⾏動までの変化 l 設計から⽣産、出荷に⾄る状態の変化 →全てがステートマシン l ⼯程間の⽣産ログとセンサーデータの変化 詳しくは「サイバー・ファースト」江崎浩著 http://amzn.to/2AQSanr を参照ください。 19 ⽣産現場も変化する 出荷 注文Productivity 出荷 注文 出荷 注文 Parts Manufacture Parts Manufacture ⼩売店供給者 プルシステム これまでのサプライチェーン
  • 21. 紙の契約書を綴じるというアナロジー 21 IBM Academy of Technology & TEC-Japan Presents n マスターの台帳を更新することで取引台帳を作ってきた中央集権型のビジネス l ⽣命保険は⼈⽣の⻑い期間に渡って、複雑な保険商品の契約を更新しながら保険満了までレ コードを維持することがビジネスプロセスに組み込まれている。 l マスター更新というプロセス上の権威的地位を利⽤した地位ビジネスが成⽴している。 (古い保険契約の仕組みを維持しないと、今の保険契約が成⽴しない)
  • 22. 22 IBM Academy of Technology & TEC-Japan Presents 取引のオープン化が起こる Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ Aの⼝座 Bの⼝座 Cの⼝座 マスターファイル トランザクションデータ : 12:03 12:04 12:06 12:09 : 12:39 台帳 Aから出⾦ Bに⼊⾦ Cに⼊⾦ Aから出⾦ Cに⼊⾦ : 12:03 12:04 12:06 12:09 : 12:39 Aの初期値 Bの初期値 Cの初期値 トランザクション台帳 振替 取引マスターを 管理する権威 ⼊⼒を制御 する権限 中央集権企業 被管理対象者 対等(Peer)な 取引者 ⾃由な取引
  • 23. ブロックチェーンが作り出すデジタル・ネイティブな世界 23 IBM Academy of Technology & TEC-Japan Presents n ⾮中央集権型⾃律組織 (De-centralized Autonomous Organization) “Blockchain Revolution” Don Tapscot ISBN1101980133 P368 Portfolio (2016/5/10) n マスターの更新から解放された デジタルネイティブなトランザクション・ビジネス (もし、現状の保険契約のシステムがない国だったら?) l 保険契約が契約の連鎖を契約主体⾃⾝が管理できるようになる。 →保険代理店、保険販売員、あるいは契約者 l 契約の⼿続き、台帳記録や⼊出⾦のITトランザクションを全体で共有する(共有資源) l 保険会社は保険契約(保険商品)の⾦融リスクの管理 というコンピテンシー(機能)しか残らない! もちろん地域的にも分散できるので国も関係ない Long Tail市場が⼤きなマーケットプレイスを必要としなくなる 製品のような品質の瑕疵がのちに問題になるようなものより、 電⼒のように均質で検証可能なものが適している。UberやAirbnbなども課題が多い。 ビットコイン⾃⾝の電⼒消費=貨幣を維持するために必要なコスト > 電⼒コスト (bitcoinのminerの75%が中国籍の7社独占:中国の電⼒コスト) Sony Computer Science 北野宏明⽒ HBR2017Aug
  • 24. 24 IBM Academy of Technology & TEC-Japan Presents ブロックチェーンの衝撃
  • 25. 25 IBM Academy of Technology & TEC-Japan Presents ビジネスのトランザクション(電⽂)は コミュニケーションの媒体です。 ⼀つの抽象化されたステートマシンを共有することは 媒体のないコミュニケーションを実現するようなこと 「テレパシーで伝わるビジネス」 伝票のビジネス基盤を持たなかった国や エストニアのようなサイバー⽴国を⽬指す国では、 既存のビジネスルールから解き放たれた仕組みが発⽣する。
  • 26. 簿記と会計の再発明 26 IBM Academy of Technology & TEC-Japan Presents n 帳簿に記載される対象を数字ではなく 「⽀払い義務や依存関係のアルゴリズム的な表現」としたら l たとえば ある会社からクレジット・デフォルト・スワップを買 うなら----知りたいのは、その⽀払い義務額を⽀払う期⽇がやっ てきたとき、⾃社が逆張りしていたAA格の住宅ローン債券がデ フォルトしたとして、⾃社がちゃんと⽀払えるか? 会計の再発明は、アルゴリズムのちょっとしたテコ⼊れ(過去数百年に ぼくたちがやってきたのはそれだと思う)なんかではなく、新しい数論 の発⾒のようであるべきだと思うのだ。 Reinventing Bookkeeping and Accounting (In Search of Certainty) https://joi.ito.com/weblog/2016/04/26/reinventing-boo.html https://joi.ito.com/jp/archives/2016/05/08/005596.html
  • 27. 27 IBM Academy of Technology & TEC-Japan Presents ここまでわかったら、 やっぱりビットコインも知っておこう (Public Block chain 基礎講座) ああ、うん。 そうかな…
  • 28. 28 IBM Academy of Technology & TEC-Japan Presents ビットコインは、 インターネットで公開されている パブリックブロックチェーンを ❶ トランザクションをデジタル署名 ❷ ブロックチェーンをハッシュキャッシュ という暗号技術で安全性を担保しています。
  • 29. 29 IBM Academy of Technology & TEC-Japan Presents トランザクションはビットコインの流通経路を記録する。 ⼊⼒ 出⼒ Aから6.5BTC Bに5BTC Aに2BTC 出⼒ Aに0.5BTC 出⼒ Aに4BBT Tx 1 Tx 2 出⼒ 0 出⼒ 1 出⼒ 3 Aに2BTC Aに0.5BTC Aに4BTC Tx1 0 Tx1 1 Tx2 3 合計 Aに1BTC 出⼒ 0 出⼒ 1 (差分 0.5BTCは⼿数料) Tx 3 ⼊⼒ 出⼒ ⼊⼒ 出⼒ ⼊⼒ 出⼒ ⼊⼒ 出⼒ Tx 1 Tx 2 Tx 3 Tx 4 Block 0 Block B Block C Block D Tx 0 (ブロックを作った⼈に12.5BTC) おつり ブロックチェーン ビットコインのトランザクション 単体のトランザクションの構造 以前のトランザクション 貸⽅・借⽅・⼿数料→連鎖三式簿記
  • 30. ビットコイン 通貨としての要件 30 IBM Academy of Technology & TEC-Japan Presents n 通貨としての特性を維持する l コインを本⼈以外が勝⼿に譲渡することはできない l 第三者は、コインの譲渡を客観的に確認することができる l ⼆重譲渡を防⽌し、 ⼀つの譲渡のみをネットワーク全体で正しい取引として決定する ⼆重譲渡とは、元のコインの持ち主が⼆⼈以上の相⼿に、全く同じコインを譲渡することである。
  • 31. l 公開鍵暗号⽅式 l 対称な公開鍵と秘密鍵の対を利⽤します l 公開鍵で暗号化した暗号⽂は秘密鍵で復号できます – 公開鍵を公開しておくと、暗号化通信ができます – 秘密鍵とは違うので⾮対称鍵ともいいます l デジタル署名 l 秘密鍵で⽂書を暗号化すると公開鍵で復号できます l 公開鍵で復号化できた⽂書を暗号化できるのは秘密鍵 を持っている⼈だけです(発⾏⼈証明) l デジタル証明書 l 公開鍵証明書は公開鍵そのものを⽂書として認証局の 秘密鍵で署名されたもの 31 IBM Academy of Technology & TEC-Japan Presents 公開鍵暗号⽅式による通信とデジタル署名 (1) ⼀対の鍵 を⽣成 (2) 公開鍵を公開する 公開鍵 秘密鍵 暗号化 復号化 (3) 公開鍵で暗号化 (4) 暗号化通信 (5) 秘密鍵で復号化 送信する側 受信する側 秘密鍵 暗号化 暗号化 (3) 公開鍵で復号化 (2) 署名と⽂書を送信 (1) 秘密鍵で暗号化 公開鍵 検証する側 署名する側 ダイジェストダイジェスト ハッシュ検証 署名
  • 32. ビットコイン トランザクションのデジタル署名 32 IBM Academy of Technology & TEC-Japan Presents l ブロックチェーンの参加者はトランザクションがコインの所有者によって作られていることを署名に よって確認できる。その内容を確認することでトランザクションデータが正しいことも確認できる。 l コインの所有は⼀つ前のトランザクションが指定した所有者であることが公開鍵から確認できる。 B(譲渡先)の公開鍵 B(譲渡元) の秘密鍵 ⼊⼒ 出⼒ Aさん → Bさん 前トランザクション のハッシュ値 Bの公開鍵 のハッシュ値 B(譲渡元) の公開鍵 現トランザクション のBによる署名 ⼊⼒ 出⼒ Bさん → Cさん 現トランザクション のハッシュ値 Cの公開鍵 のハッシュ値 Bの鍵ペア 今作ろうとしているトランザクション (BさんからCさんへの譲渡) 前トランザクション のハッシュ値 A(譲渡元) の公開鍵 現トランザクション のAによる署名
  • 33. 33 IBM Academy of Technology & TEC-Japan Presents ビットコイン ブロックチェーンの実装 タイムスタンプ・サーバーは、タイムスタンプされる複数アイテムを含むデータブロックをハッシュとして処理し、そのハッシュを新聞や Usenetポスト[2-5]のように広範囲に公開する。タイムスタンプにより、そのデータがタイムスタンプされた時点でハッシュとなるために存 在していたことが証明される。各タイムスタンプはそのハッシュの中に直前のタイムスタンプを含んでいくことでチェーンを形成し、タイム スタンプが増えるたびに以前のタイムスタンプを強化していく。 https://coincheck.com/blog/292 ⽇本語で読むビットコイン原論⽂ [by Satoshi Nakamoto] Item Item Item Item Item 現ブロックの ハッシュ値 前ブロックの ハッシュ値 トランザクションの 統合されたハッシュ Time Stamp Item Item Item Item Item 次ブロックの ハッシュ値 トランザクションの 統合されたハッシュ
  • 34. 34 IBM Academy of Technology & TEC-Japan Presents ビットコイン 合意メカニズムの実装 現ブロックの ハッシュ値 前ブロックの ハッシュ値 トランザクションの 統合されたハッシュ 次ブロックの ハッシュ値 トランザクションの 統合されたハッシュ Nonce Nonce Nonceを突き⽌めて ブロックをネットワーク に公報する ハッシュ関数 0000 0000 4fc0 .. マイニングのターゲットとなるハッシュ値 (最初のN桁が0で始まる値) ハッシュキャッシュ スパムメール防⽌のために考案された技術。 ある⽂字列Sが与えられたとき、もうひとつの⽂字列と連結し た⽂字列のハッシュ値の左のいくつか(n)bitがすべて0にな る、そのような⽂字列を求める。実際に連結する⽂字列を0か ら順に連結してみてハッシュ値を計算して、連結する⽂字列を 作り出すしかない。(CPU能⼒を削ぐ戦術) Nonceはブロックの書込許可を⽰ すワンタイムパスワードである
  • 35. ビットコイン ブロックの分岐防⽌ 35 IBM Academy of Technology & TEC-Japan Presents n ビットコインの分岐〜正常分岐と改ざん分岐 Block A Block B Block C Block D Block B ブロックBを不正 に改ざん 後続のデータのハッシュ を計算しなおし ハッシュの計算に 必要な労⼒の問題 正しい 正しい 正しい Block E 正しい 最も⻑い分岐が 正しいはず 改ざんに加担する グループ
  • 37. Bitcoin 〜ブロックチェーンの⼀つの実装 37 IBM Academy of Technology & TEC-Japan Presents n ブロックチェーン技術のピアツーピアネットワークの特性 l 地域に分散している l ある⼀定の時間で同期することが期待されている l メンバーの追加、あるいはメンバーの故障や復帰に強い構造 l しかし、トランザクション負荷が分散しているとはいいがたい n ビットコインのブロックチェーンとしての特徴 l ビットコイン台帳はビットコインだけを扱う、極めて単純な分散台帳である。 l 参加者はビットコインの統⼀されたルールに従って参加している、共通のメンバーである。 n 報酬と半減期のメカニズム(通貨供給量の制御) l 210Kブロックに⼀回ブロック⽣成報酬が半減する。 – 50BC @2009→25BC @2012→12.5BC @2016 – 最後のブロック 6,929,999個⽬@2020 n ハードフォーク l ソフトウェアの互換性のないチェーンの分岐→新たなチェーンの⽣成 (通貨供給量のバイオレーションの側⾯)
  • 38. コンソーシアム型 Hyperledger プロジェクト 38 IBM Academy of Technology & TEC-Japan Presents n Hyperledgerプロジェクトはブロックチェーンの世界における課題に対して、柔軟に複数のソ リューションを提供しています。 l トランザクションの承認に時間がかかる →新しいブロックチェーンネットワーク l Proof of WorkはCPU能⼒と電⼒に過⼤なコストがかかる →新しい合意メカニズム l 仮想通貨へのコミットを必要としないで、複数の業界の分散台帳を構築 →柔軟なトランザクション l プライベートな台帳同⼠のコミュニケーションやアクセス管理 →コンソーシアム型 l スマートコントラクトにも⼒を⼊れています。Hyperledgerのリファレンスとなるアーキテクチャのう ちの⼀つの重要な要素として、スマートコントラクト・サービス(Chain-Codeとも呼ばれる)があり、 検証ノードという閉じられた環境で安全にスマートコントラクトを実⾏できるようになっています。 http://gaiax-blockchain.com/smart-contract
  • 39. 39 IBM Academy of Technology & TEC-Japan Presents Hyperledgerのアーキテクチャー ① identityサービスは、ユー ザーや参加者の⾝元や、資 産やスマートコントラクト 等の台帳を管理します。 ② policyサービスは、アクセ スコントロール、プライバ シー、コンソーシアムの ルール、合意のルールなど を管理します。 ③ ブロックチェーン・サービ スは、P2Pの通信プロトコ ルを通じて分散型台帳を管 理します。 ④ スマートコントラクト・ サービス(chain-codeと も呼ばれる)は検証ノード という閉じられた環境で、 安全にスマートコントラク トを実⾏します。
  • 40. 40 IBM Academy of Technology & TEC-Japan Presents Hyperledgerのネットワーク構造 • Non-validating peer (⾮検証ノード) トランザクションを実⾏するリクエストを受け付け るコンピューター • Validating peer (検証ノード) トランザクションを検証するコンピューター • Membership Services ユーザー管理をするコンピューター • Application Backend ユーザーの操作を受けつけ、トランザクション実⾏ リクエストを⽣成するコンピューター https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html
  • 41. 41 IBM Academy of Technology & TEC-Japan Presents Hyperledgerは分散共有台帳とスマートコントラクトを実装 https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html チェーンコードの実体はソースコード であり、各 Validating peer にデプロ イして使います。デプロイされた チェーンコードは各 Validating peer で共通の ID を付与され、各 Validating peer は仮想マシン (Docker コンテナ) を作成し、その中 でチェーンコードの処理を実⾏します (下図参照)。1 つのネットワークには 複数のチェーンコードをデプロイする ことが出来ます。
  • 42. 42 IBM Academy of Technology & TEC-Japan Presents PBFT (Practical Byzantine Fault Tolerance) 1. まず、Validating peer のうち 1 つをリー ダーとし、Non-validating peer からのトラ ンザクションをリーダーのみが受け取ります。 2. リーダーは他の Validating peer にトランザ クションを転送します。トランザクションは 複数まとめて転送されることもあり、その場 合はトランザクションに順番を付加します。 3. リーダー以外の Validating peer は、リー ダーから転送されたトランザクションが改ざ んされていない事を確認したら、結果を⾃分 以外の Validating peer に配信します。 4. 各 Validating peer は規定の台数から「トラ ンザクションが改ざんされていない」という 結果を受け取ったら「トランザクションは全 員に正しく配信されている」と判断し、その 旨を⾃分以外の Validating peer に配信しま す。(「規定の台数」は PBFT のアルゴリズム で算出されます。) 5. 各 Validating peer は、規定の台数から「ト ランザクションが全員に正しく配信された」 という結果を受け取ったらトランザクション の処理を実⾏します。 6. 実⾏結果を台帳に反映します。台帳の更新が 終了したら、その旨が Non-validating peer に送信されます。 7. Non-validating peer は、規定の台数から台 帳更新処理が終了したことを受け取ったら 「トランザクションが完了した」とします。 Hyperledgerは 他の合意メカニズム (Paxosとか) も利⽤できる。 https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html
  • 43. 43 IBM Academy of Technology & TEC-Japan Presents Paxosとは … の話はやめときます。
  • 44. 44 IBM Academy of Technology & TEC-Japan Presents IOTA Tangle 「有向⾮巡回グラフ」 分散台帳技術Tangle IOTAのコア技術であるTangleは、有向⾮巡回グラフと呼ばれるデータ構造を応⽤(⼀直線ではない)。 http://iotatoken.com /IOTA_Whitepaper.pdf IOTAを使ってあるユーザーが新しいトラン ザクションを発⾏する場合、Tangle上の先⾏ するふたつのトランザクションを検証・承認 します。Tangleのグラフのエッジ(⽮印)は 取引の承認関係を表し、新しく到着したトラ ンザクションから古いトランザクションに向 けてエッジがのび、新しく到着したトランザ クションが古いトランザクションを承認して いる様⼦を⾒てとれます。このようにTangle にはマイナーが存在せず、取引を⾏う当事者 がトランザクションの承認を⾏うことで IOTAはスケーラブルかつ取引⼿数が無料の システムを実現しています。 四⾓で表されたノードはIOTAのトランザクションで、時間は図の左から右へ流 れ、灰⾊の四⾓で表されるノードが新しくネットワークに到着したトランザク ションです。トランザクションからトランザクションにのびるエッジには向き があり(有向)、あるトランザクションから同⼀のトランザクションへ戻る閉 路がなく(⾮巡回)「有向⾮巡回グラフ」になっていることがわかります。
  • 45. どこからはじめるか 45 IBM Academy of Technology & TEC-Japan Presents n ブロックチェーンは基盤技術である l インターネット・プロトコルと同じ導⼊経路 l 社内のE-メール導⼊時、 ROI(投資対効果)を計算できたか?
  • 46. まとめ 46 IBM Academy of Technology & TEC-Japan Presents n ブロックチェーンをビットコインのアナロジーだけで理解しているのはもったいない。 l トランザクションのオープン化、分散データベースではできなかったこと l 紙による取引という前世代がない、デジタルネイティブな世界 l 情報のオーナーシップとプロセスの価値、コアコンピタンスしか残らない時代 第⼀世代=仮想通貨 Bitcoin Litecoin Degecoin 第⼆世代=スマートコントラクト Hyperledger Ethereum NEM … 第三世代=より多⽤途に IOTA Iroha …
  • 47. © 2013 IBM Corporation Open Seminar: 「知性を問う」を学ぶDesign of Infrastructure of “as a service” IBM, IBMロゴ 、ibm.com は 世 界の多 くの 国で登 録され たInternational Business Machines Corp. の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各 社 の 商 標 で あ る 場 合 が あ り ま す 。 現 時 点 で の IBM の 商 標 リ ス ト に つ い て は 、 www.ibm.com/legal/copytrade.shtml をご覧ください。 当資料をコピー等で複製することは、⽇本アイ・ビー・エム株式会社および執筆者の承認なしではできません。