“The challenge today is bringing blockchain technology to real things, and I think this is best done from an agile startup that can independently serve many institutions,” he said.
Adhara’s work demonstrates a notable advancement on another central banking blockchain test, Project Ubin – a November 2017 trial of digital ledger tech hosted by the Monetary Authority of Singapore (MAS) and involving R3’s Corda, Hyperledger Fabric and Quorum.
The work done by Adhara to process and settle international payments involving the South African Reserve Bank (SARB), dubbed Project Khokha, addressed a number of pain points, such as reconciling what happens at either end of a payment between a mish-mash of disconnected ledgers and the problem of continually rebalancing accounts via the central bank.
Not only did Project Khokha pass SARB’s required stress tests, it also picked up “best distributed ledger initiative” award from industry publication Central Banking.
In order to meet those real-world requirements, the team had to make some clever modifications to the computationally heavy cryptography used by the Quorum team in Project Ubin, since “preserving privacy at scale using classical zero knowledge proofs, as they exist in Quorum, is challenging,” noted Budd.
Faura echoed this, saying that using zero-knowledge proofs for banking accounts systems is possible, but “becomes a scalability problem very soon.”
In the MAS test, Ubin, Quorum was processing one transaction every 14 seconds. Throughput for Project Khokha, though, was 70,000 in 90 minutes (rounded to 13 transactions per second) – carried out using simplified zero knowledge proofs called “range proofs.”
“Range proofs have proven to be a way simpler and more performant way to achieve the same effect of zero knowledge proofs. And our aspiration of course is to build networks that will be joined by hundreds or thousands of banks,” said Faura.
Adhara co-founder Peter Munnings drilled down into the key differences between the work done on Project Ubin using Quorum and the way the tech was modified for Khokha.
In Ubin, a zero knowledge proof was used to prove that the resulting balance was made up of the starting balance plus or minus the amount transferred, depending on the direction of the transaction. That proof took around 4 seconds to generate and about 50ms to verify, and used a vast amount of RAM, Munnings noted. Those proofs were published to the blockchain.
In Khokha, a special type of encryption hash called Pedersen commitments were used to provide a way of committing to a chosen value (or chosen statement) while keeping it hidden to others, and having the ability to reveal the value later.
“Pedersen commitments are extremely lightweight and fast, but they have one small problem,” said Munnings. “You don’t know if a Pedersen commitment represents a positive or a negative number.”
“So along with the Pedersen commitments, the banks also had to produce two range proofs. One that proved that the amount being transferred was positive and the second, from the sender, that the resulting balance after the transaction was still positive, i.e. the bank wasn’t going into deficit,” he said.
Despite the complexity of combining Pedersen commitments and range proofs to achieve the performance improvements on Khokha, Budd said the project didn’t feel at all “sterile and lab-based”
This was thanks in large part to SARB’s innovation mandate and its emphasis on practicalities, he said.
“They have policy objectives about inclusion within the region and innovation in the market that’s equally driving them to engage in these types of projects,” said Budd, concluding:
100 rand note image via Shutterstock