| Literature DB >> 34883997 |
Mpyana Mwamba Merlec1, Youn Kyu Lee2, Seng-Phil Hong3, Hoh Peter In1.
Abstract
A massive amount of sensitive personal data is being collected and used by scientists, businesses, and governments. This has led to unprecedented threats to privacy rights and the security of personal data. There are few solutions that empower individuals to provide systematic consent agreements on distinct personal information and control who can collect, access, and use their data for specific purposes and periods. Individuals should be able to delegate consent rights, access consent-related information, and withdraw their given consent at any time. We propose a smart-contract-based dynamic consent management system, backed by blockchain technology, targeting personal data usage under the general data protection regulation. Our user-centric dynamic consent management system allows users to control their personal data collection and consent to its usage throughout the data lifecycle. Transaction history and logs are recorded in a blockchain that provides trusted tamper-proof data provenance, accountability, and traceability. A prototype of our system was designed and implemented to demonstrate its feasibility. The acceptability and reliability of the system were assessed by experimental testing and validation processes. We also analyzed the security and privacy of the system and evaluated its performance.Entities:
Keywords: blockchain; data privacy and security; dynamic consent management; general data protection regulation (GDPR); smart contract
Mesh:
Year: 2021 PMID: 34883997 PMCID: PMC8659597 DOI: 10.3390/s21237994
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Comparison of the five popular blockchain platforms: Ethereum, Hyperledger, R3 Corda, Ripple, and Quorum.
| Features | Ethereum 1 | Hyperledger Fabric 2 | R3 Corda 3 | Ripple 4 | Quorum 5 |
|---|---|---|---|---|---|
| Targeted industry | Cross-industry | Cross-industry | Financial | Financial | Cross-industry |
| Mode of operation (ledger) | Permissionless (public) | Permissioned (private) | Permissioned (private) | Permissionless (public) | Permissioned (public/private) |
| Consortium network support | X | √ | √ | X | √ |
| Decentralization | Decentralized | Partially | Partially | Decentralized | Decentralized |
| Transaction/smart contract privacy | X/X | √/√ | √/√ | X/X | √/√ |
| Consensus protocols | PoW/PoS | Pluggable | Notary-based | Probabilistic voting | Pluggable |
| Transaction throughput | ~20 tps | >2000 tps | ~170 tps | ~1500 tps | ~1000 tps |
| Smart contract support | √ | √ | √ | √ | √ |
| Blockchain oracle | √ | √ | √ | √ | √ |
| Cryptocurrency | ETH | N/A | N/A | XRP | ETH |
1https://ethereum.org/ (accessed on 25 November 2021); 2 https://github.com/hyperledger/fabric (accessed on 25 November 2021); 3 https://www.corda.net/ (accessed on 25 November 2021); 4 https://ripple.com/; 5 https://consensys.net/quorum/ (accessed on 25 November 2021).
Comparison of the proposed system with related works.
| Paper | Legal Basis | User-Centric | Consent Agreement/Delegation | Auditability/ Withdrawal | Privacy/Security | SC Language | Blockchain Platform | Type of Network | Use of IPFS 3 | Implementation | Performance Evaluation |
|---|---|---|---|---|---|---|---|---|---|---|---|
| [ | DPD 1 | √ | √/√ | X/√ | X/X | X | X | X | X | X | X |
| [ | - | √ | √/X | - | - | X | X | X | X | X | X |
| [ | - | √ | √/X | X/√ | √/√ | X | X | X | X | √ | X |
| [ | GDPR | √ | √/X | √/X | √/√ | X | X | X | X | X | X |
| [ | - | √ | √/X | X/√ | - | - | HLF 2 | Private | X | Prototype | X |
| [ | GDPR | √ | √/X | - | X | X | - | - | X | X | X |
| [ | GDPR | √ | √/X | √/X | - | - | - | - | X | X | X |
| [ | - | √ | √/X | √/X | X/√ | Solidity | Ethereum | Public | X | Prototype | √ |
| [ | - | √ | √/X | √/X | √/√ | Solidity | Ethereum | Public | √ | Prototype | √ |
| [ | GDPR | √ | √/X | √/√ | X/√ | JavaScript | HLF | Private | X | √ | X |
| [ | GDPR | √ | √/X | √/√ | √/√ | JavaScript | HLF | Private | X | Prototype | X |
| [ | - | √ | √/X | √/√ | √/√ | Go | HLF | Private | X | Prototype | X |
| [ | GDPR | √ | √/X | √/X | X/√ | Solidity | Ethereum | Public | X | Prototype | X |
| [ | GDPR | √ | √/X | √/√ | X/√ | Go | HLF | Private | X | Prototype | √ |
| [ | X | X | X/X | X/X | X/√ | Solidity | Ethereum | Public | X | Prototype | √ |
| Our work | GDPR | √ | √/√ | √/√ | √/√ | Solidity | Quorum | Consortium | √ | Prototype | √ |
1 The EU Data Protection Directive (DPD); 2 HLF: Hyperledger Fabric; 3 IPFS: InterPlanetary File System.
Figure 1Consent concepts representation using ontology.
Figure 2Use cases of the proposed smart-contract-based dynamic consent management system (SC-DCMS) for collecting and using personal data under GDPR.
Notation description.
| Notation | Description |
|---|---|
| data subject, data controller, data processor, regulator | |
| requester, participants | |
| consent contract, consent request, request creation | |
| resource, personal data, operation | |
| context, legal basis, period of usage | |
| constraint, territory of use | |
| account, address, agreement, consent agreement | |
| consent withdrawal, consent withdrawal request, smart contract, version | |
|
| identifier, digital signature, status, purpose of use, reason |
|
| timestamp, starting time, ending time |
| operating system, interplanetary file system, Ethereum virtual machine |
Figure 3Smart-contract-based dynamic consent management system layered architecture.
Figure 4Consent request and agreement between participating entities of the SC-DCMS.
Figure 5Consent withdrawal sequence diagram of the SC-DCMS.
Experiment environment setup.
|
|
|
| CPU | AMD® Ryzen 7 1700-8 Core |
| GPU/RAM/SSD | NV132/64 GB/2 TB |
| Network interface | I211 Gigabit Network |
|
|
|
| OS | Ubuntu 20.04.2 LTS, 64bit |
| Network generation | Docker-compose v1.25.0 |
| Quorum version | Quorum 20.10.0 |
| Consensus protocol | IBFT, RAFT |
| Number of nodes | 7 |
| Splunk Enterprise Server | v8.0.4 |
| Splunk App for Quorum | v1.0.9 |
| Client | Geth/node-raft/v1.9.7(quorum-v20.10.0)/linux-amd64/go1.13.15 |
| Nodejs/Npm/Cakeshop | v10.19.0/v6.14.4/v0.11.0 |
| Solidity compiler EVM | Constantinople |
| IPFS | go-ipfs v0.7.0 |
Figure 6SC-DCMS consortium blockchain network management dashboard using Cakeshop.
Computation complexity of essential transactions interacting with the blockchain.
| Type of Transaction |
|
|
|---|---|---|
| newUserProfile |
|
|
| roleApproval |
|
|
| addNewData |
|
|
| newConsentRequest |
|
|
| newConsentAgreement |
|
|
| newConsentWithdrawalRequest |
|
|
| consentWithdrawal |
|
|
1 R: read operation, 2 W: write operation.
Time and space complexity of a transaction and block.
| Parameter | IBFT | RAFT |
|---|---|---|
| Transaction latency (sec) | 0.0018 | 0.0015 |
| Transaction size (KB) | 2.380 | 2.378 |
| Block size (KB) | 4.247 | 4.245 |
| Number of transactions per block | 1 | 1 |
| Default block time (sec) | 1 | 0.05 |
Space complexity of core smart contracts.
| Smart Contract | Value |
|---|---|
| PersonalDataMgr (KB) | 10.149 |
| UserProfileMgr (KB) | 12.438 |
| ConsentAgreementMgr (KB) | 18.117 |
Figure 7(a) Transaction throughput evaluation of IBFT vs. RAFT and (b) transaction latency evaluation of IBFT vs. RAFT.
Figure 8System computing resource usage: (a) container system CPU usage (%) and (b) container memory usage (MB).
Figure 9Network bandwidth utilization of the IPFS storage system.