為了構建我在這個主題中提到的專案,我開始學習零知識證明。我似乎理解的是,ECDSA簽名方案和SHA-3雜湊(以前稱為Keccak)在零知識證明中表現不佳,因為它們會導致巨大的電路。據我所知,使用特定曲線的EdDSA和Poseidon雜湊在這方面要好得多,其電路可能小几百倍。
雜湊和驗證簽名是Solidity智慧合約中非常常見的用例,但Solidity使用SHA-3進行雜湊,據我所知,所有以太坊錢包都基於ECDSA。這是否意味著所有Solidity智慧合約在零知識證明中本質上很難證明?如果是這樣,Polygon zkEVM是如何解決這個問題的?它使用什麼樣的零知識證明方案(Groth16 / PLONK / PLONKish / Halo2 / 其他)?




