mit-dci / opencbdc-tx

A transaction processor for a hypothetical, general-purpose, central bank digital currency
Other
890 stars 198 forks source link

What are the challenges associated with CBDC interoperability? #128

Open wenkanglu opened 2 years ago

wenkanglu commented 2 years ago

With the advent of distributed ledger technology (DLT), many nations are dabbling with the idea of a central bank digital currency (CBDC). It would be reasonable to say that each nation has different requirements for a CBDC, and therefore are likely to make use of different solutions to achieve the results they require. If such is the case, how do parties from different nations transact with different CBDCs? What are the challenges associated with trying to make these CBDCs interoperable?

Blockchains, the most dominant form of DLT today, currently achieve interoperability of their respective native tokens by the use of "bridges". While there are various implementations of bridges, they all function the same in principle:

  1. Cryptocurrency A is minted on blockchain X and circulated.
  2. A is established on blockchain Y, e.g., respective smart contract has been created.
  3. When bridging a quantity of A from X to Y, the amount is first "locked" in X, i.e., the amount is rendered unusable.
  4. The equivalent amount of A is now minted in Y and sent to the user performing the bridge.

Given that there are many parallels that can be drawn between a CBDC and a cryptocurrency, it is easy to see how this form of interoperability can be achieved with regard to the former as well. However, as pointed out by Vitalik Buterin, the use of a bridge between two blockchains causes them to share their vulnerabilities, without yet considering the vulnerabilities of the bridge implementation itself. Does such a problem exist for a CBDC minted on a centralized system, such as Hamilton?

This is an open discussion and I am especially curious to know what the DCI's thoughts are. Is there currently a working group dedicated to CBDC interoperability?

HalosGhost commented 2 years ago

@wenkanglu interoperability is definitely of interest to OpenCBDC. How you might design a CBDC to be interoperable with others is still an open-question; bridges like you mention above might be possible (though, conceptually, there's no fundamental reason a CBDC's ledger—in whatever form it takes—needs to be public, so this might not be the best option). There are other options (an obvious possibility would be for all CBDCs meant to be interoperable with one another to share a common API; though, this seems very unlikely, and as you mention, different jurisdictional needs may make it impossible), but only some very early explorations have begun (to my knowledge).

Speaking for myself, I actually find the idea of a common API fascinating (but I think that descends more from my interests in type-theory—i.e., “what is the minimum interface necessary for something to be a CBDC?”—than anything practical).

wenkanglu commented 2 years ago

That's an interesting perspective regarding the minimum interface. I was also dabbling with the idea of a common model like the OSI. It might be a naive way of thinking about it but it would certainly simplify things.

Perhaps another way to see this whole interoperability issue is to just "deal with it when we get there". Maybe central banks first need to just make retail and commercial CBDCs available for use within their borders before considering interoperability. I'm not much of an economist, though, and it'd be interesting to hear from the perspective of one.

I have also been wondering what the practical difference between a CBDC and a stablecoin version of a specific currency is to an end-user. Sure, the CBDC will have the status of being legal tender but if a party accepts the stablecoin variant managed by a private entity, does the latter scenario undermine the former?