Paper 2022/163

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

James Lovejoy, Cory Fields, Madars Virza, Tyler Frederick, David Urness, Kevin Karwaski, Anders Brownworth, and Neha Narula

Abstract

In light of continued innovation in money and payments, many central banks are exploring the creation of a central bank digital currency (CBDC), a new form of central bank money which supplements existing central bank reserve account balances and physical currency. This paper presents Hamilton, a flexible transaction processor design that supports a range of models for a CBDC and minimizes data storage in the core transaction processor by storing unspent funds as opaque hashes. Hamilton supports users custodying their own funds or custody provided by financial intermediaries. We describe and evaluate two implementations: the atomizer architecture which provides a globally ordered history of transactions but is limited in throughput (170,000 transactions per second), and the 2PC architecture that scales peak throughput almost linearly with resources (up to a measured throughput of 1.7M transactions per second) but does not provide a globally ordered list of transactions. We released our two architectures under the MIT open source license at https://github.com/mit-dci/opencbdc-tx.

Note: This research is part of Project Hamilton. Please see https://www.bostonfed.org/news-and-events/press-releases/2022/frbb-and-mit-open-cbdc-phase-one.aspx for more details.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Preprint. Minor revision.
Keywords
CBDCdigital currencydistributed ledgersBitcoin
Contact author(s)
narula @ mit edu
History
2022-02-20: received
Short URL
https://ia.cr/2022/163
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2022/163,
      author = {James Lovejoy and Cory Fields and Madars Virza and Tyler Frederick and David Urness and Kevin Karwaski and Anders Brownworth and Neha Narula},
      title = {A High Performance Payment Processing System Designed for Central Bank Digital Currencies},
      howpublished = {Cryptology ePrint Archive, Paper 2022/163},
      year = {2022},
      note = {\url{https://eprint.iacr.org/2022/163}},
      url = {https://eprint.iacr.org/2022/163}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.