イーサリアム開発者のバリーは、zkEVMプライベートスマートコントラクトの新たな進捗を発表しました。プライベートユーザーステートはサポートされますが、プライベートグローバルステートはサポートされません。

2025/10/22
イーサリアム開発者のbarryWhiteHat氏は、ゼロ知識証明仮想マシン(zkEVM)のコモディティ化は、イーサリアム仮想マシン(EVM)との互換性を維持しながらプライベートスマートコントラクト基盤を提供するという興味深い機会をもたらすと述べています。開発者は、Solidityコードを記述し、特定のバージョンのSolidityコンパイラまたは後処理ツールでコンパイルすることで、プライベートスマートコントラクトを作成できます。プライベートグローバルステートとプライバシーの間には重要なトレードオフがあり、何かを証明するには、何を証明しているのかを知っていなければならないという事実が中心となっています。したがって、自分が知らないグローバルパブリックステートを持つプライベートスマートコントラクトを持つことは不可能です。したがって、グローバルプライベートステートを持つプライベートスマートコントラクトを持つことも不可能です。例えば、Uniswapのようなアプリケーションは、スワップ(トランザクション)が正しく実行されたことを証明するために、証明者が2つのプールの残高を知る必要があるため、プライベートに実装することはできません。そのため、私たちがよく知っている多くのアプリケーションは、入出力(IO)機能なしではプライベートに実装することが現状では不可能です。だからこそIOは非常に重要なのです。IOは、ネイティブEthereumと同じ信頼前提を持つ、完全にプライベートなEthereumを構築することを可能にします。しかし、この記事では、rethにpstoreとploadオペコードを追加し、ゼロ知識証明仮想マシン(zkEVM)にコンパイルすることで、プライベートスマートコントラクト(ユーザー状態はプライベートだがグローバル状態はプライベートではないコントラクト)を実装する方法を探ります。