Abstract:
The paper presents a method for ensuring data confidentiality with the possibility of validation based on the zk-SNARK zero-knowledge proof protocol. This method allows the creation of zk-SNARK-based algorithms in Ethereum smart contracts code using high-level basic cryptographic schemes that implement logical operations (AND, OR, NOT) and comparison operations. Cryptographic schemes are implemented on the basis of the libsnark library as a rank-1 constraint systems (R1CS). The Ethereum virtual machine has been modified to include functions for schema creation, proof generation and verification.