Zero-Knowledge Cryptography
Details on Portal Gate's zk-SNARKS
Portal Gate heavily leverages Zero-Knowledge Proofs (ZKPs). ZKPs allow for advanced logic and contract interactions without any information leakage and are a revolutionary tool for privacy preservation.
What is a zk-SNARK?
Zero-Knowledge proofs are methods whereby one party, the prover, can mathematically satisfy another party, the verifier, the veracity, or truth of information without revealing the originating details of the information. This is achieved by the prover passing components of mathematical problems that relate to the truth of the information being proved onto the verifier multiple times. These interactions occur until the verifier is satisfied that it is statistically impossible for the information to not be true or is being faked by the prover, all without revealing the contents of the verified information.
zk-SNARK stands for โZero-Knowledge Succinct Non-Interactive Argument of Knowledgeโ. Put simply, a zk-SNARK is a form of ZKP that does not require direct interaction between the prover and verifier. Rather, they achieve their non-interactivity through the prover simulating the interactions between the prover and verifier, and the verifier simply needs to check that the simulation was performed correctly. These proofs rely on computational assumptions that cannot be cracked or will take millions of years to crack with currently available computational power.
For zk-SNARKs to be โsuccinctโ, the proof size and verification cost must be small, logarithmic, or lower. Elliptic curves allow for smaller key generation and therefore more succinct ZKP outputs. Elliptic Curve Cryptography use points on an elliptic curve graph to generate public and private keys from mathematical equations between the points on the curve. They form the basis of the Portal Gate privacy system as zk-SNARKs allow a smart contract to act as a verifier. The verifiers in Portal Gate's privacy system are the smart contracts themselves. This breakthrough was powered by EIP 197 and EIP 198 which together enables Portal Gate to generate zk-SNARK circuits on-chain. These zk-SNARK circuits are created on the client side and can then be submitted for confirmation on-chain.
zk-SNARKs can prove the veracity of any form of information, such as valid unspent token balances or, in other terms, who has the right to spend what asset on a blockchain without revealing details about the person originating the transaction.
What is a circuit?
Within Portal Gate, zk-SNARKs take the form of arithmetic circuits. Arithmetic circuits are like Boolean circuits or even hardware circuits in computers/electronics. Like all other circuits, they contain wires and gates. Wires transmit information and gates are conditions that must be met for information to move through until it reaches an output. In an arithmetic circuit like the ones used in Portal Gate, the gates are mathematical operations like addition or multiplication. In the context of Portal Gate's zk-SNARKs, circuits are how verifiers can reach mathematical certainty that provers are providing true information.
For Portal Gate's privacy system, zk-SNARK circuits prove the validity of a transaction senders address and balances by checking they have a corresponding note on the Merkle Tree.
Last updated