Ethereum developer barry has announced new progress on zkEVM private smart contracts: it supports private user states but does not have private global states.
Jinse Finance reports that Ethereum developer barryWhiteHat stated that with the commercialization of the zk-SNARKs Virtual Machine (zkEVM), an interesting opportunity has emerged: it can provide private smart contract infrastructure while maintaining compatibility with the Ethereum Virtual Machine (EVM). Developers can write Solidity code and compile it using a specific version of the Solidity compiler or some post-processing tools to create private smart contracts.
There are some important trade-offs surrounding private global state and privacy, primarily because: to prove something, one must know what they are proving. Therefore, there cannot exist such a private smart contract - one that has a global public state that you are not aware of. It follows that there cannot exist a private smart contract with a global private state. For example, applications like Uniswap cannot be implemented in a private manner because the prover needs to know the balances of the two liquidity pools in order to prove that a swap transaction is executed correctly.
Therefore, some applications that we are familiar with and favor cannot currently be implemented in a private form unless we have input-output (IO) functionality — this is precisely why IO is critical. It allows us to build a completely private Ethereum, and its trust assumptions are entirely consistent with those of native Ethereum.
However, this article aims to explore how to implement a private smart contract by adding the two opcodes pstore and pload in reth and compiling it into the zk-SNARKs Virtual Machine, which has a private user state but does not have a private global state.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Ethereum developer barry has announced new progress on zkEVM private smart contracts: it supports private user states but does not have private global states.
Jinse Finance reports that Ethereum developer barryWhiteHat stated that with the commercialization of the zk-SNARKs Virtual Machine (zkEVM), an interesting opportunity has emerged: it can provide private smart contract infrastructure while maintaining compatibility with the Ethereum Virtual Machine (EVM). Developers can write Solidity code and compile it using a specific version of the Solidity compiler or some post-processing tools to create private smart contracts. There are some important trade-offs surrounding private global state and privacy, primarily because: to prove something, one must know what they are proving. Therefore, there cannot exist such a private smart contract - one that has a global public state that you are not aware of. It follows that there cannot exist a private smart contract with a global private state. For example, applications like Uniswap cannot be implemented in a private manner because the prover needs to know the balances of the two liquidity pools in order to prove that a swap transaction is executed correctly. Therefore, some applications that we are familiar with and favor cannot currently be implemented in a private form unless we have input-output (IO) functionality — this is precisely why IO is critical. It allows us to build a completely private Ethereum, and its trust assumptions are entirely consistent with those of native Ethereum. However, this article aims to explore how to implement a private smart contract by adding the two opcodes pstore and pload in reth and compiling it into the zk-SNARKs Virtual Machine, which has a private user state but does not have a private global state.