Zeto is a new Hyperledger lab that aims to introduce an open-source solution for Ethereum privacy. Enterprise blockchains such as R3’s Corda and Digital Asset’s Canton were built with privacy in mind. In contrast, Ethereum’s roots are in the permissionless blockchain space, where transparency is a hallmark. With many believing that the future will lean more towards permissionless blockchains, institutions are increasingly interested in permissioned versions of Ethereum. However, they have privacy concerns.
The DREX project, which aims to support the tokenization of assets, is a striking example. The blockchain technology chosen is Hyperledger Besu, based on Ethereum. The central bank has experimented with various privacy solutions, but recently delayed the launch of DREX to give the solutions more time to evolve and mature.
Another example is the recent proofs of concept from the German Commercial Bank Money Token (CBMT) project. Two of the three proofs of concept used Ethereum-compatible blockchains. The third used Corda, whose key advantage was privacy.
Zeto is thus another potential solution to Ethereum’s privacy challenge. It was introduced by Kaleido, a Swift partner and developer of a Blockchain as a Service solution.
At the heart of Zeto is a new type of token. It uses zero-knowledge proofs (ZKP), a special type of cryptography that hides content. However, ZKP is notoriously computationally intensive and slow.
Therefore, it offers optional levels of privacy. The least intensive is to anonymize the sender and recipient. A second level is to add privacy around the transaction value, asset identity, and metadata. The final step is to add privacy around the transaction history and associated tokens.
The most distinctive aspect of Zeto is that the token design is different from the ERC-20 token standard and similar to that of Bitcoin.
UTXO: Zeto tokens are not account-based
If we compare Bitcoin to Ethereum ERC-20 tokens, they have different coin designs. Bitcoin is similar to cash, where you hand over a bill and receive change. It uses the unspent transaction output (UTXO) model where the input is the equivalent of the bill and the output is split into two: the amount the recipient receives and the payer’s change. Like cash, if you make a lot of transactions, you end up with a lot of change.
Notably, enterprise blockchains Corda and Canton use UTXO (or quasi-UTXO) rather than account-based tokens.
Ethereum ERC-20 tokens work like a bank account. There is always a single amount as a balance.
Each of these two methods has its pros and cons. Having a lot of change (UTXO) is relatively complicated. However, it can be beneficial for scalability. If I have three coins worth $1,000, $200, and $50, and I want to make two $100 transactions at exactly the same time, it is possible to run them in parallel using two separate tokens as inputs. However, two simultaneous $600 transactions would be problematic: I would have to wait for the $1,000 token to be changed.
For account-based tokens, if you have a single balance in an ERC-20 token, you have to make transactions in sequence. For zero-knowledge proofs, this can be difficult. You give each transaction a set time limit, but this means you can’t make transactions faster than that, effectively limiting the transaction rate.
However, moving away from account balances, many other typical codes need to be tweaked. Therefore, Zeto supports transfers and other features, such as delivery on payment and payment on payment.
In another sign of the importance of Ethereum privacy solutions, Brazilian company Parfin announced a funding round this week. It provides one of the solutions, Rayls, being tested by Brazil’s central bank.