zkLedger is a technology that demonstrates that it is possible to improve security, speed, privacy and decentralization, using cryptography and other technologies associated with the block chain.
Lto privacy in blockchain It is always a field in constant research, and a clear example is zkLedger, a technology that aims to take advantage of the best of the world of ZKP or Zero Knowledge Tests, to build blockchain platforms focused on security and privacy.
But what differentiates the zkLedger from the rest of the blockchain technology that already exists? What are its advantages? How does it work?
zkLedger, a high speed, privacy and security blockchain
The development of zkLedger started with a paper presented at the event 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2018) by Neha Narula (MIT Media Lab), Willy Vasquez (University of Texas) and Madars Virza (MIT Media Lab). During the event, Narula described zkLedger as follows:
zkLedger, is the first system designed to protect the privacy of ledger participants and provide a fast and demonstrably correct audit in all circumstances, which is specially designed for companies, banks and financial entities.
The idea in this sense is clear: create a ssystem that can be easily audited, without compromising privacy at any time of the people who use that system.
To achieve this, zkLedger relies its auditing system on a cryptography scheme that uses non-interactive zero-knowledge proofs of type Schnorr. This is an alternative to the known zk-SNARK y zk-STARK. The main difference is that ZKPs of the Schnorr type, do not require a reliable configuration and they only rely on widely used cryptographic assumptions. Also, these cryptographic assumptions are easier to program and therefore easier to debug and implement.
Integrity is the key by zkLedger
On the other hand, zkLedger provides an integrity system, the basis of which is that the ledger, or ledger, cannot hide transactions from the auditor, and participants can use mechanisms to quickly produce and verify transactions. This feature offers two advantages:
- Network auditability ensures that everything in the ledger is visible to the auditor (or whoever has this role within the system), leaving the rest with the necessary access to verify that a transaction was carried out and nothing more. In other words, information such as the "graph or link of transactions", amounts, addresses or any data that puts the privacy of the parties at risk, is available "openly" to the public.
- Offers a very high processing speedSince Schnorr tests are shorter, they are easier to generate and process. In addition, the use of caching makes the system of transactions and auditing fast. A good example of this is that an audit process on a zkLedger can take about 10 milliseconds to verify 100 transactions.
Audits, zkLedger's strong point
The above is enhanced due to the fact that; zkLedger has from its bases and code a series of functionalities designed to facilitate audits. For example, zkLedger has native auditing features, which allow you to easily get sums, moving averages, variances, standard deviation, and ratios.
In this way, an auditor can use these primitives to measure financial leverage, asset liquidity, counterparty risk exposures and market concentration, for the system as a whole or for individual participants.
As can be seen, this type of technology is especially useful for companies, banks, and financial services that want and require this level of auditing in order to comply with regulatory requirements, but at the same time, need the flexibility and power of the blockchain. for your operations.
Main features of zkLedger
Among the main features of zkLedger we can mention the following:
It is a blockchain with extensive privacy and auditing capabilities
zkLedger aims to Maintain a high level of privacy and auditing on your systems. To achieve both goals, zkLedger bases its cryptographic operation on a new type of ZKP proofs of the Schnorr type, to be more precise, on the General Schnorr Proofs and a system of Pedersen commitments.
Pedersen commitments allow zkLedger maintain the privacy of the system and at the same time accept the operation of an auditing system. This is possible because the Pedersen commits allow zkLedger, create structures at the consensus level of the network, which the auditor can then verify and do his job. The auditor in any case you will only be able to access the information you need, and that it is within the consensus system of the network, denying privileged access to any information that is not allowed. In a sense, the Pedersen scheme only provides working information to the auditor.
The information offered by the Pedersen scheme is protected in any case by a ZKP of the Schnorr type (Schnorr General Tests). Thus, the information offered is only a cryptographic result that the auditor can verify on the network, without actually having access to the real data of our operations.
A high-efficiency blockchain
The use of Pedersen and ZKP commitments of the Schnorr type also makes zkLedger a network built to be highly efficient. Schnorr is a technology designed with the principle of being quick to generate and verify that it occupies very little storage space. In this case, making use of Schnorr in zkLedger ensures that the nodes do not have to be extremely powerful to do their job. Additionally, storage requirements are drastically reduced.
zkLedger consensus verification implements quite an interesting role system that offers very fast transactions. First, participants do not have to interact to build proofs of the transactionInstead, the spender can create the transaction themselves. At this point, if a malicious actor attempts to encode incorrect values into other actors' commits, they will fail as only the parties that have the information pertaining to the spend (the spender who built the transaction, the collector who knows how much they have to pay) they can answer with certainty to the cryptographic test and the subsequent audit of the network.
This system is known as zkLedger token auditing and consistency testing, and it can be publicly verified, improving security in payments, and at the same time, making them very fast. Furthermore, to avoid the generation of coins that do not exist, zkLedger includes a series of consensus rules that avoid this behavior (in the same style as what happens in Monero (XMR)) creating a series of range checks that avoid this attack.
Balance Test, the zkLedger consensus algorithm
One of the main features of zkLedger is its consensus algorithm known as Proof of Balance (PoBal) or Balance Test. The Proof of Balance aims at two things:
- That zkLedger is a high speed network.
- The fact that it is impossible to hide balances or account information.
In this way, Proof of Balance meets both needs using a series of cryptographic tests designed for this purpose. First of all, a transaction in zkLedger is an entry for each “bank”, that entry has a series of unique cryptographic commitments that unambiguously bind them to said transaction. The objective of this first system is to guarantee that:
- A transfer transaction it cannot create or destroy assets.
- The “expense bank” must give consent For transfer.
In this situation, zkLedger has created a series of cryptographic tests to ensure that the spender can handle these funds and use them freely and autonomously. The first of these tests is Proof of Balances that allows knowing that the spender really has assets in his possession for the operation.
Then A second test is carried out to ensure that the "bank" really has the assets to transfer. This is possible thanks to the Asset Test, the idea of this test is to demonstrate that the user really has the assets within the expense bank to carry out the transaction.
Difference with other models
In a normal blockchain (as in Bitcoin (BTC)) this is possible by the UTXO and the transaction tree that is created by the previous transactions until reaching the Coinbase.
However, zkLedger does not follow this system, in fact, zkLedger does not make the transaction tree public at any time, so the Proof of Assets is in charge of verifying cryptographically that the user has assets and that said transaction can be carried out without problems of double spending or generation of non-existent coins.
Finally, the Consistency Test ensures that banks cannot add data to the general ledger that prevents another bank from opening its commitments to the Auditor. In this way, the system is protected so that everyone can participate in it on equal terms.
Transaction speed
Proof of Balance (PoBal) is the key to zkLedger's high speed of operation. In lab tests, zkLedger was able to outperform other popular blockchain technologies. In a network of 12 Xeon servers (4 Core) and 24 GB of RAM, zkLedger was able to:
- Audit 100 thousand transactions in 6 milliseconds, in online mode.
- Audit 100 thousand transactions in 3500 milliseconds, in offline mode.
- Create an input (transaction) in 8 milliseconds. This translated to seconds is 125 transactions per second, but the configuration scales in linear mode. In addition, the system is parallelizable increasing processing capacity as the network increases in size.
This puts zkLedger, at the level of high-speed private networks like the case of HyperLedger, with the caveat that your system is more open and public for verification of information.
ZkLedger use cases
As we mentioned at the beginning, the main use case of zkLedger is focused on the opportunity to offer blockchain infrastructure to banks, companies and other financial entities. The usefulness of technology in this environment is unquestionable and it is where its auditing capabilities, speed and privacy properties are most dazzling.
A good use case for technology would be to create a CBDC or central bank digital currency, where the privacy principles that money and these systems must have at all times are really respected.
Another environment that can benefit from this system is that of insurance companies. In these cases, zkLedger can ensure the adequacy of information shared between insurance companies, banks and other entities, all while maintaining the auditability of the system in all senses, without having to reveal sensitive information between the actors involved, including clients and the conditions in which their insurance clauses were activated.
Ethereum 101 Course
Medium levelIn this Ethereum 101 Course you will deepen your crypto knowledge by entering the Ethereum ecosystem and knowing everything about its characteristics, evolution and tools.