Skip to content

Search the site

Boston Fed, MIT open-source their Central Bank Digital Currency software

Project Hamilton stores funds as opaque 32 byte hashes inside an Unspent funds Hash Set, or UHS

The Boston Federal Reserve Bank of Boston and the Massachusetts Institute of Technology (MIT) have released their research, dubbed Project Hamilton, into a proposed theoretical Central Bank Digital Currency (CBDC), which they developed using open-source research software. The research team said that they successfully created two architectures: one with a core processing engine capable of handling 1.7 million transactions per second.

The two did not rely on distributed ledger technology, saying that a) it wasn't necessary to match the "trust assumptions" under their approach; i.e. that the CBDC would be administered by a central actor and b) that "even when run under the control of a single actor, a distributed ledger architecture has downsides... it creates performance bottlenecks, and requires the central transaction processor to maintain transaction history, which one of our designs does not, resulting in significantly improved transaction throughput scalability properties."

The architecture that achieves 1.7 million TPS does "not keep a history of transactions nor do we use any cryptographic verification inside the core of the transaction processor to achieve auditability" -- breaking many assumptions about what, precisely, a CBDC should be and do -- although Project Hamilton does allow for transaction validation to be "fully de-coupled from the database layer of the system. It also minimizes data retention in the core system, and opens the possibility of zero-knowledge sentinels which would hide transaction data and greatly increase user privacy from the central bank" the two noted in their technical whitepaper.

Boston Fed and MIT's CBDC "Project Hamilton"

Under Project Hamilton, users interact with a central transaction processor using digital wallets storing cryptographic keys. Funds are addressed to public keys and wallets create cryptographic signatures to authorise payments, the central bank and MIT said in the whitepaper: "The transaction processor, run by a trusted operator (such as the central bank), stores cryptographic hashes representing unspent central bank funds. Each hash commits to a public key and value. Wallets issue signed transactions which destroy the funds being spent and create an equivalent amount of new funds owned by the receiver. The transaction processor validates transactions and atomically and durably applies changes to the set of unspent funds.

"In this version of our work, there are no intermediaries, fees, or identities outside of public keys. However, our design supports adding these roles and other features in the future," they added.

(Specifically, Project Hamilton stores funds as opaque 32 byte hashes inside an Unspent funds Hash Set, or UHS. This hides details about the funds, like amounts and addresses, from the UHS storage, reduces storage requirements, and creates opportunities to improve performance. Users run wallet software to manage cryptographic keys, track funds, and facilitate transactions. Wallets could run on a mobile phone or specialized hardware in smart cards: "We do not discuss how users obtain wallets and get system access; this could be done using a PKI and access control, or, the system could be open to all users", the research notes.)

The release comes as experiments with CBDCs continue apace. Earlier this year the Swiss National Bank (SNB) successfully integrated a wholesale CBDC in its existing back-office systems and processes, running tests that spanned a wide-range of transactions in Swiss francs – interbank, monetary policy and cross-border.

Dubbed Project Helvetia, that was a joint experiment by the Bank for International Settlements (BIS), the SNB and SIX (Switzerland's main provider of financial infrastructure services.) Citi, Credit Suisse, Goldman Sachs, Hypothekarbank Lenzburg and UBS also participated. It made use of Switzerland's recently approved SDX, or Swiss Digital Exchange --  the world's first regulated DLT-based financial market infrastructure.

Speaking with The Stack, SIX's Head of Markets Thomas Zeeb said in 2021: "One of the simple use cases we have, which is around loan syndications. Today, to get debt off a bank’s balance sheet, you securitise it, and you syndicate that loan; you don’t need tokens to do that. However, with a distributed ledger, you can go out to many, many more investors all at once without having to count on a cascade effect. You can be much more efficient in finding investors for these loans, by using a distributed ledger – and putting a token on that ledger is the natural way that you would do it: it allows you to fractionalise it, and also means that instead of having a small group of investors, you can go up to hundreds of investors, and they all have the same amount of information at exactly at the same time. That is very appealing for instance, for banks, which are looking to reduce their balance sheets, particularly under Basel IV coming in a few years; as well as increasing the efficiency of how you get to investors.

He added at the time: "Another example is so-called non-bankable assets. We’re in discussions with a couple of issuers who would like to take artwork and tokenise it. If you as a private investor went to your bank and said, I want to have 5% of my portfolio, maybe I’ve got 50,000 to invest, I want 5% exposure to fine art, they will be able to put you into a token that is fine art-related, rather than saying either you’ve got to put in a lot of money and buy a piece of artwork, or go into a fund structure, which is also a relatively expensive structure. That’s two examples of products that you can put on the exchange, then trade in a liquid secondary market."

Zeeb added: "From a cost point of view, the benefit is really on the post-trade side. Normally, if a corporate action is happening, you would have an income or paying agent in, say, the United States give the information to DTCC; DTCC would give it to the US custodian; the US custodian gives it to us; we process it; we give it to our bank client;  the bank client takes it and gives it to their end client. So you’ve got four or five sets of clerical specialists on the corporate action site touching this transaction. If you do that on a distributed ledger, you do it once, and everyone has that information at once. That eliminates so many layers of potential errors and cost between the issuers paying agent and the end investor: you do it in one step; that’s a huge saving."

The Project Hamilton researchers noted of the Swiss efforts that their project proposes "epoch windows in which coins must be spent. This addresses the issue of maintaining an evergrowing list of spent coins by pruning older entries, but imposes a new requirement on users who might not be familiar with money that cannot be used across epochs, and  has significant policy implications. Many of these schemes strive to achieve unlinkability, with mixed success against colluding attackers, while Hamilton does not." The Project Hamilton code has been released under the MIT open source license -- with the aim of creating and sharing "a flexible platform for collaboration, data gathering, comparison with multiple architectures, and other future research", they said.

Follow The Stack on Linkedin today