精選以太坊開發者barry發布zkEVM私有智能合約新進展:支持私有用戶狀態,但不具備私有全局狀態
金色財經報導,以太坊開發者barryWhiteHat發文稱,隨著零知識證明虛擬機(zkEVM)的商品化,出現了一個有趣的機遇:既能提供私有智能合約基礎設施,又能保持與以太坊虛擬機(EVM)的兼容性。 開發者可以編寫 Solidity 代碼,並通過特定版本的 Solidity 編譯器或一些後處理工具進行編譯,從而創建私有智能合約。圍繞私有全局狀態與隱私存在一些重要的權衡,其核心原因在於:要進行證明,就必須知道自己要證明的內容。 因此,無法存在這樣一種私有智能合約 —— 它擁有你並不知曉的全局公開狀態。 由此可推,也無法存在帶有全局私有狀態的私有智能合約。 例如,Uniswap這樣的應用就無法以私有形式實現,因為證明者需要知曉兩個資金池的餘額,才能證明一筆 swap(交易)的執行是正確的。因此,一些我們熟知且青睞的應用,目前無法以私有形式實現,除非我們擁有輸入輸出(IO)功能 —— 這正是 IO 至關重要的原因。 它能讓我們構建一個完全私有的以太坊,且其信任假設與原生以太坊完全一致。不過,本文旨在探討如何通過在 reth 中添加 pstore 和 pload 這兩個操作碼,將其編譯到零知識證明虛擬機(zkEVM)中,從而實現一種私有智能合約 —— 這類合約擁有私有用戶狀態,但不具備私有全局狀態。