Saya melihat postingan KOL minggu lalu yang mengklaim DuskEVM setara EVM dan Uniswap V3 dideploy langsung. Saya melakukan fork V3 Core dan mengompilasinya di Boreas RC1 untuk memeriksa.

Kesalahan pertama terjadi di Pair.sol.

balanceOf membaca _reserves dari penyimpanan EVM publik. Lapisan privasi DuskEVM merutekan kedalaman likuiditas melalui Hedger. Variabel Hedger tidak tersimpan di penyimpanan EVM. Jadi setiap fungsi view yang membaca reserves akan menemui jalan buntu. Mint, burn, dan swap Uniswap semuanya bergantung pada pembacaan reserves secara sinkron untuk menghitung constant product. Seluruh jalur aritmetika itu harus di-override dari nol.

Masalah shielding pool berjalan lebih dalam lagi. Token LP Uniswap adalah standar ERC-20 dengan transfer yang terlihat publik. LP rahasia di DuskEVM perlu dibungkus ulang dengan ConfidentialERC20. Saldo LP bergerak di dalam catatan Zedger. Swap tidak lagi memperbarui pemetaan reserves. Mereka mengonsumsi catatan lama dan membuat catatan baru dengan jumlah yang didukung oleh bukti PLONK.

getAmountOut tidak bisa bekerja dengan cara yang sama. Versi aslinya membagi reserveIn dan reserveOut secara terbuka. Versi Dusk harus membuktikan di dalam circuit bahwa catatan lama dikurangi input sama dengan catatan baru ditambah output. Input dan output tetap tidak terlihat bagi market makers, tetapi tetap dapat diverifikasi oleh siapa pun yang memegang view key.

Pada hari kedelapan saya mencoba meng-inherit Pair dari kelas basis ConfidentialERC20. Konflik signature pada fungsi permit langsung terjadi. Hedger approve menggunakan konsumsi catatan, bukan bitmap allowance ERC20. SafeCast harus beralih ke HedgedUint256 di seluruh bagian.

Minimum rewrites yang diperlukan: kontrak Pair, perhitungan amount di Router, dan sampling Oracle TWAP. Target sampling menjadi komitmen catatan yang tidak bisa dibaca secara langsung.

Yang berlanjut: sintaks Solidity, Foundry, Remix, konfigurasi chainId. Tooling di sekitarnya bekerja. Logika Core AMM tidak bisa bermigrasi tanpa perombakan besar.

EVM-equivalent berarti lingkungannya terasa familiar. Itu tidak berarti kontrak yang ada dapat berjalan tanpa perubahan saat privasi ikut terlibat.

#dusk $DUSK @Dusk