이더리움 개발자 Barry가 zkEVM 개인 스마트 계약에 대한 새로운 진행 상황을 발표했습니다. 개인 사용자 상태는 지원하지만 개인 글로벌 상태는 지원하지 않습니다.


이더리움 개발자 barryWhiteHat은 영지식 증명 가상 머신(zkEVM)의 상용화가 흥미로운 기회를 제공한다고 말했습니다. 바로 이더리움 가상 머신(EVM)과의 호환성을 유지하면서 프라이빗 스마트 컨트랙트 인프라를 제공하는 것입니다. 개발자는 Solidity 코드를 작성하고 특정 버전의 Solidity 컴파일러나 후처리 도구를 사용하여 컴파일함으로써 프라이빗 스마트 컨트랙트를 생성할 수 있습니다. 프라이빗 글로벌 상태와 프라이버시 사이에는 중요한 상충 관계가 있는데, 그 핵심은 무언가를 증명하려면 무엇을 증명하는지 알아야 한다는 것입니다. 따라서 자신이 모르는 글로벌 퍼블릭 상태를 가진 프라이빗 스마트 컨트랙트를 만드는 것은 불가능합니다. 마찬가지로 글로벌 프라이빗 상태를 가진 프라이빗 스마트 컨트랙트도 불가능합니다. 예를 들어, 유니스왑(Uniswap)과 같은 애플리케이션은 스왑(트랜잭션)이 올바르게 실행되었음을 증명하기 위해 증명자가 두 풀의 잔액을 알아야 하기 때문에 프라이빗 방식으로 구현할 수 없습니다. 따라서 우리가 알고 좋아하는 많은 애플리케이션은 현재 입출력(IO) 기능 없이는 프라이빗 방식으로 구현할 수 없습니다. 바로 이것이 IO가 매우 중요한 이유입니다. 이를 통해 네이티브 이더리움과 동일한 신뢰 가정을 기반으로 완전히 프라이빗한 이더리움을 구축할 수 있습니다. 하지만 이 글에서는 reth에 pstore와 pload 명령어를 추가하고 이를 영지식증명 가상 머신(zkEVM)으로 컴파일하여 프라이빗 스마트 컨트랙트(프라이빗 사용자 상태는 있지만 프라이빗 전역 상태는 없는 컨트랙트)를 구현하는 방법을 살펴보겠습니다.