zk Application

The concept and application of zk is evolving fast. It was good to use zk to achieve linear regression before, but now we have to use zk to do neural networks and social graphs, etc.

Two properties: privacy preservation and scalability, besides zk can ensure the trust of data and computation.

privacy

  1. Proof of membership,from membership proof of set to the merkle tree proof recently more efficient proof than merkle proof is proposed: Caulk: Lookup Arguments in Sublinear Time

  2. Holding centralized parties accountable

    The centralized server proves the correctness of the aggregation operation and generates a zero-knowledge proof.

    For example: The maci: Minimal anti collision infrastructure coercion-resistant voting system. Voters submit votes encrypted with the key of a central operator, The operator in All votes are decrypted on the chain, and then counted to reveal the final result. In addition, it is necessary to prove that they are indeed counted normally through zk-SNARK. This additional complexity is a necessary overhead to ensure strong privacy properties,

  3. Combining ZK-SNARKs with MPC

    generate proof for inputs from multi-party, while protecting the privacy of each party.

    A more advanced use of ZK-SNARKs involves making proofs over computations where the inputs are split between two or more parties, and we don't want each party to learn the other parties' inputs. You can satisfy the privacy requirement with garbled circuits in the 2-party case, and more complicated multi-party computation protocols in the N-party case. ZK-SNARKs can be combined with these protocols to do verifiable multi-party computation.

    This could enable more advanced reputation systems where multiple participants can perform joint computations over their private inputs, it could enable privacy-preserving but authenticated data markets, and many other applications. That said, note that the math for doing this efficiently is still relatively in its infancy.

  4. ZKPs can be used to preserve data privacy in areas such as health care, communications, finance and civic tech.

    1. An interesting use case in finance is a proposal from ING to prove that a number is within a specific range without revealing that number.

      The Dutch bank ING has built a variation of this concept called “Zero Knowledge Range Proof“. The system is designed to prove that a number is within a given range, without revealing the value of number. ING's blockchain team notes that this can be used for instance to verify if your salary is sufficient to get a loan, without actually revealing how much you make.

    2. The AdEx Network allows for decentralized, ZKP advertisement auctions in which a user can bid for the price of placing an ad without revealing what that price is to other users.

    3. Z-Cash, a cryptocurrency that allows for private transactions.

  5. blockchain with zk

    blockcahin provide the censorship resistance, transaction guaranteed execution and other guarantees, but with two costs, scalability and privacy. Luckily, the two property, zero-knowledge, succinct of ZK-SNARK can make it up exactly.

    There are social connections and interactions between the accounts of the blockcahin, which can explore using historical data.

    Explore ways to make proofs about this kind of shared network. For instance, I can prove with a group of people that there are two steps between me and a person in the social graph.

  6. interoperability application

    Just like applications can be divided into scalability application and privacy application, zk may bring another category: interoperability application. For example, the signature of github commit, rsa signature and authentication, etc., zk can generalize the unique signatures of these different platforms and become interactive, for example: rsa signature can only be verified by the other party running rsa verfication, but zk can implemente that: Include the rsa private key to the github account, or claim to have the ecdsa private key of the Ethereum account.