Wanted to make this post as it seems to me that more people are catching on to the idea of having privacy/confidentiality on-chain, Charles has talked about it as did Vitalik. So it is important to understand the 2 different ways of approaching privacy. A protocol uses TEEs or ZK proofs to provide privacy on-chain, is one just simply superior over the other, or is there something else going on here?

TEEs are secure areas of a computer or mobile device that ensure that sensitive information is processed securely. They are used to create a secure environment for sensitive operations like private key generation and signing. Examples of networks using TEEs are Oasis Network (ROSE) and Secret Network (SCRT).

ZK proofs, on the other hand, are a method for proving the validity of a statement without revealing any information about the statement itself. They are used to prove that a certain computation was performed without revealing the input or output of the computation. ZK proofs are used in many protocols, such as Zcash and Ethereum’s ZK rollup, to ensure privacy and scalability.

It still sounds kinda similar, doesn’t it? Both provide privacy of sensitive information, but just one (TEEs) is able to be used for Multi-Party Computation(MPC). MPC is a method of securely computing a function across multiple distributed nodes, without any single node seeing the inputs of the other nodes. TEEs provide a secure environment for this type of computation by isolating the inputs and outputs of each node and ensuring that they cannot be accessed by any other node. This allows for secure, private and verifiable computation among multiple parties.

ZK proofs are typically used to prove the validity of a statement without revealing any information about the statement itself, but they do not inherently provide a way to perform computation across multiple nodes without revealing the inputs or outputs of the computation.

That being said, there are some research on the topic of using ZK proof for MPC, for example, the work on zk-SNARKs and zk-STARKs, which are a type of ZK proof that can be used to perform computations more efficiently, but still the overhead and complexity of the proof generation and verification process is high and not yet widely adopted.

Using TEEs does have its drawbacks though, trustworthiness. TEEs are designed to be secure and trustworthy, but there is always a risk of hardware vulnerabilities or supply chain attacks that could compromise the security of the TEE.

So if a company wants to do privacy computation with sensitive data they probably need TEEs to make this possible, but it isn’t necessarily the most secure option out there due to there maybe be a hardware vulnerability of some sort.

Does this possibly make TEEs useless as you can not trust them 100%? No certainly not, TEEs make a lot possible that ZK proofs do not, as pointed out by this very recent paper of Vitalik, Ari Jules et al. A lot of the interesting applications for privacy like big datasets for healthcare and whatnot have to be done with MPC due to its size.

So just wanted to get this information out there, not trying to say ZK proofs are useless just wanted to point out that it isn’t the only thing out there. Disclaimer: My portfolio is mostly companies that use TEEs.

submitted by /u/WingChungGuruKhabib
[link] [comments]

This post was originally published on this site