Pengembang Ethereum barryWhiteHat menulis bahwa dengan komersialisasi zero-knowledge proof virtual machine (zkEVM), muncul peluang menarik: teknologi ini dapat menyediakan infrastruktur smart contract privat sambil tetap mempertahankan kompatibilitas dengan Ethereum Virtual Machine (EVM). Para pengembang dapat menulis kode Solidity dan mengompilasinya melalui versi khusus dari compiler Solidity atau beberapa alat pasca-pemrosesan untuk membuat smart contract privat.
Ada beberapa kompromi penting terkait status global privat dan privasi, dengan alasan inti: untuk membuktikan sesuatu, Anda harus mengetahui apa yang sedang Anda buktikan. Oleh karena itu, smart contract privat tidak dapat eksis jika memiliki status publik global yang tidak Anda ketahui. Akibatnya, smart contract privat dengan status global privat juga tidak dapat eksis. Sebagai contoh, aplikasi seperti Uniswap tidak dapat diimplementasikan dalam bentuk privat karena pihak pembukti perlu mengetahui saldo dari dua pool likuiditas untuk membuktikan bahwa transaksi swap dijalankan dengan benar.
Oleh karena itu, beberapa aplikasi yang terkenal dan banyak diminati saat ini tidak dapat diimplementasikan dalam bentuk privat kecuali kita memiliki kapabilitas input-output (IO) - inilah alasan mengapa IO sangat penting. IO memungkinkan kita membangun Ethereum yang sepenuhnya privat, dengan asumsi kepercayaan yang identik dengan Ethereum asli.
Namun, artikel ini bertujuan untuk mengeksplorasi bagaimana mengompilasi operasi pstore dan pload ke dalam zero-knowledge proof virtual machine (zkEVM) dengan menambahkannya ke reth, guna mencapai smart contract privat - kontrak ini memiliki status pengguna privat tetapi tidak memiliki status global privat.