A plain-language walkthrough of the South African Reserve Bank's 2018 proof of concept for settling interbank payments on a permissioned Ethereum network.
Who ran what in Project Khokha
Life of a tokenised rand payment
Why the Reserve Bank ran it
When one bank pays another in large amounts, the money moves through a real-time gross settlement (RTGS) system run by the central bank. In South Africa that system is SAMOS. It is critical infrastructure, so any new technology has to prove it can do the same job at least as well before anyone seriously considers it.
Project Khokha was set up to ask a narrow question: can a shared ledger shared by the banks do the core work of an RTGS system, which is moving central-bank-backed money between banks, quickly, privately and with settlement that cannot be undone? Khokha is the isiZulu word for ‘pay’. It was the first project of the Reserve Bank’s newly formed Fintech Unit, and it followed earlier central-bank experiments in Brazil, Canada, the euro area, Japan and Singapore.
The report groups that global work into three waves. The first wave was simple Ethereum prototypes. The second, where Khokha sits, tackled the hard combination of scale, resilience, confidentiality and finality. The third wave, which was just starting in 2018, moves into securities settlement and cross-border payments.
Who built it
The participating banks were Absa, Capitec, Discovery Bank, FirstRand, Investec, Nedbank and Standard Bank. ConsenSys, the Ethereum-focused software studio, was the technical partner and PwC supported the project. Planning began in late 2017 and the build ran for 14 weeks.
Absa and Standard Bank started the work and the other five banks joined the network one after another. Each bank configured and ran its own node, using a mix of physical machines, virtual machines in its own data centre and cloud-hosted virtual machines. That mix mattered: it showed the system could cope with the untidy reality of different banks’ infrastructure.
How it worked
The prototype used a tokenised rand. A bank would pledge part of its deposit held at the central bank, receive an equivalent number of tokens on the ledger, pay other banks in those tokens, and later redeem them. The tokens were a digital representation of central-bank money, not a new currency.
The platform was Quorum, a permissioned version of Ethereum derived from the Go Ethereum client, meaning only approved participants could join. For agreement between nodes it used IBFT, a consensus method in which a set of validators vote on each block. Once a block is committed it is final, because there are no competing forks to wait out. The report calls this operational finality and notes that legal finality is a separate question needing legal backing.
Privacy was the clever part. Bank C must not see what Bank A paid Bank B, yet the ledger still has to check that nobody is creating money from nothing. The team used Pedersen commitments, which lock an amount inside a cryptographic ‘sealed envelope’ that can still be added up, together with range proofs, which show an amount is valid without revealing it. The report says this combination had not previously been demonstrated on Quorum with IBFT. Payment instructions followed the ISO 20022 message standard, and the Reserve Bank’s own node could see every transaction for oversight.
What they measured
The team set measurable goals up front rather than declaring victory afterwards. The table shows the targets and what the report recorded.
| Goal | Target set | What the report recorded |
|---|---|---|
| Throughput | 70,000 transactions a day (stretch goal 200,000) and 70,000 within two hours, to simulate catching up after a lost day | Typical daily volume processed in under two hours, with confidentiality and settlement finality |
| Block propagation | 95% of blocks across the network in under 1 second; 99% in under 2 seconds | 99% within 1 second and 100% within 1.25 seconds |
| Confidentiality | Bank C cannot see a payment between Banks A and B | Recorded as proven |
| Standards | Payments use the ISO 20022 message format | Recorded as proven |
| Regulator visibility | The Reserve Bank can see enough to oversee the system | Recorded as proven: its node saw every transaction |
| Versus SAMOS | Compare with the current system | About twice the transactions per second, without full optimisation |
The report adds that, without full optimisation, throughput in transactions per second was about twice that of the current SAMOS system while still providing confidentiality and settlement finality. That is a prototype result on test infrastructure, not a production benchmark.
What it did not test
A fair reading of the report is as important as the headline numbers. The prototype was not connected to the live payment system or to any bank’s production systems. Liquidity-saving mechanisms, queue handling and gridlock resolution, which real RTGS systems depend on, were not tested. Of the international principles for financial market infrastructure, only three were assessed: settlement finality, money settlements and operational risk. Governance and legal aspects needed for a production system were deliberately left for later.
In other words, Khokha showed that the transaction engine of an RTGS system can run on a distributed ledger. It did not show that a country should replace SAMOS, and the Reserve Bank did not say it should.
Lessons beyond the technology
The participants credited the result to collaboration as much as code: banks that already knew each other through industry bodies, agile working practices, training so everyone started with the same knowledge, and bringing banks onto the network in sequence so each could learn from the last. The Reserve Bank also placed the project within the Intergovernmental Fintech Working Group, where the Financial Intelligence Centre, the Financial Sector Conduct Authority, National Treasury and the Reserve Bank coordinate their approach to fintech.
A second phase, Project Khokha 2, was later reported on by the Reserve Bank in April 2022. It is outside the report summarised here, so we have not covered it.
Sources
- Project Khokha: Exploring the Use of DLT for Interbank Payments. South African Reserve Bank, with ConsenSys and PwC, June 2018.
- Fintech in South Africa. Lexology, 27 March 2018.
This article is our own summary and commentary. The reports remain the property of their authors and publishers; read the originals for full detail. Spotted an error? Tell us. See our editorial policy.