Research
Technical Paper | Executive Summary | Github
About
Introduction
OpenCBDC is an open source project to engage in collaborative technical research to understand the space of designs for potential central bank digital currencies (CBDC). The first contribution is OpenCBDC-tx, an experimental transaction processor that emerged from joint research with the Federal Reserve of Boston as part of Project Hamilton.
Project Hamilton
Project Hamilton is a multi-year, collaborative research project between the MIT Digital Currency Initiative and the Federal Reserve Bank of Boston. The goal of Project Hamilton is to investigate the technical feasibility of a general purpose CBDC that could support a payment economy at the scale of the United States, as well as to gain a hands-on understanding of a hypothetical CBDC’s technical challenges, opportunities, risks, and tradeoffs.
Learn more about Project Hamilton.
Learn more about our collaborators at the Federal Reserve Bank of Boston.
Contributing to OpenCBDC
OpenCBDC is an open source project and we welcome pull requests to the code an… View full description
Research
Technical Paper | Executive Summary | Github
About
Introduction
OpenCBDC is an open source project to engage in collaborative technical research to understand the space of designs for potential central bank digital currencies (CBDC). The first contribution is OpenCBDC-tx, an experimental transaction processor that emerged from joint research with the Federal Reserve of Boston as part of Project Hamilton.
Project Hamilton
Project Hamilton is a multi-year, collaborative research project between the MIT Digital Currency Initiative and the Federal Reserve Bank of Boston. The goal of Project Hamilton is to investigate the technical feasibility of a general purpose CBDC that could support a payment economy at the scale of the United States, as well as to gain a hands-on understanding of a hypothetical CBDC’s technical challenges, opportunities, risks, and tradeoffs.
Learn more about Project Hamilton.
Learn more about our collaborators at the Federal Reserve Bank of Boston.
Contributing to OpenCBDC
OpenCBDC is an open source project and we welcome pull requests to the code and other contributions. Collaborations in OpenCBDC will be structured around open technical working groups. Each themed working group (e.g. Privacy, Architecture, Interoperability, User Experience, etc.) will advance research with technologists, user researchers, central bankers, private sector engineers, and academics (including students). We’re actively seeking contributions to the open-source codebase as well as new working group members.
To learn more or get involved, please engage with the project on Github or fill out the OpenCBDC interest form.
Technical Specifications
OpenCBDC-tx is a modular, extensible 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.
Core Features
- A central transaction processor run by a trusted operator (such as a Central Bank)
- 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 non-custodial or self-custody
- Currently, the design does not directly support intermediaries, fees, or identities outside of public keys, however, we are interested in exploring and benchmarking new features.
Key Concepts
- Decoupling transaction validation and execution
- Secure and flexible transaction formats
- Efficiency of transaction execution
Two Different Architectures: Atomizer and 2 Phase Commit