The South African Reserve Bank recently concluded a successful pilot with seven commercial banks to test an Ethereum-based interbank payments platform.
Called Project Khokha, the SARB dubbed the pilot a tremendous success.
The project offered banks an opportunity to understand distributed ledger technology. Its technical team also proved that functions of a complex settlement system could be replicated on a blockchain.
Currently, the SARB runs a system called the South African Multiple Option Settlement system to perform real-time gross settlements between local banks.
Project Khokha replicated the fund transfer functions of the system using Quorum, an Ethereum platform developed by ConsenSys.
South Africa’s pilot used Istanbul Byzantine Fault Tolerance, Pedersen commitments, and range proof techniques – and provided a mechanism for banks to come to consensus on the validity of transactions.
Several iterations of testing were conducted, with the SARB reporting the performance results of iteration three and four of the tests.
The results show that the typical daily volume of the South African payments system could be processed in less than two hours with full confidentiality of transactions and settlement finality.
This was done using messages which comply with ISO 20022, that were propagated within two seconds across a network of geographically-distributed nodes.
The results of the tests are below. Please note that the number of nodes shown in the tables is for participant banks, and excludes the ConsenSys and the SARB nodes.
Performance tests – Iteration 3
For iteration 3, the transactions are confidential and the SARB’s node approves all the transactions after it checks them.
Test results | Test 1 | Test 2 | Test 3 |
---|---|---|---|
Date | 3 April 2018 | 6 April 2018 | 12 April 2018 |
Nodes (banks) | 4 | 5 | 7 |
Transactions | 70,000 | 90,000 | 90,000 |
Duration | 1h 14m 21s | 1h 15m 51s | 1h 16m 00s |
Processing speed | 15.69 tx/s | 19.78 tx/s | 19.74 tx/s |
Node | 4 CPU cores, 16GB RAM |
Performance tests – Iteration 4
Iteration 4 performed fully-distributed, confidential transactions.
The SARB had no operational involvement in approving the transactions, although it still had sight of all them.
This means the SARB’s node could be down, and the banks would still be able to pay each other.
Each transaction needed to generate range proofs to show the amount being transferred was positive and that the balance of the sending bank was still positive after the transaction.
These proofs have to be verified by all the nodes on the network, which introduces more computation per transaction.
As a result, the server specifications for bank nodes had to be increased. For the sake of comparison, a test was run using the original lower-specification machines before the servers were improved for the benchmark tests in iteration 4.
After the first benchmark test, the team optimised the code and blockchain configuration for the final test run.
Test results | Test 1 | Test 2 | Test 3 |
---|---|---|---|
Test | Comparative benchmark test | First benchmark test | Second benchmark test |
Date | 20 April 2018 | 20 April 2018 | 20 April 2018 |
Nodes (banks) | 6 | 6 | 6 |
Transactions | 10,000 | 70,000 | 70,000 |
Duration | 38m 23s | 1h 54m 46s | 1h 30m 41s |
Processing speed | 4.34 tx/s | 10.71 tx/s | 12 tx/s |
Node | 4 CPU cores, 16GB RAM | 16 CPU cores, 64GB RAM |
Join the conversation Autoload comments
Comments section policy: MyBroadband has a new article comments policy which aims to encourage constructive discussions. To get your comments published, make sure it is civil and adds value to the discussion.