I’m absolutely thrilled to be able to write about the open sourcing of Project Ubin Phase II, a key project that our team has been working on for the past seven months with the Monetary Authority of Singapore (MAS), ten banks, and our partner Accenture.
What is Project Ubin? It’s probably the most advanced starter kit out there for anyone wanting to explore blockchains for banking:
- Front and back end code that reflects cash issuance and transactions among a group of participants
- Algorithms that can run a Liquidity Savings Mechanism (LSM) while maintaining transactional privacy over a decentralised ledger (this has never been done before, and represents some of the most advanced flows ever built on Corda)
- Design documents that explain what’s going on in business English
- Technical documents to explain the technical design of Corda’s solution
(A liquidity savings mechanism is a process that uses netting algorithms to allow parties to pay each other even if they don’t have enough money – like when a circle of friends owe each other money and can find a shortcut to settle everything at once).
This has wide ranging implications – not just for central banks, but for the whole business community. There’s something for everyone, whether you’re a central bank, a bank, a corporate, or an independent software vendor looking to build applications using blockchain technology.
What can you do with it? The code is open sourced under an Apache 2 licence, allowing you the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software, under the terms of the license, without concern for royalties. This is exactly the same licence used for Corda itself, giving simplicity and freedom from IP complications to those who build on this code with Corda in the future. Note: not all of the platforms evaluated are available under this licence. It pays to check.
This specific project uses the scenario of a Central Bank issuing currency receipts to a group of banks who then pass the receipts amongst each other, and redeem them some time later. But the code and concepts can be reused for other purposes too:
- A bank issuing promissory notes or certificates of deposit to its clients
- A government issuing bonds
- A corporate issuing short or long term debt
- A corporate issuing non-cash obligations
- … and many other use cases
In fact this code is useful any time you have issuance, transfers, and redemption of anything that can be recorded on a ledger. The LSMs can unlock “gridlock” situations where participants want to transact with each other but may not presently have enough of the asset. There are also possibilities where banks or corporates have multilateral obligations to each other.
So what can you do right now?
- Read the docs
- Fork the code
- Watch Dave Hudson explain the Corda solution
- Watch the “What is Corda?” two minute video
- Learn about the key concepts in Corda (developers) (business)
- Read about Corda-based solutions
- Play with a pre-packaged demo tool
- Contact R3 about your use case
We believe that this project clearly differentiates Corda from other DLT platforms, demonstrating its unique privacy attributes and applicability for enterprise use cases whilst delivering true atomic multilateral settlement, and without liquidity-trapping channels.
But don’t take our word for it – go and see for yourself. Fork it, edit it, compile it, run it and make a thousand flowers bloom!
For an overview of R3’s previous central bank projects with Bank of Canada, MAS, and the Hong Kong Monetary Authority please see this summary.