service (サーバ) State State State State State State State State transaction transaction State State State State このようなシステム全体のことを Networkと呼んでいる Vault (⼊れ物=DB) Contract、Flow (cordapp)を持つ Vault (⼊れ物=DB) Transactionをやり取りし てStateを更新していく仕 組みのことをLedgerと呼 んでいる Contract、Flow (cordapp)を持つ Contract、 Flow を持つ
Transaction • Stateをどのように変更するかの提案 • 関係者に受理されると、Stateがその提案のとおりに更新される • Contract • Transactionの有効性を検証するプログラム • Flow • ビジネスロジック(Stateを更新するために必要な⼿続き)をステップ・バイ・ス テップで実⾏する際の、その⼀連の処理およびそのプログラム 7 Notary (サーバ) Node (サーバ) Node (サーバ) Map service (サーバ) State State State State State State State State transaction transaction State State State State Vault (⼊れ物=DB) Contract、Flow (cordapp)を持つ Vault (⼊れ物=DB) Contract、Flow (cordapp)を持つ Contract、 Flow を持つ
Notary • 最新のStateだけがTransactionに利⽤されているかを確認する • 規定の時間内の取引かどうかを確認する • このような確認が取れた場合にTransactionに署名することで、取引がファイナライ ズされたとみなす • Notaryは1つのサーバだけでなく、複数のサーバでクラスタ化してもよい • Vault • Node上に実装されるStateなどの情報を格納するデータベース • State以外にも任意の情報をoff-ledger情報として保持できる • Network Map Service • ノードがどこで稼働しているかを管理する • Flowの中で通信相⼿を⾒つけるためなどに利⽤する 8 Notary (サーバ) Node (サーバ) Node (サーバ) Map service (サーバ) State State State State State State State State transaction transaction State State State State Vault (⼊れ物=DB) Contract、Flow (cordapp)を持つ Vault (⼊れ物=DB) Contract、Flow (cordapp)を持つ Contract、 Flow を持つ