Project Hamilton and OpenCBDC

Project Hamilton was a multi-year collaborative research project between the MIT Digital Currency Initiative (DCI) and the Federal Reserve Bank of Boston that explored the technical feasibility of a hypothetical general-purpose central bank digital currency (CBDC) for the United States. The project was established to help policymakers, researchers, and technologists better understand the technical opportunities, challenges, risks, and tradeoffs associated with designing digital public money at national scale. Rather than developing a production system or recommending a specific policy approach, the project focused on foundational technical research into how a CBDC could be designed to support high transaction throughput, low latency, security, resilience, privacy, and flexibility for future policy decisions.

As part of this work, the team designed, built, and evaluated multiple transaction-processing architectures and published findings through open-source software and peer-reviewed published research. Project Hamilton demonstrated how hands-on experimentation and public research can contribute to informed discussions about the future of digital currency and payment infrastructure. Phase one of Project Hamilton saw the launch of OpenCBDC, alongside a peer-reviewed systems paper and executive summary. Phase two continued to explore these themes until the collaboration concluded in 2023, leaving a body of research that continues to inform CBDC exploration and digital currency research around the world. The programmability research that began as Phase 2 of Project Hamilton was released as PArSEC and is also integrated into the OpenCBDC codebase. You can learn more about this project here.

OpenCBDC was a continuation of the work begun in Project Hamilton. It was an open source research initiative led by the MIT Digital Currency Initiative to support collaborative research into the design of central bank digital currencies and next-generation financial infrastructure. OpenCBDC provided an open platform through which researchers, central banks, policymakers, academics, and industry participants could examine the technical design choices that shape digital currency systems.

The project explored topics including transaction-processing architecture, privacy, security, scalability, interoperability, user experience, smart contracts, and models for custody and access. Through publicly available software, technical publications, workshops, and community engagement, OpenCBDC sought to foster transparent and neutral research that could help stakeholders evaluate the benefits, limitations, and tradeoffs of different digital currency designs. Although the project has concluded and is no longer actively maintained, its research outputs remain an important contribution to the global conversation on digital currency systems and the future of public and private financial infrastructure.

OpenCBDC-tx is a  centralized transaction processor for a hypothetical CBDC that implements two architectures. The first, the atomizer, can process 170,000 transactions per second. The second, using two-phase commit, can process up to 1.7M transactions per second.

Key features and concepts:

  • Digital signatures to authorize payments using UTXOs (unspent funds are stored as cryptographic hashes)

  • A modular design supporting experimentation with models where intermediaries could take on a variety of different roles and serve different purposes, including the option for self-custody

  • A platform for exploring, evaluating, and benchmarking potential extensions and new features.

  • Key ideas include decoupling transaction validation and execution to achieve scale

Privacy and Flexibility

Our designs can support a myriad of access models without mandating specific policy choices. For example, our designs could support the following:

  • Users fully self-custody their funds and receive payments without requiring an account with an intermediary (even the central transaction processor);

  • Users engage an intermediary only to obtain authorization for high-value payments, while low-value payments might not require detailed identity checks; 

  • Users engage an intermediary to back up their credentials and payment information to prevent data loss

  • Techniques to keep the amounts in transactions private from even the centralized transaction processor operator while still supporting auditability of supply

Our designs do not support:

  • Restricted payments, or funds that are limited in how they can be used. 

  • Techniques to keep the transaction graph private from the centralized operator. This would require future work.

Please note that these lists are not exhaustive and are merely intended to be illustrative of the types of designs  that OpenCBDC could or could not support. They are also not intended to be a commentary on the viability or likelihood of the eventual adoption of these choices.

This project is a part of the Future of Financial Infrastructure research track


Project Videos

Boston Fed’s CBDC project - In August 2020, the Federal Reserve Bank of Boston (FRBB), in collaboration with MIT, announced that it would research and test leading technologies to determine design requirements for a US-based central bank digital currency. Jim Cunha, senior vice-president, secure payments and fintech (FRBB), discusses this initiative as well as the wider impact of distributed ledger technology on the financial system.

Introduction to OpenCBDC - In this introductory workshop, held on December 5, 2022, Sam Stuewe, the lead maintainer of the OpenCBDC-tx codebase, shares an introductory workshop for anyone who's interested in contributing to, or just learning more about, OpenCBDC.

NSDI '23 - Hamilton: A High-Performance Transaction Processor for Central Bank Digital Currencies - Watch James Lovejoy, former MIT DCI student and Senior Software Architect at the Federal Reserve Bank of Boston, present the peer-reviewed Hamilton paper at the 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI '23) in April 2023.

Outputs

Project Hamilton Phase 1 Executive Summary

OpenCBDC Codebase

Hamilton: A High-Performance Transaction Processor for Central Bank Digital Currencies

Over 80% of central banks around the world are investigating central bank digital currency (CBDC), a digital form of central bank money that would be made available to the public for payments. We present Hamilton, a transaction processor for CBDC that provides high throughput, low latency, and fault tolerance, and that minimizes data stored in the transaction processor and provides flexibility for multiple types of programmability and a variety of roles for financial intermediaries. Hamilton does so by decoupling the steps of transaction validation so only the validating layer needs to see the details of a transaction, and by co-designing the transaction format with a simple version of a two-phase-commit protocol, which efficiently applies state updates in parallel. An evaluation shows Hamilton achieves 1.7M transactions per second in a geo-distributed setting.

This paper is included in the Proceedings of the 20th USENIX Symposium on Networked Systems Design and Implementation. April 17–19, 2023 • Boston, MA, USA

Authors
James Lovejoy, Federal Reserve Bank of Boston
Madars Virza
, MIT Media Lab

Cory Fields, MIT Media Lab
Kevin Karwaski
, Federal Reserve Bank of Boston
Anders Brownworth
, Federal Reserve Bank of Boston
Neha Narula
, MIT Media Lab

A High Performance Payment Processing System Designed for Central Bank Digital Currencies

Authors
James Lovejoy, MIT Digital Currency Initiative
Cory Fields
, MIT Digital Currency Initiative
Madars Virza
, MIT Digital Currency Initiative
Tyler Frederick
, Federal Reserve Bank of Boston
David Urness
, MIT Digital Currency Initiative
Kevin Karwaski
, Federal Reserve Bank of Boston
Anders Brownworth
, Federal Reserve Bank of Boston
Neha Narula
, MIT Digital Currency Initiative

News:

Previous
Previous

Privacy-preserving analytics for the securitization market: a zero-knowledge distributed ledger tech

Next
Next

Responsible Vulnerability Disclosures in Cryptocurrencies