Lto privacy in blockchain It is always a field in constant research, and a clear example of this is the zkLedger, a technology that seeks 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?
Do you want to start enjoying the world of cryptocurrencies? Then it is time to open your Bit2Me user account. It is very easy to do and, in addition, following this link You will get € 5 totally free on your first purchase at Bit2Me.
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 the participants of the ledger 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, to create a system that can be easily audited, without at any time reducing the privacy of the people who use said system.
To achieve this, zkLedger supports its auditing system on a cryptographic proof 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 only rely on widely used cryptographic assumptions. Furthermore, these cryptographic assumptions are simpler to program and therefore easier to debug and implement.
Integrity is the key by zkLedger
On the other hand, zkLedger provides an integrity system. This integrity system is based on the fact that the ledger, or ledger, you cannot hide transactions from the auditor, and participants can use mechanisms to produce and verify transactions quickly. This feature offers two benefits:
- The network's auditing capacity guarantees 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 else. That is, 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 in an "open" way to the public.
- It offers a very high processing speed, since Schnorr tests are shorter, easier to generate and process. In addition, the use of cache makes the transaction and auditing system fast. A good example of this is that an audit process on a zkLedger can take about 10 milliseconds to verify 100 thousand transactions.
Audits, the forte of zkLedger
The above is enhanced due to the fact that; zkLedger has from its bases and code a series of functionalities designed to make auditability a maximum of its design. For example, zkLedger has native auditing functions, which allow you to easily obtain sums, moving averages, variance, standard deviation, and proportions.
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, financial services that want and require this level of audit in order to comply with regulatory requirements, but at the same time, want 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 has, as we already discussed, the goal of maintaining a high level of privacy and auditing on its systems. To achieve both goals, zkLedger bases its cryptographic performance on a new type of ZKP tests of the Schnorr type, to be more precise, Schnorr General Tests and a Pedersen compromise system.
The Pedersen commitments allow zkLedger to maintain the privacy of the system and at the same time accept the operation of an audit system. This is possible because the Pedersen engagements allow zkLedger to create consensus-level structures of the network, which the auditor can then verify and do their job. The auditor, in any case, will only be able to access that information that he needs, and that 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 job 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 commitments (a complex mathematical system) and ZKP of the Schnorr type, also tells us that zkLedger is a network created to be highly efficient. Schnorr is a technology designed on the principle of being fast to generate, fast to verify and taking up 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 work. Additionally, storage requirements are drastically reduced as well.
In addition to this, the zkLedger verification consensus implements a very interesting role system to provide very fast transactions. First, the participants do not have to interact to build the evidence for the transaction, instead the spender can create the transaction on their own. At this point, if a malicious actor tries to encode incorrect values in the commitments of other actors, these will fail since only the parties that have the information corresponding to the expense (the spender who built the transaction, the collector who knows how much he has to pay) They can respond with certainty to the cryptographic test and post-audit of the network.
This system is known as the zkLedger audit and consistency test token, and it can be publicly verified, allowing payment security, and at the same time, that these are very fast. In addition, 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 tests that prevent 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:
- Make zkLedger a high-speed network.
- Make it impossible to hide balances or account information.
In this sense, Proof of Balance fully meets both needs by 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 that transaction. The objective of this first system is to ensure that:
- A transfer transaction cannot create or destroy assets.
- The “expense bank” must consent to the transfer.
In this situation, zkLedger has created a series of cryptographic tests to ensure that the spender can handle those funds and use them freely and autonomously. The first of those tests is the Balance Test. This test shows that the spender really has assets for the operation. This is followed by a second test to ensure that the "bank" actually has the assets to transfer. This is possible thanks to the Assets Test, the idea of this test 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 Asset Test is in charge of cryptographically verifying 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 their commitments to the Auditor. In this way, the system is protected so that everyone can participate in it under equal conditions.
Proof of Balance (PoBal) is the key to zkLedger's high operating speed. In laboratory tests, zkLedger was able to offer far superior performance to other known blockchain technologies. On a network of 12 Xeon servers (4 Core) and 24 GB of RAM, zkLedger was able to:
- Audit 100 transactions in 6 milliseconds, in online mode.
- Audit 100 transactions in 3500 milliseconds, in offline mode.
- Create an entry (transaction) in 8 milliseconds. This translated into seconds is 125 transactions per second, but the setting scales in linear mode. In addition, the system is parallelizable, thereby increasing the 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 exception that its system is more open and public for the verification of information.