LayerXは、グローバルで代表的なエンタープライズ向けブロックチェーン基盤であるCorda、Hyperledger Fabric、Quorumについての分析結果を、当社独自のブロックチェーン基盤分析フレームワークである「LayerX Enterprise blockchain Analysis Framework(LEAF/リーフ)」とともに公開しています。この度、2020年6月に公開した基本編に続き、プライバシー編を公開しましたのでお知らせします。
1© LayerX Inc.Version 1.0.0January 2021 LayerX Inc.
View Slide
2© LayerX Inc.
3© LayerX Inc.
4© LayerX Inc.1. LEAF
5© LayerX Inc.1. LEAFプライバシー保護レベル 対コンセンサスノード 匿名性 ● トランザクションの署名者● Private Ledgerのノードセット秘匿性 ● トランザクションのタイムスタンプ● トランザクションの状態遷移内容● Private Ledger内のビジネスロジック対非Private Ledgerノード匿名性 ● トランザクションの署名者● Private Ledgerのノードセット秘匿性 ● トランザクションのタイムスタンプ● トランザクションの状態遷移内容● Private Ledger内のビジネスロジックPrivate Ledgerのセキュリティ(Validity, Consistency, Progress)Private Ledgerの柔軟性 Private Ledgerのノードセットの更新Private Ledgerと他台帳の相互運用性
6© LayerX Inc.
7© LayerX Inc.2. ブロックチェーンにおけるPETの分類不特定の相手に対して、トランザクションが引き起こす状態遷移からItems of Interestを解釈することを不可能とすることで、秘匿化・匿名化を実現するPETItems of Interestを隠したい相手に対して、そのItems ofInterestが解釈できるトランザクションないしトランザクションの一部分を共有しないことでアベイラビリティを制御し、秘匿化・匿名化を実現するPETコンセンサスノードに対して, 全てのトランザクションデータが共有され、Items of Interestが解釈可能となっており、秘匿化・匿名化を実現しないPETコンセンサスノードに対して、 Itemsof Interestが解釈できるトランザクションないしトランザクションの一部分を共有しないことでアベイラビリティを制御し, 秘匿化・匿名化を実現するPET
8© LayerX Inc.2. ブロックチェーンにおけるPETの分類
9© LayerX Inc.2. ブロックチェーンにおけるPETの分類● Corda Validating Notary● HLF Channel● Quorum Multi Chain● Corda Non-validating Notary● HLF Private Data● Quorum Private Transaction本レポートの分析範囲※各PETの詳細については次セクションに記述
10© LayerX Inc.
11© LayerX Inc.TXを作成・検証した上で署名し、NodeBに送信TXをContractで検証した上で署名し、NodeAに送信Notaryに署名リクエストinputsが未消費かチェックを行った上でTXHashに署名するValidating Notaryの場合は状態遷移と署名検証の検証も行うNotary署名済みTXHashをNode Aに送信Notary署名済みTXHashをNode Bに送信署名を検証し、自身の状態を更新3. Corda / HLF / QuorumのPET署名を検証し、自身の状態を更新or
12© LayerX Inc.3. Corda / HLF / QuorumのPETOrganization 1 Organization 2Organization 3
13© LayerX Inc.EndorserにTXのProposalを送信引数はTXに含めずtransientで渡すEndorsed Proposal ResponseのうちPrivate Stateに関するRead-Write Setはハッシュ化して返却EndorserがChaincodeをシュミレートしてRead-Write Setを生成Private Stateに関するRead-Write SetはローカルのTransient Storeに保存EndorserからのResponseが必要数集まったか検証(今回Endorserは1つ)TXをOrdererに送信TXの順番を決め、Blockを作成OrganizationのLeader PeerにBlockを配布Blockを受領した各Peerがハッシュ化されたRead-Write Setに対応するPrivate DateをTransientStoreから取得し, TxのEndorsement PolicyとKeyのVersionを検証し、Private Stateを更新する3. Corda / HLF / QuorumのPETEndorserから他のPLユーザーにTransientStoreに保存された情報が共有されるPublic StatePrivate State 1Transient StorePublic StatePrivate State 2Transient Store
14© LayerX Inc.3. Corda / HLF / QuorumのPETNodeNodeNodeNodeNodeNodeNodeNodeNodeNodeNodeNodeNetwork 1Network 2 Network 3
15© LayerX Inc.TXをリクエストQuoruminputにhash(enc(input))を格納し、TXをブロードキャスト署名付きのBlockの配布Leader・ValidatorsによるBlockの作成と署名inputにhash(enc(input))を格納し、TXをブロードキャストClient3. Corda / HLF / QuorumのPETTesseraPublic StatePrivate StateTransactionManagerEnclaveQuorumTesseraPublic StatePrivate StateTransactionManagerEnclaveQuorumノードからTransaction ManagerにTXのinputを渡し、Enclaveに暗号化をリクエストEnclaveでinputを暗号化し、enc(input)をTransactionManagerに返すenc(input)をハッシュ化、hash(enc(input))をQuorumノードに渡すprivateForで指定されたノードにenc(input)を共有inputにhash(enc(input))を格納し、TXをブロードキャスト署名付きのBlockの配布enc(input)をTransactionManagerにリクエストEnclaveにて復号し、Transaction manager経由で復号したinputを返し、Private Staeを更新
16© LayerX Inc.
17© LayerX Inc.4. プライバシー保護レベルに関する比較Requesting Peerの情報から、Private Ledgerのノードセットが推測可能な場合があるトランザクションに格納されるCollection名からPrivate Ledgerのノードセットを特定できるトランザクションの状態遷移内容は隠すことができないトランザクションのタイムスタンプは隠すことができないトランザクションのタイムスタンプは隠すことができないトランザクションのタイムスタンプは隠すことができない
18© LayerX Inc.4. プライバシー保護レベルに関する比較トランザクションに格納されるCollection名からPrivate Ledgerのノードセットを特定できるトランザクションのタイムスタンプは隠すことができないトランザクションのタイムスタンプは隠すことができない
19© LayerX Inc.
20© LayerX Inc.5. Private Ledgerのセキュリティに関する比較-Requesting Peerによる攻撃があり、Accountabilityはない- -- -任意のNodeによるDenial of State攻撃があるが、NotaryがRequesting Peerを記録しているためAccountabilityがあるRequesting Peerによる攻撃があり、Accountabilityはない-Private Ledgerのノードにtransientの値を渡さない攻撃があり、Accountabilityがない-Private Ledgerのノードにinputを渡さない攻撃があり、Accountabilityがない
21© LayerX Inc.
22© LayerX Inc.6. Private Ledgerのセキュリティに関する比較新規のPrivate Ledgerのユーザー追加時において、既存のPLのユーザーに新規PLユーザーが他に属するPLの情報がリークしてしまう場合がある新規のPrivate Ledgerのユーザー追加時において、既存のPLのユーザーに新規PLユーザーが他に属するPLの情報がリークしてしまう場合があるPrivate ContractからはPublic Stateを取得することはできるが、更新することはできない他のChannelのChaincodeの実行はデータの取得のみ可能
23© LayerX Inc.
24© LayerX Inc.7. 総合評価あり なし あり ありなし あり
25© LayerX Inc.
26© LayerX Inc.8. 公開情報・お問い合わせ
27© LayerX Inc.