๐Ÿ“„ Chapter 4: Phase 1 Data Format

WIA-FIN-005: Central Bank Digital Currency Standard | Reading Time: 32 minutes

Foundation of Interoperability

Phase 1 of the WIA-FIN-005 standard establishes the foundational data formats that enable CBDC interoperability. Just as HTML provides a universal format for web pages regardless of the browser or operating system, Phase 1 provides universal data structures for CBDC transactions, wallets, and cryptographic operations.

Why Data Format Comes First

Before CBDCs can communicate through APIs or execute cross-border protocols, they must speak a common language. Phase 1 defines this language through standardized JSON schemas, data encoding rules, and cryptographic primitives that any CBDC implementation can adopt.

Universal Transaction Schema

The core of Phase 1 is the Universal Transaction Format, which can represent any CBDC transaction while accommodating different architectural models.

Basic Transaction Structure

{
  "version": "1.0.0",
  "standard": "WIA-FIN-005",
  "transactionId": "tx_2025123100001234",
  "timestamp": "2025-12-25T10:30:00.000Z",
  "currency": {
    "code": "CNY",
    "cbdcId": "digital-yuan",
    "issuer": "PBOC"
  },
  "type": "transfer",
  "sender": {
    "walletId": "CN-1234567890",
    "publicKey": "02a1b2c3d4e5f6...",
    "signature": "3045022100..."
  },
  "recipient": {
    "walletId": "SG-9876543210",
    "cbdcId": "digital-sgd"
  },
  "amount": {
    "value": "1000.00",
    "precision": 2
  },
  "fee": {
    "value": "0.10",
    "payer": "sender"
  },
  "privacy": {
    "level": "standard",
    "technique": "zksnark",
    "proof": "..."
  },
  "metadata": {
    "purpose": "payment_for_goods",
    "reference": "INV-2025-001",
    "memo": "Coffee beans shipment"
  },
  "compliance": {
    "aml": true,
    "sanctions": "checked",
    "taxReporting": "required"
  }
}

Transaction Types

Type Description Use Cases Required Fields
transfer Simple payment from one wallet to another P2P payments, purchases, remittances sender, recipient, amount
mint Central bank creates new CBDC Monetary policy, currency issuance issuer, recipient, amount
burn CBDC removal from circulation Monetary contraction, currency withdrawal holder, amount, authority
exchange Cross-currency CBDC swap Cross-border payments, FX operations sender, recipient, amounts (both currencies)
contract Smart contract execution Programmable payments, DeFi contract_address, function, parameters
stake Lock CBDC for consensus participation PoS consensus, governance staker, amount, duration

Wallet Format

WIA-FIN-005 defines a standard wallet format that supports both custodial and non-custodial models:

{
  "walletId": "CN-1234567890",
  "version": "1.0.0",
  "standard": "WIA-FIN-005",
  "cbdcId": "digital-yuan",
  "type": "non_custodial",
  "created": "2025-01-15T00:00:00Z",
  "owner": {
    "type": "individual",
    "verificationLevel": "tier2",
    "publicKey": "02a1b2c3d4e5f6...",
    "did": "did:wia:CN-1234567890"
  },
  "balance": {
    "available": "5000.00",
    "pending": "100.00",
    "locked": "500.00"
  },
  "limits": {
    "dailyTransaction": "10000.00",
    "singleTransaction": "5000.00",
    "monthlyVolume": "100000.00"
  },
  "features": {
    "offlinePayments": true,
    "smartContracts": true,
    "multiSignature": false,
    "crossBorder": true
  },
  "privacy": {
    "defaultLevel": "standard",
    "supportedTechniques": ["zksnark", "ring_signature"]
  }
}

Wallet Types

Cryptographic Standards

Phase 1 specifies quantum-resistant cryptography as the default, with backward compatibility for current systems.

Signature Schemes

Scheme Quantum Safe Key Size Signature Size Use Case
CRYSTALS-Dilithium โœ… Yes 2.5 KB 3.3 KB Primary (recommended)
FALCON โœ… Yes 1.8 KB 1.3 KB Compact signatures
SPHINCS+ โœ… Yes 64 B 29 KB Hash-based fallback
ECDSA secp256k1 โŒ No 32 B 71 B Legacy compatibility
Ed25519 โŒ No 32 B 64 B Legacy compatibility

Hash Functions

Encryption

Privacy Mechanisms

Phase 1 defines multiple privacy preservation techniques that jurisdictions can choose based on their regulatory requirements:

1. Zero-Knowledge Proofs

Allow transaction validation without revealing transaction details:

{
  "privacy": {
    "technique": "zksnark",
    "level": "high",
    "proof": {
      "type": "groth16",
      "publicInputs": ["commitment_root", "nullifier"],
      "proof": "0x1a2b3c4d...",
      "verificationKey": "0x5e6f7g8h..."
    },
    "reveals": {
      "amount": false,
      "sender": false,
      "recipient": true,
      "timestamp": true
    }
  }
}

2. Confidential Transactions

Hide transaction amounts using Pedersen commitments:

{
  "amount": {
    "commitment": "0x9a8b7c6d...",
    "rangeProof": "0x1f2e3d4c...",
    "blindingFactor": "hidden"
  }
}

3. Tiered Anonymity

Different privacy levels based on transaction characteristics:

Tier Transaction Size Identity Verification Transaction Privacy
Tier 1 < $100 None required Full privacy (like cash)
Tier 2 $100 - $1,000 Basic verification Pseudonymous
Tier 3 $1,000 - $10,000 Full KYC Amounts hidden, parties revealed
Tier 4 > $10,000 Enhanced due diligence Full transparency to authorities

Encoding and Serialization

WIA-FIN-005 specifies standard encoding formats for all data:

Transaction Encoding

Identifiers

{
  "walletId": "CN-1234567890",           // Format: {COUNTRY}-{NUMBER}
  "transactionId": "tx_2025123100001234", // Format: tx_{YYYYMMDD}{SEQUENCE}
  "cbdcId": "digital-yuan",               // Lowercase, hyphen-separated
  "did": "did:wia:CN-1234567890"          // Decentralized Identifier
}

Amount Representation

Timestamp Format

Validation Rules

Phase 1 defines comprehensive validation rules that all compliant CBDCs must enforce:

Transaction Validation

  1. Signature Verification: Valid cryptographic signature from sender
  2. Balance Check: Sender has sufficient balance plus fees
  3. Amount Validity: Amount > 0 and within limits
  4. Timestamp Validity: Within acceptable clock drift (ยฑ5 minutes)
  5. Nonce/Sequence: Prevents replay attacks
  6. Format Compliance: All required fields present and correctly formatted
  7. Privacy Proof: Valid zero-knowledge proof if privacy is enabled

Wallet Validation

  1. Public Key Format: Valid for chosen cryptographic scheme
  2. Checksum: Wallet ID includes error-detecting checksum
  3. Unique Identifier: No duplicate wallet IDs in system
  4. Verification Level: Matches declared transaction capabilities

Extensibility

Phase 1 includes extension mechanisms for future innovation:

Custom Fields

Implementations can add custom fields in designated extension spaces:

{
  "standard": "WIA-FIN-005",
  "type": "transfer",
  // ... standard fields ...
  "extensions": {
    "vendor": "central-bank-xyz",
    "customFields": {
      "riskScore": 0.12,
      "merchantCategory": "retail",
      "loyaltyPoints": 100
    }
  }
}

Version Compatibility

Reference Implementation

WIA provides open-source reference implementations in multiple programming languages:

TypeScript Example

import { WIACBDC, Transaction, TransactionType } from '@wia/cbdc';

const cbdc = new WIACBDC({
  cbdcId: 'digital-yuan',
  privateKey: '0x...'
});

// Create a transaction
const tx: Transaction = {
  type: TransactionType.TRANSFER,
  recipient: {
    walletId: 'SG-9876543210',
    cbdcId: 'digital-sgd'
  },
  amount: {
    value: '1000.00',
    precision: 2
  },
  privacy: {
    level: 'standard',
    technique: 'zksnark'
  }
};

// Sign and submit
const signedTx = await cbdc.signTransaction(tx);
const result = await cbdc.submitTransaction(signedTx);

console.log(`Transaction ID: ${result.transactionId}`);

Validation Example

import { validateTransaction, ValidationResult } from '@wia/cbdc';

const result: ValidationResult = validateTransaction(transaction);

if (result.valid) {
  console.log('Transaction is valid');
} else {
  console.log('Validation errors:', result.errors);
  // Example errors:
  // - "Invalid signature"
  // - "Insufficient balance"
  // - "Amount exceeds daily limit"
}

Testing and Compliance

WIA provides comprehensive test suites for Phase 1 compliance:

Test Categories

Certification Process

  1. Self-Testing: Run open-source test suite against your implementation
  2. Documentation: Submit implementation details and test results
  3. Peer Review: Community review of implementation approach
  4. Third-Party Audit: Independent verification of compliance
  5. Certification: WIA certification badge and listing

Summary

Phase 1 provides the essential foundation for CBDC interoperability:

Next: Chapter 5 explores Phase 2, which builds on these data formats to define standardized APIs for CBDC operations, enabling developers to build applications that work across multiple CBDC systems.