Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Privacy-Preserving Financial Surveillance: An Architectural Framework for CBDC Implementation

Murad Farzulla — Farzulla ResearchORCID

Andrew Maksakov — Dissensus AI (Section 5.4, PET-AML stack)

Preprint DOI: 10.5281/zenodo.17917938

Abstract

This paper challenges the assumption that comprehensive transaction surveillance is necessary for CBDC financial stability and crime prevention. It proposes an alternative architecture built on anonymized pattern detection, transaction-level intervention, and opt-in deanonymization, and argues that the surveillance–privacy trade-off is weaker than CBDC design documents assume.

Status (July 2026)

The Zenodo record above is the January v1.1.0 deposit. It predates the merge of Section 5.4 (v2.0.0, February) and the July revision passes; a re-deposit is pending.

Two things are in flight and are not reflected in the main.tex on this branch:

  1. Section 4.5 is being rewritten. The original §4.5 "validation" reported AUC = 1.000 with watchlist access adding zero marginal value. That was a data-generating artifact — launderers were defined to hold 3–6 wallets against 1–2, so num_wallets separated the classes by construction. detection/ (below) is the honest replacement harness. The manuscript's headline numbers still quote the old figures until the rewrite lands.
  2. Positioning pass, 21 July. The §2.4 gap claim was falsified against a 30-year cryptographic-compliance lineage (trustee e-cash → Compact E-Cash → GGM16 → Platypus/PEReDi → Privacy Pools) plus BIS Aurora/Hertha, and the paper was repositioned around what survives. Full change log and the revised manuscript are on the jul2026-working branch.
git checkout jul2026-working   # current manuscript + compiled PDF + change logs

Start there with WORKING-STATE.md (where the paper is and what's open), then CHANGES-FOR-ANDREW.md (the 21 July revision, item by item) and FORWARD_NOTE.md (why the bibliography was replaced).

Target venue: MDPI FinTech, regular track, mid-September.

Repository structure

main.tex             # LaTeX source (stale February version on main; current on jul2026-working)
references.bib       # bibliography — corrected July 2026, see below
pet_aml_sim.py       # PET-AML stack simulation (Section 5.4)
detection/           # Section 4.5 detection-validation pipeline

detection/ — Section 4.5 validation pipeline

Self-contained, seeded, and gated. Four evidence tiers (T1 structure-only on unlinked pseudonyms → T2 + pseudonymous linkage → T3 + identity attributes → T4 + watchlist), with entity-disjoint cross-validation, entity-clustered bootstrap CIs, a label-permutation negative control, and a TOST equivalence test for the paper's T2 ≈ T4 claim.

A pre-registered degeneracy audit runs before any headline number and hard-fails if any single feature reaches entity-level AUC > 0.95. Run it against the original DGP and it fails on num_wallets at 1.000; on the shipped DGP the worst feature sits ≈ 0.84–0.92.

cd detection/
python3 run_all.py                  # seed 20260707, 800 entities, δ = 0.03 — ≈40 s
python3 run_all.py --seed 42        # every number regenerates from the one seed
python3 test_pipeline.py            # regression tests

Requires Python 3.11+ with numpy, scipy, scikit-learn, pandas (developed on 3.14 / numpy 2.3.5 / scipy 1.16.3 / sklearn 1.8.0 / pandas 2.3.3). The committed results/ were regenerated byte-identically on a clean checkout — if your run differs, the environment differs, and that's worth knowing before we quote anything.

Reference numbers, real-data adapters (AMLworld, Elliptic) and the honest read of what these synthetic results do and do not license: detection/README.md.

pet_aml_sim.py — Section 5.4 PET-AML stack

PSI watchlist screening, ZK policy proof generation/verification, secure MPC risk propagation, queueing delays. Pure Python 3, no dependencies.

python3 pet_aml_sim.py --days 2 --tx-per-day 20000 --psps 8 --seed 7

Note: the copy of pet_aml_sim.py on this branch (main) still has the escalation-ordering bug described below — it has been fixed, but only on jul2026-working, alongside the manuscript update that depends on it. Use that branch if you want the corrected simulator; this one is kept as-is because main.tex here (the stale February version) still quotes the old "zero escalations" result, and updating the code without updating the text would make the two contradict each other on the same branch.

git checkout jul2026-working   # corrected pet_aml_sim.py + matching manuscript

Original issue, for reference: risk_tier was read inside the transaction loop (travel-rule check and escalation, ~lines 468/475) but only assigned by run_batch risk propagation after the loop completed — so tier-based escalation could never fire, and the "zero escalations" result was guaranteed by construction rather than by the architecture. Fixed on jul2026-working by running risk propagation once per simulated day instead of once at the end; a reseeded rerun there now reports a real (small) escalation count.

References

references.bib was corrected in July 2026. Five entries in the February version carried fabricated author sets (OfflineCBDC2024, ZKPSurvey2025, UFLaw2024, OxfordCBDCSurvey2025, Koti2024Graphiti); all are now verified against Crossref / IACR ePrint / publisher records, along with fixes to Campanelli2019 (was Campanelli2017), Wang2025UnbalancedPSI, choi2025cbdcprivacy, and the ECBConsultation2021 note. Eight entries were appended for the positioning pass. Rationale per entry: FORWARD_NOTE.md on jul2026-working.

Building the paper

Plain article class, no local .cls and no external graphics — main.tex and references.bib are all you need.

pdflatex main && bibtex main && pdflatex main && pdflatex main

License

Citation

@misc{FarzullaMaksakov2026CBDC,
  author = {Farzulla, Murad and Maksakov, Andrew},
  title  = {Privacy-Preserving Financial Surveillance: An Architectural
            Framework for {CBDC} Implementation},
  year   = {2026},
  doi    = {10.5281/zenodo.17917938},
  note   = {Preprint}
}

About

Privacy-Preserving Financial Surveillance: An Architectural Framework for CBDC Implementation

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages