On August 31, 2017, the Central Bank of Brazil released a study of Real Time Gross Settlement System (RTGS) prototype platforms based on blockchain technology, including Ethereum.
Seeking to study distributed ledger technology (DLT), the Central Bank of Brazil tested prototypes for an Alternative System for Transactions Settlement (SALT) on Ethereum-based BlockApps and Quorum, as well as on HyperLedger Fabric and Corda. The research team had considered testing other use cases, such as the Agreement on Reciprocal Payments and Credits, the Local Currency Payment System, and identity management system, but selected SALT because of its simple and straightforward functional requirements, and readily available participants in the form of commercial banks within the central bank's reach.
According to the research paper, core proof of concept requirements for the implementation of the blockchain-based SALT system included:
1. A ledger would be created at the start of contingency;
2. Full money quantity would be issued by a Central Bank controlled node on ledger inception;
3. Nodes would be operated by participants in a permissioned network;
4. No money could be created after inception;
5. Wallets would be created for each participant and necessary keys distributed accordingly and securely, preferably (but not mandatorily) without using backchannels. The term wallets, in this context, is used in the sense of conceptual wallets: whatever existing mechanism from the available platforms through which nodes are able to hold balance and transfer, i.e. not exclusively address wallets (e.g. Bitcoin’s);
6. At the outset, each wallet would be attributed a balance by the Central Bank Node;
7. Each participant may or may not host nodes, i.e. participants may use third parties to submit transactions, if a platform allows so;
8. Participants would send or receive money to each other, restricted only by their available balance (i.e. wallets’ balances are non-negative);
9. No participant would be allowed to be aware of any other participants’ balances;
10. Participants would know their own balance at all times;
11. Central bank node would be able, at any time, to audit transactions and balances from any node;
12. After inception and initial distribution, the system should operate with or without the central bank node, automatically ensuring privacy and preventing double-spending;
13. Once operations are terminated (contingency is over), balances are transferred back to the Central Bank RTGS;
The first phase of tests using BlockApps resulted in positive findings for the team of researchers who created a working, although not ideal, prototype. The team also identified various issues: the necessity for the bank to honor privacy; and system vulnerabilities, such as the inability to protect against overdrafts, resulting from efforts to achieve privacy by withholding transaction information from executable distributed code contracts (EDCCs).
With respect to HyperLedger Fabric, the team concluded that it was capable of creating a satisfactory result but suffered similar issues around privacy. In addition, the researchers tested version 0.6 of Fabric, which did not have much documentation about how to use the version. The team hopes to test the prototype on Fabric 1.0.
Corda was abandoned during development after the team found critical issues preventing the deployment of the technology to the ascribed use-case. Over the course of the research, Corda was upgraded from version 0.6 to 0.9.2, resulting in changes to the API and functionality. The team was also concerned about disaster recovery, notary customization, and privacy of transaction history using Corda.
When testing the Quorum prototype, the team assessed it more favorably than the other platforms:
"The first advantage seen on Quorum is the Ethereum similarity. One of the objectives of the project is to reuse as much as Ethereum protocol as possible, making it simpler to maintain the platform aligned with innovations introduced to Ethereum."
The researchers noted that Ethereum's code was "tested in the wild" for two years, making it relatively secure and compliant when used to deploy permissioned blockchain environments. Researchers also expect future Ethereum developments will likely be compatible with Quorum.
In order to achieve the desired level of privacy in the prototype, an issue with Quorum did arise when the team eliminated a feature that prevented double-spending. Researchers said the implementation of zero knowledge proofs onto the Quorum platform may improve this issue in the near future.
As platforms continue to develop and demonstrate a capability to provide solutions to the financial industry, the Central Bank of Brazil will continue to test blockchain technology.