SECTION 1: LEARNING OBJECTIVES

By the end of this lesson, you will be able to:

  • Define data privacy and its importance in digital finance.

  • Explain the key principles of GDPR and CCPA.

  • Understand the rights of data subjects under privacy regulations.

  • Describe the compliance requirements for blockchain applications.

  • Differentiate between data controllers, processors, and subjects.

  • Identify privacy challenges unique to blockchain technology.

  • Implement a basic data privacy compliance simulation in Python.

  • Develop a framework for privacy by design in blockchain applications.


SECTION 2: UNDERSTANDING DATA PRIVACY

2.1 What is Data Privacy?

Data privacy refers to the protection of personal information from unauthorised access, use, and disclosure. In the context of digital finance, data privacy is critical because:

  • Sensitive Data: Financial data is highly sensitive (transactions, balances, identities).

  • Regulatory Requirements: Compliance with GDPR, CCPA, and other privacy laws.

  • Trust: Users must trust that their data is protected.

  • Security: Privacy breaches can lead to identity theft and fraud.

2.2 Key Privacy Principles

text
┌─────────────────────────────────────────────────────────────────────────────┐
│                    CORE PRIVACY PRINCIPLES                                  │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  1. LAWFULNESS, FAIRNESS, TRANSPARENCY                                     │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Process data lawfully and fairly                                  │   │
│  │ • Be transparent about data processing                            │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  2. PURPOSE LIMITATION                                                     │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Collect data for specified, explicit, legitimate purposes         │   │
│  │ • Do not use data for incompatible purposes                         │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  3. DATA MINIMISATION                                                      │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Collect only necessary data                                       │   │
│  │ • Limit data retention                                              │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  4. ACCURACY                                                                │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Keep data accurate and up to date                                 │   │
│  │ • Correct or delete inaccurate data                                 │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  5. STORAGE LIMITATION                                                     │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Store data only as long as necessary                              │   │
│  │ • Delete or anonymise when no longer needed                        │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  6. INTEGRITY AND CONFIDENTIALITY                                          │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Protect data against unauthorised access                         │   │
│  │ • Ensure technical and organisational security                     │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

SECTION 3: GDPR (GENERAL DATA PROTECTION REGULATION)

3.1 Overview

The GDPR is the EU regulation that governs the processing of personal data. It applies to:

  • Organisations established in the EU.

  • Organisations outside the EU that offer goods/services to EU residents.

  • Organisations that monitor the behaviour of EU residents.

3.2 Key GDPR Concepts

 
 
Term Definition Example
Personal Data Any information relating to an identified/identifiable person Name, email, wallet address
Data Controller Entity that determines purposes and means of processing A DeFi platform
Data Processor Entity that processes data on behalf of the controller A KYC provider
Data Subject The person whose data is being processed A user
Processing Any operation performed on personal data Collection, storage, sharing

3.3 Data Subject Rights

 
 
Right Description Implementation
Right to Access Obtain confirmation of data processing Provide data access
Right to Rectification Correct inaccurate data Update user data
Right to Erasure Request deletion of data (“right to be forgotten”) Delete data
Right to Restriction Restrict processing Limit data processing
Right to Data Portability Receive data in machine-readable format Export data
Right to Object Object to processing Provide opt-out
Rights Related to Automated Decision-Making Not be subject to automated decisions Human review

3.4 Legal Bases for Processing

 
 
Basis Description When to Use
Consent User explicitly consents Clear, specific consent
Contract Processing necessary for a contract Performing a service
Legal Obligation Processing required by law AML/CFT compliance
Vital Interests Processing necessary to protect life Emergency
Public Interest Processing for public benefit Government functions
Legitimate Interests Processing for legitimate business interests Balanced against user rights

3.5 GDPR Penalties

 
 
Tier Maximum Penalty Examples
Tier 1 €10M or 2% global turnover Less serious violations
Tier 2 €20M or 4% global turnover Serious violations

SECTION 4: CCPA (CALIFORNIA CONSUMER PRIVACY ACT)

4.1 Overview

The CCPA is a California law that gives consumers rights over their personal information. It applies to:

  • For-profit businesses.

  • Doing business in California.

  • Meeting certain revenue/volume thresholds.

4.2 Key CCPA Concepts

 
 
Term Definition
Consumer A natural person who is a California resident
Personal Information Information that identifies or relates to a consumer
Business Entity that collects and determines processing of personal information
Service Provider Entity that processes data on behalf of a business

4.3 Consumer Rights

 
 
Right Description
Right to Know Know what personal information is collected
Right to Delete Request deletion of personal information
Right to Opt-Out Opt out of sale of personal information
Right to Correct Correct inaccurate information
Right to Non-Discrimination Equal service and price

4.4 CCPA vs GDPR

 
 
Aspect GDPR CCPA
Scope EU residents California residents
Consent Opt-in required Opt-out available
Processing Broad regulation Consumer rights focus
Data Portability Yes Yes
Right to Erasure Yes Yes
Enforcement Supervisory authorities California AG

SECTION 5: PRIVACY AND BLOCKCHAIN

5.1 Privacy Challenges in Blockchain

text
┌─────────────────────────────────────────────────────────────────────────────┐
│                    BLOCKCHAIN PRIVACY CHALLENGES                            │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  1. IMMUTABILITY                                                           │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Data on blockchain cannot be modified or deleted                  │   │
│  │ • Conflicts with "right to be forgotten" (GDPR Art 17)             │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  2. PSEUDONYMITY                                                           │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Wallet addresses are pseudonymous but not anonymous               │   │
│  │ • Transactions are publicly visible                                 │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  3. DATA MINIMISATION                                                      │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Blockchain stores data permanently                               │   │
│  │ • Difficult to limit data retention                                │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  4. CROSS-BORDER DATA TRANSFERS                                            │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Blockchain data is distributed globally                           │   │
│  │ • Difficult to comply with jurisdiction-specific rules             │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  5. TRANSPARENCY VS PRIVACY                                               │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │ • Blockchain is designed for transparency                          │   │
│  │ • Privacy regulations require confidentiality                      │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

5.2 Privacy-Enhancing Technologies (PETs)

 
 
Technology Description Use Case
Zero-Knowledge Proofs (ZKPs) Prove knowledge without revealing information Private transactions
Privacy-Preserving Computation Compute on encrypted data Analytics, ML
Secure Multiparty Computation (SMPC) Collaborative computation without revealing inputs Joint computations
Differential Privacy Add noise to protect individual data Statistical analysis
Zcash Privacy-focused blockchain Shielded transactions
Monero Privacy-focused cryptocurrency Anonymous transactions

5.3 Strategies for Blockchain Privacy Compliance

 
 
Strategy Description Examples
Store Only Hashes On-Chain Store hashes on-chain, data off-chain NFT metadata
Encrypt Data Encrypt on-chain data Private transactions
Zero-Knowledge Proofs Prove identity without revealing data KYC without data sharing
Off-Chain Data Storage Store personal data off-chain GDPR compliance
Privacy by Design Build privacy into system from the start DeFi protocols
Data Minimisation Collect only necessary data Limited KYC

SECTION 6: IMPLEMENTATION IN PYTHON

python
# ===================================================================
# MODULE 5, LESSON 4: DATA PRIVACY AND PROTECTION
# ===================================================================

import hashlib
import time
import json
from typing import Dict, List, Optional
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import warnings
warnings.filterwarnings('ignore')

print("="*70)
print("DATA PRIVACY AND PROTECTION")
print("="*70)

# ----------------------------------------------------------------
# PART A: DATA PRIVACY COMPLIANCE SIMULATION
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART A: Data Privacy Compliance Simulation")
print("-"*60)

class DataPrivacyManager:
    """
    Simulated data privacy compliance manager.
    """
    def __init__(self):
        self.user_data = {}
        self.consent_records = {}
        self.data_access_logs = []
        self.deletion_requests = []
    
    def collect_data(self, user_id: str, data: Dict, purpose: str, consent: bool) -> bool:
        """Collect user data with consent."""
        if not consent:
            print(f"Data collection for {user_id} requires consent")
            return False
        
        self.user_data[user_id] = {
            'data': data,
            'purpose': purpose,
            'collected_at': time.time(),
            'retention_period': 365  # days
        }
        self.consent_records[user_id] = {
            'granted_at': time.time(),
            'purpose': purpose,
            'status': 'Active'
        }
        print(f"Data collected for user {user_id}")
        return True
    
    def access_data(self, user_id: str, requester: str) -> Optional[Dict]:
        """Simulate data access request."""
        if user_id not in self.user_data:
            print(f"User {user_id} not found")
            return None
        
        # Log access
        self.data_access_logs.append({
            'user': user_id,
            'requester': requester,
            'timestamp': time.time()
        })
        
        print(f"Data access for {user_id} by {requester}")
        return self.user_data[user_id]['data']
    
    def delete_data(self, user_id: str) -> bool:
        """Simulate data deletion (right to be forgotten)."""
        if user_id not in self.user_data:
            print(f"User {user_id} not found")
            return False
        
        # Anonymise rather than delete for blockchain data
        self.user_data[user_id]['data']['anonymised'] = True
        self.user_data[user_id]['data']['original'] = '**[DELETED]**'
        self.deletion_requests.append({
            'user': user_id,
            'timestamp': time.time(),
            'status': 'Completed'
        })
        
        print(f"Data deleted for user {user_id}")
        return True
    
    def get_consent_status(self, user_id: str) -> Dict:
        """Check consent status."""
        if user_id not in self.consent_records:
            return {'status': 'No Consent Record'}
        return self.consent_records[user_id]
    
    def get_compliance_report(self) -> Dict:
        """Generate compliance metrics."""
        return {
            'total_users': len(self.user_data),
            'consent_given': len([c for c in self.consent_records.values() if c['status'] == 'Active']),
            'data_access_requests': len(self.data_access_logs),
            'deletion_requests': len(self.deletion_requests)
        }

# Simulate privacy compliance
privacy = DataPrivacyManager()

print("Data Privacy Compliance Simulation:")

# Collect data with consent
privacy.collect_data('user_001', 
                     {'name': 'Alice Johnson', 'email': 'alice@example.com', 'wallet': '0x123...'},
                     'KYC Verification', True)

privacy.collect_data('user_002',
                     {'name': 'Bob Smith', 'email': 'bob@example.com', 'wallet': '0x456...'},
                     'KYC Verification', False)  # No consent

# Access data
privacy.access_data('user_001', 'Compliance Officer')
privacy.access_data('user_001', 'Auditor')

# Delete data
privacy.delete_data('user_001')

# Compliance report
report = privacy.get_compliance_report()
print(f"\nCompliance Report:")
print(f"  Total Users: {report['total_users']}")
print(f"  Consent Given: {report['consent_given']}")
print(f"  Data Access Requests: {report['data_access_requests']}")
print(f"  Deletion Requests: {report['deletion_requests']}")

# ----------------------------------------------------------------
# PART B: GDPR PRINCIPLES CHECKLIST
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART B: GDPR Principles Checklist")
print("-"*60)

gdpr_checklist = {
    "Lawfulness, Fairness, Transparency": [
        "Do you have a lawful basis for processing?",
        "Is data processing fair to data subjects?",
        "Is processing transparent and clearly communicated?"
    ],
    "Purpose Limitation": [
        "Are purposes specified and legitimate?",
        "Is data processed only for specified purposes?",
        "Are incompatible uses prohibited?"
    ],
    "Data Minimisation": [
        "Is data adequate, relevant, and limited?",
        "Is only necessary data collected?",
        "Is excess data avoided?"
    ],
    "Accuracy": [
        "Is data accurate and up to date?",
        "Are inaccurate data corrected or deleted?",
        "Is accuracy regularly verified?"
    ],
    "Storage Limitation": [
        "Is data stored only as long as necessary?",
        "Is retention period defined?",
        "Are deletion processes in place?"
    ],
    "Integrity and Confidentiality": [
        "Is data secure?",
        "Are technical and organisational measures in place?",
        "Is unauthorised access prevented?"
    ]
}

for principle, questions in gdpr_checklist.items():
    print(f"\n{principle.upper()}:")
    for q in questions:
        print(f"  • {q}")

# ----------------------------------------------------------------
# PART C: PRIVACY AND BLOCKCHAIN COMPARISON
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART C: Privacy and Blockchain Comparison")
print("-"*60)

privacy_comparison = {
    'Feature': ['Data Modification', 'Data Deletion', 'Data Sharing', 'Privacy Control', 'Auditability'],
    'Traditional Database': ['Easy', 'Easy', 'Controlled', 'Admin-driven', 'Limited'],
    'Blockchain (Public)': ['Impossible', 'Impossible', 'Public (all)', 'Pseudonymous', 'Full'],
    'Blockchain (Private)': ['Controlled', 'Controlled', 'Controlled', 'Admin-driven', 'Full']
}

privacy_df = pd.DataFrame(privacy_comparison)
print(privacy_df.to_string(index=False))

# ----------------------------------------------------------------
# PART D: PRIVACY-ENHANCING TECHNOLOGIES
# ----------------------------------------------------------------

print("\n" + "-"*60)
print("PART D: Privacy-Enhancing Technologies")
print("-"*60)

pet_data = {
    'Technology': ['Zero-Knowledge Proofs', 'Differential Privacy', 'Secure Multiparty Computation', 'Homomorphic Encryption'],
    'Description': [
        'Prove knowledge without revealing information',
        'Add noise to protect individual data',
        'Collaborative computation without revealing inputs',
        'Compute on encrypted data'
    ],
    'Privacy Level': ['Very High', 'High', 'Very High', 'Very High'],
    'Complexity': ['Medium', 'Low', 'High', 'Very High'],
    'Use Case': ['Private transactions', 'Analytics', 'Collaborative computation', 'Secure data processing']
}

pet_df = pd.DataFrame(pet_data)
print(pet_df.to_string(index=False))

# ----------------------------------------------------------------
# PART E: SUMMARY AND RECOMMENDATIONS
# ----------------------------------------------------------------

print("\n" + "="*70)
print("PART E: Summary and Recommendations")
print("="*70)

print("""
Data Privacy and Protection – Key Takeaways:

1. Data privacy protects personal information from unauthorised access and use.
2. GDPR: EU regulation with 6 principles and 8 data subject rights.
3. CCPA: California law with rights to know, delete, and opt-out.
4. Blockchain challenges: immutability, pseudonymity, data minimisation, cross-border data transfers.
5. Privacy-enhancing technologies: ZKPs, differential privacy, SMPC.
6. Strategies: off-chain storage, encryption, zero-knowledge proofs, privacy by design.

Privacy Compliance for Blockchain:
  - Store personal data off-chain (in encrypted databases).
  - Store only hashes on-chain (for verification).
  - Use zero-knowledge proofs for verification without data exposure.
  - Implement consent management.
  - Provide data deletion mechanisms (data subject rights).
  - Design for privacy from the start (Privacy by Design).
  - Conduct regular privacy impact assessments.
""")