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

Each of the seven banks ran its own node, using a mix of physical machines, on-premise virtual machines and cloud servers. The Reserve Bank ran a node that could see every transaction.
AbsaInitial bankStandard BankInitial bankCapitecJoined laterDiscovery BankJoined laterFirstRandJoined laterInvestecJoined laterNedbankJoined laterSARB nodeSees every transaction foroversightConsenSysTechnical partnerPwCSupport partner

Life of a tokenised rand payment

The prototype followed the same simple cycle for every payment.
PledgeBank pledges central-bank depositIssueTokenised rand appearson the ledgerTransferPrivate payment in ISO20022 formatFinalIBFT commit means noforks to wait outRedeemTokens exchanged backto depositConfidentialityPedersen commitments and range proofs hide amounts from other banks

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.

GoalTarget setWhat the report recorded
Throughput70,000 transactions a day (stretch goal 200,000) and 70,000 within two hours, to simulate catching up after a lost dayTypical daily volume processed in under two hours, with confidentiality and settlement finality
Block propagation95% of blocks across the network in under 1 second; 99% in under 2 seconds99% within 1 second and 100% within 1.25 seconds
ConfidentialityBank C cannot see a payment between Banks A and BRecorded as proven
StandardsPayments use the ISO 20022 message formatRecorded as proven
Regulator visibilityThe Reserve Bank can see enough to oversee the systemRecorded as proven: its node saw every transaction
Versus SAMOSCompare with the current systemAbout 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

  1. Project Khokha: Exploring the Use of DLT for Interbank Payments. South African Reserve Bank, with ConsenSys and PwC, June 2018.
  2. 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.

Topics