SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
IBM Blockchain / © 2018 IBM Corporation
Blockchain
Engineer
Night #4
Hyperledger Fabric
/
2
n
n FC b dc a D
n d P d H
n d P d I
IBM Blockchain / © 2018 IBM Corporation
3
•
•
C
C
C
C
B
A
C
C
C
C
C
C
C
B
A
C
4IBM Blockchain / © 2018 IBM Corporation
ug AlB
(
/
3
/
3
srsr
Q m
L m
H RmAtibB
s rE nFxc S d s r
S Q
C / C
C
C( /
C
C C 3
C( A)
C 3
ohae
C 3 /
p
C
5IBM Blockchain / © 2018 IBM Corporation
( )
•
ü r
•
ü h
• E r t
ü m
• )
/
• e / u
• ) (
r )
•
• m
ü
6IBM Blockchain / © 2018 IBM Corporation
Intel, IoT
Soraitsu, mobile
IBM, Enterprise
EVM
Sovrin, DistributedID
Appl Framework
Deployment
GUI Dashboard
Benchmark Tool
ILP
7IBM Blockchain / © 2018 IBM Corporation
1 20 . 2 2
p H b a d
ü :/
ü
ü
p .
ü
ü .
n H a b r 4 gp
c b 7 F5 i
e
n 4 l V
5
p 5
8
(8 0 2 / 1 00/)2
A
IBM Blockchain / © 2018 IBM Corporation
: / 2 112 1 0 1 1 - 0 //- 1 1 : / 2 8 1
/2 / /2 . -1 -1 2 : 0
9
) 60 0/10 ( 820 0
IBM Blockchain / © 2018 IBM Corporation
. 6 .: 0 - - 0 - .: 0 - / 2 68 6 . 81
10
D E : E 8E G E H / gNa
IBM Blockchain / © 2018 IBM Corporation
/ . / - .
• ptM R mgNcma
• / 3F E B :
ü D E : E )HEE fN pt
ü hNa ma aV: D
• 8 8 DE
ü DDF 8 m NeYN
rs
• m m M 8E fN
• F(dNb Nb
• 1 2EH gNaTon
• iNa Wl U )6 0fN
FAB-6590 / FAB-8078 / FAB-10273
11IBM Blockchain / © 2018 IBM Corporation
O
O O
O
SDK
(HFC)
F
Peer
Endorsement Peer
Committing Peer
!
ü
Fabric-CA
ü
CA
Hyperledger Fabric
HH
•
Certificate Authority (CA)
A
B
12
C / n em d F
IBM Blockchain / © 2018 IBM Corporation
• F F MS
A A M / C
• c bpF s K h dF
gFZ /
• icos OP H u S I aF
A/ / /
• ) fF yxMDbm l r tvx u
( C B
13IBM Blockchain / © 2018 IBM Corporation
A C
A C D D D
1
A C D D
go
c a
D
.
0 1
D
.
0 1
D
.
0 1
D
.
0 1
.
0 1
.
0 1
.
0 1
.
0 1
.
0 1
.
0 1
.
0 1
.
0 1
.
0 1
go c c a
D D D D
A C B
l cn a
1. go c
a L d b
V
b
F d b
F
h e F
1. rC c a
6 r
h i a
14
n
n FC b dc a D
n d P d H
n d P d I
IBM Blockchain / © 2018 IBM Corporation
15
( 1 . no h
IBM Blockchain / © 2018 IBM Corporation
( 1 . F 3 . P c
1 VI c P synhmf no hc
P I - )1 A c P ba P
1
C Ha vgpluc
a
i t o c a V C
a V MC c V
3 .
C c i t o ( 1
. . b Ia C c a
V
. hxed oF . . VP V
r F . VP c S
. c IC .
C c I
16IBM Blockchain / © 2018 IBM Corporation
- - - gir c O P y
gir c -- - - HP
gc b s gir c coa si
1 2 1 -- - - E
--
--
- -
M asdesd gi
r c F H
--
- - - - H
l HP E n p
e E -- HP
S E - -
17
g
IBM Blockchain / © 2018 IBM Corporation
O O
-
C e M P
2 - M S
) ( ) (
TLS
TLS
MSP
CA
CA
CA
Admin
g
18
O
IBM Blockchain / © 2018 IBM Corporation
r L C D Ol O
dhowN O nt k
k N N l O N I k k N
O k N O r
r a O
k LN CO k N O O
k N k N M O ed O
k O N N O O
3 nt k N O O c k dnt N S
L nt k O O nt
k k N O O Ok
edO
NP r k LN
k LN 3 O N
19IBM Blockchain / © 2018 IBM Corporation
P sDL 2 1 2 d D )
DS 2 1 2 L P 2 l
C S R c
l R 2 1 2 DI l C A M S
2 1 2 I M 2 1 2
C wm 2 1 2 M M S
C I R E 2 1 2 C
A M S
l C C S A ( )Po
A M DI l L ae P t C
A M S
r R S
nR l nR DI l M
20
) 3 AS dS
IBM Blockchain / © 2018 IBM Corporation
4
c
(
. 4 . 5
oe
c
(
a
. 3 . 5
. 3 . 5 12 .
. 5
C) 55 3 ( a (
) 55 3 (
31 3 . 2 r
a wt n
a ) 55 3 (P 31 3
) 55 dD
) 55 3 ( )13
d rI
) 3 S d s I ( L I mP L I mE IE
l L m I ) 3 dI K g OI
21
Q
IBM Blockchain / © 2018 IBM Corporation
: rdey c a D m MPaL I C
c S A / uD c aL I
C
h mn i orfyp oDntDm .- S I .- A.- c
aL C h mn i c .- A.- c
aL I Mb C
A / Mb a c aL I C
c a c c C
A / I Q
gsl H Mb C
L E A / / / : / F
22
0 0 10 3 M
IBM Blockchain / © 2018 IBM Corporation
0 0
AF HC
1 00
1 00
E
2 0
1
0
O P
E 1 1
1
AF HC
1
0
O P
1
1 00
1 00
0 0
0 0
0 0
0 0
0 0
1
1
1
1
10 01
23
n
n FC b dc a D
n d P d H
n d P d I
IBM Blockchain / © 2018 IBM Corporation
Hyperleger Fabric 機能紹介
Private Data Collection
FSS & Blockchain Solutions, IBM Research – Tokyo
岩間 太 / Futoshi Iwama
Hyperledger Blockchain アプリ作成で困ること
p セットアップが大変 (昔?)
p 全てのPeerが
全てのEventを補足
p...
p 全データが全ての
Peerで共有されてしまう
p...
約束管理アプリを作成... (企業間なら契約/請求管理システム)
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Aさん
Bさん
Cさん
Peer
for A
Peer
for B
Peer
for C
Peer
• 全Peerが全約束
データを保持する
• A,B,Cさん(全員)が
全員の約束事を
把握できてしまう
(企業間なら契約書が関係者
以外に見えてしまう)
Blockchain
Network
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Blockchainでデータプライバシーを確保
• 所有者を匿名化
• データは共有
• (アドレス等の)所有者を特定困難に
• 暗号を使用
• データ自体を暗号化して共有
• 所有者は複合化してデータ閲覧
• マルチチャネルを使用
• ブロックチェーンネットワーク
をデータ共有単位で分ける
• 所有者を匿名化
• アドレスと所有者の紐付けが手間
• 分析されると特定される可能性あり
• 暗号を使用
• データの暗号化・複合化が手間
• 管理の機能が必要
• マルチチャネルを使用
• チャネルをまたがった処理を実装し
運用・保守する必要あり
• チャネル間処理の安全な実装が必要
既存プライバシー確保方法
⇨ 直観的でなく実装/運用/保守などが色々面倒
Private Data Collection (PDC) の概要
• 各PDCは、特定の(複数)Peerのみが
アクセス可能なData collection
• 各PDCにアクセス可能なPeerは
対応するPrivate State DB を持つ
• Private State DBの値のハッシュ値を
Public State DBに保持 (全Peer共通)
• Private State DB の値のハッシュ値を
ブロックデータに保持 (全Peer共通)
約束/契約管理アプリ(全データ共有)
Aさん
Bさん
Cさん
Peer A
(OrgA)
Peer B
(OrgB)
Peer C
(OrgC)
Peer Z
(OrgZ)
Blockchain
Network
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
• 全Peerが全約束
データを保持する
• A,B,Cさん(全員)が
全員の約束事を
把握できてしまう
(企業間なら契約書が関係者
以外に見えてしまう)
DBbc
DBca
DBbc
DBab
Private Data Collectionの定義
( DBxxは対応するprivate DB)
• PDC1 (DBab) OrgA, OrgB
• PDC2 OrgB, OrgC
• PDC3 OrgC,
OrogA
( Peer)
約束/契約管理アプリ(PDCを使用)
Aさん
Bさん
Cさん
Peer A
(OrgA)
Peer B
(OrgB)
Peer C
(OrgC)
Peer Z
(OrgZ)
Blockchain
Network
Private
DB
Shared
DB
凡例
• H(x) は
xのハッシュ値
.
..
.
..
.
..
DBca
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid1 : AがBに10円返す
Cid2:AがBに本を千円で売却
Cid3 : CとBはx日に面会
Cid1 : H(AがBに10円返す)
Cid2:H(AがBに本を千円で売却)
Cid3 : H(CとBはx日に面会)
• 各自が関係する約束
のみ閲覧可能
• Hash値は全員で共有
されるため改竄は困
難
DBab
Private Tmp DB1 (Private
RWset
32
Orderer
Client
3. (
- State DB RWset (
- Private DB RWset (
)
Chaincode 2.
(Private DB
Private Tmp DB )
7.
P2P (gossip)
5. 4
private DB
)
8. Private Tmp DB
Private log
Private DB
(tmp DB
)
6.
State DB
Hyperledger Fabric V1.3でのPrivate Dataの処理の流れの概要
State DB
State DB
Private Tmp DB1 (Private RWset
State DB
1. ( )
( transient
)
args: transient:
4.
- RWset (state DB) ,
- RWset (privateDB)
Private DB1
Private DB1
Hyperledger Fabric でのPDCの定義
[
{
"name": "collectionMarblePrivateDetails",
"policy": "OR('Org1.member')",
"requiredPeerCount": 1,
"maxPeerCount": 1,
"blockToLive":100
},
{
"name": "collectionMarbles",
"policy": "OR('Org1.member', 'Org2.member')",
"requiredPeerCount": 1,
"maxPeerount": 2,
"blockToLive":0
},
]
peer0 peer1
Org1
Org2
(
(
( (
( (
(
( (
peer0 peer1
D
ac M b
((
P NM C
b ((
N
P NM
collections_config.json
プライベートコレクションを使用するには、この設定ファイルを
記載してchaincodeインストール時に指定する必要があります。
ChaincodeでのPDCへのアクセスプリミティブ (golang)
GetPrivateData(collection,key)
• collection key
• GetState(key)
PutPrivateData(collection,key,value)
• collection key value
• PutState(key, value)
// PDC collectionMarbles上で、MyMarbleのコピーMyMarbleCpを作成して登録するコードサンプル
import "github.com/hyperledger/fabric/core/chaincode/shim
stub shim.ChaincodeStubInterface
...
marbleBytes, err := stub.GetPrivateData("collectionMarbles” , “MyMarble” )
err = stub.PutPrivateData("collectionMarbles", “MyMarbleCp” , marbleBytes)
...
権限のないPDCへアクセスしたらどうなるか?
//ruyx ʻndpPeerfo ColMarblePrivateDetails ntb marble1 n qusʼ
# SII G EM G HI T I [ 5 P[G E I PE F I S G _ 3 a1A IEH E F I M E I6I EM a PE F I(aC]
// g khp
 H G [SI 1 PE F I M E I6I EM EPI 1 PE F I( S MGI 100]
//ruyx ʻnlePeerfo ColMarblePrivateDetails ntb marble1 n qusʼ
# SII G EM G HI T I [ 5 P[G E I PE F I S G _ 3 a1A IEH E F I M E I6I EM a PE F I(aC]
//s b yb ({ v} m ip glecq
7 1 I H IPI EM I H M T I [& I S I1 E 1,
PI E I1 B 7 B 1B 8EM IH I S M E I HI EM PE F I(1
97 D 3 7 EM IH1
E EG M 61 . EE ,,-FG E0* .HGI )GH)G- FFI ) )- 0E,**H(- -,E ,HI- 0 *I,1
S M E I HE E PE G M S F MG E I M M E EM EF I&
F MG E I M 2 I M &:IM 4 GN= P1 - = P1 ]
M E I HE E I M 2 I M &:IM " M "B ]
Private Data Collectionの適用例
特定部門間での承認フローの管理
peer
Org1
peer peer
Org2
peer
peer
Org4
peer
Org3Org5
C2D
• , O
• 1 23
• 23
• O 1
, 1 2 O 4
P
peer
Org1
peer peer
Org2
peer peer
Org3
peer
企業間での取引情報の管理
C2 3
•
• 1
• / 1
• / O 1
• / O 1
, 1 2 O 4
2 2 4 P
PDC: Lessons learned / Hints and
• PDCを細分化しすぎると処理が複雑に...
• 例えば、11月の全約束を知るために
複数のトランザクションの実行が必要
• PDC間データ移動ではどちらのPDCにも
アクセスできる人が必要 (single point of trust)
• 合意形成ためのPolicyとの兼合いに注意
• 合意形成のためTxをエンドースするPeerが
必要なPDCにアクセスできる必要があります
• その他
• Transient指定しないと引数値は共有されます
• Init関数でPDCを操作したらエラーになります
• PDCにrange queryの後updateするようなコードは書けない
• orgの中でAnchor peer を指定する必要がある(gossipのため)
-
Hyperleger Fabric Private Data Collection の今後
現状のPDC の問題点
• PDCを事前(チェインコードインストール時)に全て明示的に定義しておかなければならない
• 単純にデータ共有グループを考えると事前定義するPDCの数が膨大になる
• N人が参加する約束管理アプリで, 2N-1くらいのPDCを事前定義する必要がある
• しかし実際にはその大部分は無駄になりそう
• 新たな参加者が増えるたびにPDC定義を更新する必要がある
今後の予定 (v2.0; 2019/1Q)
• Local Collection [FAB-7593]
• Local collectionへの書き込みTxをエンドースした組織のピアのみアクセスが可能
• 具体例
• local collection “mycol”のキー”k1”への書込みTx を peer1@org1, peer2@org2がエンドース
(書込み後の”k1”のキーバージョン ver3 とする)
• org1, org2に属するpeerのみが “mycol”のバージョンver3の”k1”の値にアクセス可能
• Org-specific Collection [FAB-10889]
• クライアントが書き込むkeyごとにデータ共有グループを指定可能 (まだdesign段階で少し不明)
参考リソース
• Using Private Data in Fabric
• https://hyperledger-fabric.readthedocs.io/en/release-1.3/private_data_tutorial.html
• Hyperleger fabric Architecture Reference » Private Data
• https://hyperledger-fabric.readthedocs.io/en/release-1.3/private-data-arch.html
• 今後の拡張
• Local collection
• https://jira.hyperledger.org/browse/FAB-7593
• org-specific collections
• https://jira.hyperledger.org/browse/FAB-10889
Hyperleger Fabric で新たに導入された
Private Data Collection の概要を紹介いたしました
•
•
•
•
41
n
n FC b dc a D
n d P d H
n d P d I
IBM Blockchain / © 2018 IBM Corporation
42IBM Blockchain / © 2018 IBM Corporation
- C E D E D tr - Jcj yx y
hm M jP o re
- n v str E
j. vbil E QIq nwjv y
xtre
, E C Epu N q Vy M
j g yx j pre
B ySgu B v j m y
xtre
B B i v N q
yx d bil av y
xtre
. .: - / . 3 /3 . . 1
: - /
43
./ : :? / G
IBM Blockchain / © 2018 IBM Corporation
U I
I M
) )
Issuer Verifier
User
Issuer
./ : :? / :: === ? : / = : : =
0
2
44
-
IBM Blockchain / © 2018 IBM Corporation
3 11 15
3 - -
Peer
45
1. - 2
IBM Blockchain / © 2018 IBM Corporation
Issuer Verifier
User
Issuer
HF HF M
I M
Java
SDK
1. -
ü
Fabric-CA
Identity Mixer MSP
3
3
Credential
3
Proof3
3
46IBM Blockchain / © 2018 IBM Corporation
Ownership change
Service transactions
atomic
Physical (or external digital)
Reader
Blockchain
Cash Mobility
Service
Vehicles PropertySecurity Trade
Document
Product
Batch
ProductData
Storage
Digital
Rights
•
•
• I
•
•
Digital Tokens
47IBM Blockchain / © 2018 IBM Corporation
92 21 2 . 40 F - A 92 21 2 . 40H
2 AO B
48
) - )( ) ) - )
IBM Blockchain / © 2018 IBM Corporation
dM D
}
• p D
• D r
• v d u t t
• d x
• D y r
n
• l
• i I
• a e
49IBM Blockchain / © 2018 IBM Corporation
BNKA: A 2
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKA : A 1
BNKB: A 4
BNKB: B 5
BNKC: C 8
BNKA : A 1
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKC: A 1
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKC: A 2
Import from Issuer
- 2 A to BNKA
- 3 A to BNKB
- 5 B to BNKB
- 8 C to BNKC
Transfer BNKA’s
1 A to BNKB
& 1 A to self
Transfer BNKB’s
1 A to BNKC
Transfer BNKA’s
1 A to BNKC
50
I H
IBM Blockchain / © 2018 IBM Corporation
BNKA: LYYL 2
BNKB: LYYL3
BNKB: WTC 5
BNKC: MFG 8
Import from Issuer
- 2 LYYL to BNKA
- 3 LYYL to BNKB
- 5 WTC to BNKB
- 8 MFG to BNKC
Transfer BNKA’s
1 LYYL to BNKC
Transfer BNKA’s
1 LYYL to BNKB
& 1 LYYL to self
BNKA : LYYL 1
BNKB: LYYL 4
BNKB: WTC 5
BNKC: MFG 8
Transfer BNKB’s
1 LYYL to BNKC
BNKA : LYYL 1
BNKB: LYYL 3
BNKB: WTC 5
BNKC: MFG 8
BNKC: LYYL 1
BNKB: LYYL 3
BNKB: WTC 5
BNKC: MFG 8
BNKC: LYYL 2
F
H
BNKA: A 2
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKA : A 1
BNKB: A 4
BNKB: B 5
BNKC: C 8
BNKA : A 1
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKC: A 1
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKC: A 2
Import from Issuer
- 2 A to BNKA
- 3 A to BNKB
- 5 B to BNKB
- 8 C to BNKC
Transfer BNKA’s
1 A to BNKB
& 1 A to self
Transfer BNKB’s
1 A to BNKC
Transfer BNKA’s
1 A to BNKC
H
F
51
HIMK FN
IBM Blockchain / © 2018 IBM Corporation
BNKA: LYYL 2
BNKB: LYYL3
BNKB: WTC 5
BNKC: MFG 8
Import from Issuer
- 2 LYYL to BNKA
- 3 LYYL to BNKB
- 5 WTC to BNKB
- 8 MFG to BNKC
Transfer BNKA’s
1 LYYL to BNKC
Transfer BNKA’s
1 LYYL to BNKB
& 1 LYYL to self
BNKA : LYYL 1
BNKB: LYYL 4
BNKB: WTC 5
BNKC: MFG 8
Transfer BNKB’s
1 LYYL to BNKC
BNKA : LYYL 1
BNKB: LYYL 3
BNKB: WTC 5
BNKC: MFG 8
BNKC: LYYL 1
BNKB: LYYL 3
BNKB: WTC 5
BNKC: MFG 8
BNKC: LYYL 2
M
BNKA: LYYL 2
BNKB: A 3
BNKB: B 5
BNKC: MFG 8
Import from Issuer
- 2 LYYL to BNKA
- 3 A to BNKB
- 5 B to BNKB
- 8 MFG to BNKC
Transfer BNKA’s
1 LYYL to BNKC
Transfer BNKA’s
1 A to BNKB
& 1 LYYL to self
BNKA : LYYL 1
BNKB: A 4
BNKB: B 5
BNKC: MFG 8
Transfer BNKB’s
1 A to BNKC
BNKA : LYYL 1
BNKB: A 3
BNKB: B 5
BNKC: MFG 8
BNKC: LYYL 1
BNKB: A 3
BNKB: B 5
BNKC: MFG 8
BNKC: LYYL 2
NK NK
BNKA: A 2
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKA : A 1
BNKB: A 4
BNKB: B 5
BNKC: C 8
BNKA : A 1
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKC: A 1
BNKB: A 3
BNKB: B 5
BNKC: C 8
BNKC: A 2
Import from Issuer
- 2 A to BNKA
- 3 A to BNKB
- 5 B to BNKB
- 8 C to BNKC
Transfer BNKA’s
1 A to BNKB
& 1 A to self
Transfer BNKB’s
1 A to BNKC
Transfer BNKA’s
1 A to BNKC
NK
M
52
C / na fm e F OMP
IBM Blockchain / © 2018 IBM Corporation
• FZF M
A A M / C
• d cpF s KSh eF
/
• idos H u ISbF
A/ / /
• ) gF yxMDcm Z l r tvx u
( C B
53IBM Blockchain / © 2018 IBM Corporation
p
p
p /
p
54IBM Blockchain / © 2018 IBM Corporation
H HF
cg p y
M
-B 3 01 72 o o do I
. / 3 r ndmb s e h I s olas
:: 0 au ov i
6 12 : 7: 2 :: 0 2 9 :
B

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn
 

Empfohlen (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Blockchain Engineer Night #4

  • 1. IBM Blockchain / © 2018 IBM Corporation Blockchain Engineer Night #4 Hyperledger Fabric /
  • 2. 2 n n FC b dc a D n d P d H n d P d I IBM Blockchain / © 2018 IBM Corporation
  • 4. 4IBM Blockchain / © 2018 IBM Corporation ug AlB ( / 3 / 3 srsr Q m L m H RmAtibB s rE nFxc S d s r S Q C / C C C( / C C C 3 C( A) C 3 ohae C 3 / p C
  • 5. 5IBM Blockchain / © 2018 IBM Corporation ( ) • ü r • ü h • E r t ü m • ) / • e / u • ) ( r ) • • m ü
  • 6. 6IBM Blockchain / © 2018 IBM Corporation Intel, IoT Soraitsu, mobile IBM, Enterprise EVM Sovrin, DistributedID Appl Framework Deployment GUI Dashboard Benchmark Tool ILP
  • 7. 7IBM Blockchain / © 2018 IBM Corporation 1 20 . 2 2 p H b a d ü :/ ü ü p . ü ü . n H a b r 4 gp c b 7 F5 i e n 4 l V 5 p 5
  • 8. 8 (8 0 2 / 1 00/)2 A IBM Blockchain / © 2018 IBM Corporation : / 2 112 1 0 1 1 - 0 //- 1 1 : / 2 8 1 /2 / /2 . -1 -1 2 : 0
  • 9. 9 ) 60 0/10 ( 820 0 IBM Blockchain / © 2018 IBM Corporation . 6 .: 0 - - 0 - .: 0 - / 2 68 6 . 81
  • 10. 10 D E : E 8E G E H / gNa IBM Blockchain / © 2018 IBM Corporation / . / - . • ptM R mgNcma • / 3F E B : ü D E : E )HEE fN pt ü hNa ma aV: D • 8 8 DE ü DDF 8 m NeYN rs • m m M 8E fN • F(dNb Nb • 1 2EH gNaTon • iNa Wl U )6 0fN FAB-6590 / FAB-8078 / FAB-10273
  • 11. 11IBM Blockchain / © 2018 IBM Corporation O O O O SDK (HFC) F Peer Endorsement Peer Committing Peer ! ü Fabric-CA ü CA Hyperledger Fabric HH • Certificate Authority (CA) A B
  • 12. 12 C / n em d F IBM Blockchain / © 2018 IBM Corporation • F F MS A A M / C • c bpF s K h dF gFZ / • icos OP H u S I aF A/ / / • ) fF yxMDbm l r tvx u ( C B
  • 13. 13IBM Blockchain / © 2018 IBM Corporation A C A C D D D 1 A C D D go c a D . 0 1 D . 0 1 D . 0 1 D . 0 1 . 0 1 . 0 1 . 0 1 . 0 1 . 0 1 . 0 1 . 0 1 . 0 1 . 0 1 go c c a D D D D A C B l cn a 1. go c a L d b V b F d b F h e F 1. rC c a 6 r h i a
  • 14. 14 n n FC b dc a D n d P d H n d P d I IBM Blockchain / © 2018 IBM Corporation
  • 15. 15 ( 1 . no h IBM Blockchain / © 2018 IBM Corporation ( 1 . F 3 . P c 1 VI c P synhmf no hc P I - )1 A c P ba P 1 C Ha vgpluc a i t o c a V C a V MC c V 3 . C c i t o ( 1 . . b Ia C c a V . hxed oF . . VP V r F . VP c S . c IC . C c I
  • 16. 16IBM Blockchain / © 2018 IBM Corporation - - - gir c O P y gir c -- - - HP gc b s gir c coa si 1 2 1 -- - - E -- -- - - M asdesd gi r c F H -- - - - - H l HP E n p e E -- HP S E - -
  • 17. 17 g IBM Blockchain / © 2018 IBM Corporation O O - C e M P 2 - M S ) ( ) ( TLS TLS MSP CA CA CA Admin g
  • 18. 18 O IBM Blockchain / © 2018 IBM Corporation r L C D Ol O dhowN O nt k k N N l O N I k k N O k N O r r a O k LN CO k N O O k N k N M O ed O k O N N O O 3 nt k N O O c k dnt N S L nt k O O nt k k N O O Ok edO NP r k LN k LN 3 O N
  • 19. 19IBM Blockchain / © 2018 IBM Corporation P sDL 2 1 2 d D ) DS 2 1 2 L P 2 l C S R c l R 2 1 2 DI l C A M S 2 1 2 I M 2 1 2 C wm 2 1 2 M M S C I R E 2 1 2 C A M S l C C S A ( )Po A M DI l L ae P t C A M S r R S nR l nR DI l M
  • 20. 20 ) 3 AS dS IBM Blockchain / © 2018 IBM Corporation 4 c ( . 4 . 5 oe c ( a . 3 . 5 . 3 . 5 12 . . 5 C) 55 3 ( a ( ) 55 3 ( 31 3 . 2 r a wt n a ) 55 3 (P 31 3 ) 55 dD ) 55 3 ( )13 d rI ) 3 S d s I ( L I mP L I mE IE l L m I ) 3 dI K g OI
  • 21. 21 Q IBM Blockchain / © 2018 IBM Corporation : rdey c a D m MPaL I C c S A / uD c aL I C h mn i orfyp oDntDm .- S I .- A.- c aL C h mn i c .- A.- c aL I Mb C A / Mb a c aL I C c a c c C A / I Q gsl H Mb C L E A / / / : / F
  • 22. 22 0 0 10 3 M IBM Blockchain / © 2018 IBM Corporation 0 0 AF HC 1 00 1 00 E 2 0 1 0 O P E 1 1 1 AF HC 1 0 O P 1 1 00 1 00 0 0 0 0 0 0 0 0 0 0 1 1 1 1 10 01
  • 23. 23 n n FC b dc a D n d P d H n d P d I IBM Blockchain / © 2018 IBM Corporation
  • 24. Hyperleger Fabric 機能紹介 Private Data Collection FSS & Blockchain Solutions, IBM Research – Tokyo 岩間 太 / Futoshi Iwama
  • 25. Hyperledger Blockchain アプリ作成で困ること p セットアップが大変 (昔?) p 全てのPeerが 全てのEventを補足 p... p 全データが全ての Peerで共有されてしまう p...
  • 26. 約束管理アプリを作成... (企業間なら契約/請求管理システム) Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Aさん Bさん Cさん Peer for A Peer for B Peer for C Peer • 全Peerが全約束 データを保持する • A,B,Cさん(全員)が 全員の約束事を 把握できてしまう (企業間なら契約書が関係者 以外に見えてしまう) Blockchain Network Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会
  • 27. Blockchainでデータプライバシーを確保 • 所有者を匿名化 • データは共有 • (アドレス等の)所有者を特定困難に • 暗号を使用 • データ自体を暗号化して共有 • 所有者は複合化してデータ閲覧 • マルチチャネルを使用 • ブロックチェーンネットワーク をデータ共有単位で分ける
  • 28. • 所有者を匿名化 • アドレスと所有者の紐付けが手間 • 分析されると特定される可能性あり • 暗号を使用 • データの暗号化・複合化が手間 • 管理の機能が必要 • マルチチャネルを使用 • チャネルをまたがった処理を実装し 運用・保守する必要あり • チャネル間処理の安全な実装が必要 既存プライバシー確保方法 ⇨ 直観的でなく実装/運用/保守などが色々面倒
  • 29. Private Data Collection (PDC) の概要 • 各PDCは、特定の(複数)Peerのみが アクセス可能なData collection • 各PDCにアクセス可能なPeerは 対応するPrivate State DB を持つ • Private State DBの値のハッシュ値を Public State DBに保持 (全Peer共通) • Private State DB の値のハッシュ値を ブロックデータに保持 (全Peer共通)
  • 30. 約束/契約管理アプリ(全データ共有) Aさん Bさん Cさん Peer A (OrgA) Peer B (OrgB) Peer C (OrgC) Peer Z (OrgZ) Blockchain Network Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 • 全Peerが全約束 データを保持する • A,B,Cさん(全員)が 全員の約束事を 把握できてしまう (企業間なら契約書が関係者 以外に見えてしまう)
  • 31. DBbc DBca DBbc DBab Private Data Collectionの定義 ( DBxxは対応するprivate DB) • PDC1 (DBab) OrgA, OrgB • PDC2 OrgB, OrgC • PDC3 OrgC, OrogA ( Peer) 約束/契約管理アプリ(PDCを使用) Aさん Bさん Cさん Peer A (OrgA) Peer B (OrgB) Peer C (OrgC) Peer Z (OrgZ) Blockchain Network Private DB Shared DB 凡例 • H(x) は xのハッシュ値 . .. . .. . .. DBca Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid1 : AがBに10円返す Cid2:AがBに本を千円で売却 Cid3 : CとBはx日に面会 Cid1 : H(AがBに10円返す) Cid2:H(AがBに本を千円で売却) Cid3 : H(CとBはx日に面会) • 各自が関係する約束 のみ閲覧可能 • Hash値は全員で共有 されるため改竄は困 難 DBab
  • 32. Private Tmp DB1 (Private RWset 32 Orderer Client 3. ( - State DB RWset ( - Private DB RWset ( ) Chaincode 2. (Private DB Private Tmp DB ) 7. P2P (gossip) 5. 4 private DB ) 8. Private Tmp DB Private log Private DB (tmp DB ) 6. State DB Hyperledger Fabric V1.3でのPrivate Dataの処理の流れの概要 State DB State DB Private Tmp DB1 (Private RWset State DB 1. ( ) ( transient ) args: transient: 4. - RWset (state DB) , - RWset (privateDB) Private DB1 Private DB1
  • 33. Hyperledger Fabric でのPDCの定義 [ { "name": "collectionMarblePrivateDetails", "policy": "OR('Org1.member')", "requiredPeerCount": 1, "maxPeerCount": 1, "blockToLive":100 }, { "name": "collectionMarbles", "policy": "OR('Org1.member', 'Org2.member')", "requiredPeerCount": 1, "maxPeerount": 2, "blockToLive":0 }, ] peer0 peer1 Org1 Org2 ( ( ( ( ( ( ( ( ( peer0 peer1 D ac M b (( P NM C b (( N P NM collections_config.json プライベートコレクションを使用するには、この設定ファイルを 記載してchaincodeインストール時に指定する必要があります。
  • 34. ChaincodeでのPDCへのアクセスプリミティブ (golang) GetPrivateData(collection,key) • collection key • GetState(key) PutPrivateData(collection,key,value) • collection key value • PutState(key, value) // PDC collectionMarbles上で、MyMarbleのコピーMyMarbleCpを作成して登録するコードサンプル import "github.com/hyperledger/fabric/core/chaincode/shim stub shim.ChaincodeStubInterface ... marbleBytes, err := stub.GetPrivateData("collectionMarbles” , “MyMarble” ) err = stub.PutPrivateData("collectionMarbles", “MyMarbleCp” , marbleBytes) ...
  • 35. 権限のないPDCへアクセスしたらどうなるか? //ruyx ʻndpPeerfo ColMarblePrivateDetails ntb marble1 n qusʼ # SII G EM G HI T I [ 5 P[G E I PE F I S G _ 3 a1A IEH E F I M E I6I EM a PE F I(aC] // g khp H G [SI 1 PE F I M E I6I EM EPI 1 PE F I( S MGI 100] //ruyx ʻnlePeerfo ColMarblePrivateDetails ntb marble1 n qusʼ # SII G EM G HI T I [ 5 P[G E I PE F I S G _ 3 a1A IEH E F I M E I6I EM a PE F I(aC] //s b yb ({ v} m ip glecq 7 1 I H IPI EM I H M T I [& I S I1 E 1, PI E I1 B 7 B 1B 8EM IH I S M E I HI EM PE F I(1 97 D 3 7 EM IH1 E EG M 61 . EE ,,-FG E0* .HGI )GH)G- FFI ) )- 0E,**H(- -,E ,HI- 0 *I,1 S M E I HE E PE G M S F MG E I M M E EM EF I& F MG E I M 2 I M &:IM 4 GN= P1 - = P1 ] M E I HE E I M 2 I M &:IM " M "B ]
  • 36. Private Data Collectionの適用例 特定部門間での承認フローの管理 peer Org1 peer peer Org2 peer peer Org4 peer Org3Org5 C2D • , O • 1 23 • 23 • O 1 , 1 2 O 4 P peer Org1 peer peer Org2 peer peer Org3 peer 企業間での取引情報の管理 C2 3 • • 1 • / 1 • / O 1 • / O 1 , 1 2 O 4 2 2 4 P
  • 37. PDC: Lessons learned / Hints and • PDCを細分化しすぎると処理が複雑に... • 例えば、11月の全約束を知るために 複数のトランザクションの実行が必要 • PDC間データ移動ではどちらのPDCにも アクセスできる人が必要 (single point of trust) • 合意形成ためのPolicyとの兼合いに注意 • 合意形成のためTxをエンドースするPeerが 必要なPDCにアクセスできる必要があります • その他 • Transient指定しないと引数値は共有されます • Init関数でPDCを操作したらエラーになります • PDCにrange queryの後updateするようなコードは書けない • orgの中でAnchor peer を指定する必要がある(gossipのため) -
  • 38. Hyperleger Fabric Private Data Collection の今後 現状のPDC の問題点 • PDCを事前(チェインコードインストール時)に全て明示的に定義しておかなければならない • 単純にデータ共有グループを考えると事前定義するPDCの数が膨大になる • N人が参加する約束管理アプリで, 2N-1くらいのPDCを事前定義する必要がある • しかし実際にはその大部分は無駄になりそう • 新たな参加者が増えるたびにPDC定義を更新する必要がある 今後の予定 (v2.0; 2019/1Q) • Local Collection [FAB-7593] • Local collectionへの書き込みTxをエンドースした組織のピアのみアクセスが可能 • 具体例 • local collection “mycol”のキー”k1”への書込みTx を peer1@org1, peer2@org2がエンドース (書込み後の”k1”のキーバージョン ver3 とする) • org1, org2に属するpeerのみが “mycol”のバージョンver3の”k1”の値にアクセス可能 • Org-specific Collection [FAB-10889] • クライアントが書き込むkeyごとにデータ共有グループを指定可能 (まだdesign段階で少し不明)
  • 39. 参考リソース • Using Private Data in Fabric • https://hyperledger-fabric.readthedocs.io/en/release-1.3/private_data_tutorial.html • Hyperleger fabric Architecture Reference » Private Data • https://hyperledger-fabric.readthedocs.io/en/release-1.3/private-data-arch.html • 今後の拡張 • Local collection • https://jira.hyperledger.org/browse/FAB-7593 • org-specific collections • https://jira.hyperledger.org/browse/FAB-10889
  • 40. Hyperleger Fabric で新たに導入された Private Data Collection の概要を紹介いたしました • • • •
  • 41. 41 n n FC b dc a D n d P d H n d P d I IBM Blockchain / © 2018 IBM Corporation
  • 42. 42IBM Blockchain / © 2018 IBM Corporation - C E D E D tr - Jcj yx y hm M jP o re - n v str E j. vbil E QIq nwjv y xtre , E C Epu N q Vy M j g yx j pre B ySgu B v j m y xtre B B i v N q yx d bil av y xtre . .: - / . 3 /3 . . 1 : - /
  • 43. 43 ./ : :? / G IBM Blockchain / © 2018 IBM Corporation U I I M ) ) Issuer Verifier User Issuer ./ : :? / :: === ? : / = : : =
  • 44. 0 2 44 - IBM Blockchain / © 2018 IBM Corporation 3 11 15 3 - -
  • 45. Peer 45 1. - 2 IBM Blockchain / © 2018 IBM Corporation Issuer Verifier User Issuer HF HF M I M Java SDK 1. - ü Fabric-CA Identity Mixer MSP 3 3 Credential 3 Proof3 3
  • 46. 46IBM Blockchain / © 2018 IBM Corporation Ownership change Service transactions atomic Physical (or external digital) Reader Blockchain Cash Mobility Service Vehicles PropertySecurity Trade Document Product Batch ProductData Storage Digital Rights • • • I • • Digital Tokens
  • 47. 47IBM Blockchain / © 2018 IBM Corporation 92 21 2 . 40 F - A 92 21 2 . 40H 2 AO B
  • 48. 48 ) - )( ) ) - ) IBM Blockchain / © 2018 IBM Corporation dM D } • p D • D r • v d u t t • d x • D y r n • l • i I • a e
  • 49. 49IBM Blockchain / © 2018 IBM Corporation BNKA: A 2 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKA : A 1 BNKB: A 4 BNKB: B 5 BNKC: C 8 BNKA : A 1 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKC: A 1 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKC: A 2 Import from Issuer - 2 A to BNKA - 3 A to BNKB - 5 B to BNKB - 8 C to BNKC Transfer BNKA’s 1 A to BNKB & 1 A to self Transfer BNKB’s 1 A to BNKC Transfer BNKA’s 1 A to BNKC
  • 50. 50 I H IBM Blockchain / © 2018 IBM Corporation BNKA: LYYL 2 BNKB: LYYL3 BNKB: WTC 5 BNKC: MFG 8 Import from Issuer - 2 LYYL to BNKA - 3 LYYL to BNKB - 5 WTC to BNKB - 8 MFG to BNKC Transfer BNKA’s 1 LYYL to BNKC Transfer BNKA’s 1 LYYL to BNKB & 1 LYYL to self BNKA : LYYL 1 BNKB: LYYL 4 BNKB: WTC 5 BNKC: MFG 8 Transfer BNKB’s 1 LYYL to BNKC BNKA : LYYL 1 BNKB: LYYL 3 BNKB: WTC 5 BNKC: MFG 8 BNKC: LYYL 1 BNKB: LYYL 3 BNKB: WTC 5 BNKC: MFG 8 BNKC: LYYL 2 F H BNKA: A 2 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKA : A 1 BNKB: A 4 BNKB: B 5 BNKC: C 8 BNKA : A 1 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKC: A 1 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKC: A 2 Import from Issuer - 2 A to BNKA - 3 A to BNKB - 5 B to BNKB - 8 C to BNKC Transfer BNKA’s 1 A to BNKB & 1 A to self Transfer BNKB’s 1 A to BNKC Transfer BNKA’s 1 A to BNKC H F
  • 51. 51 HIMK FN IBM Blockchain / © 2018 IBM Corporation BNKA: LYYL 2 BNKB: LYYL3 BNKB: WTC 5 BNKC: MFG 8 Import from Issuer - 2 LYYL to BNKA - 3 LYYL to BNKB - 5 WTC to BNKB - 8 MFG to BNKC Transfer BNKA’s 1 LYYL to BNKC Transfer BNKA’s 1 LYYL to BNKB & 1 LYYL to self BNKA : LYYL 1 BNKB: LYYL 4 BNKB: WTC 5 BNKC: MFG 8 Transfer BNKB’s 1 LYYL to BNKC BNKA : LYYL 1 BNKB: LYYL 3 BNKB: WTC 5 BNKC: MFG 8 BNKC: LYYL 1 BNKB: LYYL 3 BNKB: WTC 5 BNKC: MFG 8 BNKC: LYYL 2 M BNKA: LYYL 2 BNKB: A 3 BNKB: B 5 BNKC: MFG 8 Import from Issuer - 2 LYYL to BNKA - 3 A to BNKB - 5 B to BNKB - 8 MFG to BNKC Transfer BNKA’s 1 LYYL to BNKC Transfer BNKA’s 1 A to BNKB & 1 LYYL to self BNKA : LYYL 1 BNKB: A 4 BNKB: B 5 BNKC: MFG 8 Transfer BNKB’s 1 A to BNKC BNKA : LYYL 1 BNKB: A 3 BNKB: B 5 BNKC: MFG 8 BNKC: LYYL 1 BNKB: A 3 BNKB: B 5 BNKC: MFG 8 BNKC: LYYL 2 NK NK BNKA: A 2 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKA : A 1 BNKB: A 4 BNKB: B 5 BNKC: C 8 BNKA : A 1 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKC: A 1 BNKB: A 3 BNKB: B 5 BNKC: C 8 BNKC: A 2 Import from Issuer - 2 A to BNKA - 3 A to BNKB - 5 B to BNKB - 8 C to BNKC Transfer BNKA’s 1 A to BNKB & 1 A to self Transfer BNKB’s 1 A to BNKC Transfer BNKA’s 1 A to BNKC NK M
  • 52. 52 C / na fm e F OMP IBM Blockchain / © 2018 IBM Corporation • FZF M A A M / C • d cpF s KSh eF / • idos H u ISbF A/ / / • ) gF yxMDcm Z l r tvx u ( C B
  • 53. 53IBM Blockchain / © 2018 IBM Corporation p p p / p
  • 54. 54IBM Blockchain / © 2018 IBM Corporation H HF cg p y M -B 3 01 72 o o do I . / 3 r ndmb s e h I s olas :: 0 au ov i 6 12 : 7: 2 :: 0 2 9 : B