GDPR-Compliant Consent Management DApp

Job ID: 39648917

Budget: ₹12,500 – ₹37,500 INR

Project Requirement – GDPR-Compliant Blockchain-Based Consent Management DApp (Proof of Concept)
________________________________________
Project Description
We are seeking an experienced blockchain/web developer to implement a proof-of-concept decentralized application (DApp) demonstrating GDPR-compliant personal data handling and consent management using Ethereum smart contracts and AES-based encryption.
________________________________________
✅ Scope of Work
Web Frontend (4 Pages) – Built using React + Node.js
1. Customer Page
o Input personal data (AES-encrypted client-side)
o Provide or revoke consent
o View GDPR violation log
2. PrettyBigThing Page (Controller)
o Execute data operations: access, edit, transfer
o Register and manage service providers (whitelist)
3. Third-Party Page (Processors)
o Simulate two processors: Payment Provider & Shipping Provider
o Display received data (encrypted)
4. GDPR Verifier Page
o Show all data transactions and GDPR violations
________________________________________
Smart Contract Development (Solidity)
Use Truffle + Ganache to implement and deploy the following contracts:
• Customer.sol – Manages personal data and consent status
• PrettyBigThing.sol – Acts as the controller (main executor)
• PaymentProvider.sol – Simulates third-party payment processor
• ShippingProvider.sol – Simulates third-party shipping processor
• GDPRVerifier.sol – Tracks and logs violations
Smart Contract Features:
• Consent logic: grant/revoke with purpose
• Data operations: access, edit, transfer (under consent check)
• Whitelisting of service providers by the controller (setServiceProvider(address))
• Violation detection:
o Missing consent
o Revoked consent
o Unapproved service provider
o Purpose mismatch
Processors receive data from the Controller, not directly from the Customer, as per GDPR model and paper logic.
________________________________________
Integration
• Use AES (128-bit) to encrypt data in the browser using CryptoJS or Web Crypto API
• Store ciphertext (not raw data) on-chain
• Maintain a static AES key in sessionStorage for this prototype
• Use MetaMask for wallet and transaction signing
• Connect frontend to contracts via Ethers.js
• Use Keccak256 (Solidity) to verify data integrity
________________________________________
Testing & Deployment
• Deploy and test locally using Ganache
• Deploy to public testnet (Sepolia) using Truffle
• Measure and document:
o Gas usage
o Throughput (tx/sec)
o Latency (mining time)
_______________________________________
Required Performance Tables (Must Be Delivered)
Table 1: Smart Contract Deployment Costs
Contract Ganache Gas Used Sepolia Gas Used Avg Mining Time (s)
Customer … … …
PrettyBigThing … … …
Payment Provider … … …
Shipping Provider … … …
GDPR Verifier … … …
________________________________________
Table 2: Operation Gas Costs
Operation Gas Used
Set service provider …
Remove service provider …
Grant consent …
Revoke consent …
Transfer data …
Log GDPR violation …
Use logs from Truffle, MetaMask, or Ganache to extract these. Share results in .csv or .xlsx.
________________________________________
Handover Deliverables
1. ✅ Source Code
o Solidity contracts (.sol)
o React frontend with all pages
o Truffle project files, migration/deployment scripts
2. ✅ Deployment Guide (README.md)
o Local setup instructions (Ganache)
o Deployment to Sepolia
o MetaMask and dependency setup
3. ✅ Technical Documentation
o Overview of smart contract logic
o How AES encryption works
o Function-level comments
o Violation rules and logic
4. ✅ Demo Walkthrough
o Screenshots or short video (optional but preferred)
o Example flow: Consent → Transfer → Revoke → Violation
5. ✅ Post-Delivery Support
o As required
________________________________________
Tech Stack
• Solidity (v0.8.x)
• Truffle + Ganache
• MetaMask
• Ethers.js
• React + Node.js
• CryptoJS (AES encryption)
• Keccak256 (Solidity hash)
________________________________________
Summary
This project focuses on building a clear, working prototype of how GDPR rules can be enforced using blockchain — emphasizing consent, control, and transparency of personal data handling across different actors.