@Dusk
Ada pengakuan yang sunyi dalam desain Piecrust bahwa sandbox bukanlah tempat yang tepat untuk semuanya.
Kontrak dijalankan sebagai WebAssembly, yang memberi VM lingkungan eksekusi yang terkontrol.
Yang menarik adalah betapa banyak pekerjaan berat yang sama sekali tidak menyentuh lingkungan WASM itu.
Hash dihitung secara native.
Demikian juga verifikasi bukti ZK, baik PlonK maupun Groth16.
Pemeriksaan tanda tangan juga, Schnorr dan BLS.
Tidak ada yang dijalankan di dalam sandbox saat mengeksekusi kontrak.
Alasannya adalah sebuah angka, dan angkanya kasar.
Riset dari Dusk mencatat bahwa WASM berada di kisaran 45 hingga 255 persen lebih lambat daripada kode native begitu operasinya menjadi kompleks. Verifikasi kriptografi adalah jenis pekerjaan yang perbedaannya benar-benar terasa.
Menerapkan “penalti” itu pada setiap transaksi bukanlah pilihan yang bersedia diambil Dusk, jadi operasi-operasi tersebut ditangani melalui native host functions.
Inilah yang membuat saya berpikir.
Operasi yang dikeluarkan itu tidak asal-asalan.
Hashing, verifikasi bukti, tanda tangan. Itu sebagian besar dari mesin kriptografi yang diandalkan aplikasi privasi seperti Phoenix dan Zedger.
Sandbox menangani logika kontraknya.
Matematika privasinya berjalan di tempat lain.
Jadi sebenarnya tidak ada satu batas eksekusi tunggal di sini. Ada batas VM secara umum, lalu ada “keluar” yang disengaja untuk operasi-operasi tempat eksekusi native paling penting.
Yang masih ingin saya pahami adalah apa yang membuat jalur native itu deterministik di setiap node. WASM memberi Anda lingkungan eksekusi yang sangat eksplisit; begitu sebuah kontrak memanggil sesuatu di luar itu, jaminan apa yang memastikan setiap node tetap menghasilkan hasil yang persis sama?
$DUSK menjadi semakin menarik bagi saya setelah pertanyaan itu punya jawaban nyata di baliknya—bukan hanya native function yang menjalankan pekerjaan lebih cepat.
#dusk
Ada pengakuan yang sunyi dalam desain Piecrust bahwa sandbox bukanlah tempat yang tepat untuk semuanya.
Kontrak dijalankan sebagai WebAssembly, yang memberi VM lingkungan eksekusi yang terkontrol.
Yang menarik adalah betapa banyak pekerjaan berat yang sama sekali tidak menyentuh lingkungan WASM itu.
Hash dihitung secara native.
Demikian juga verifikasi bukti ZK, baik PlonK maupun Groth16.
Pemeriksaan tanda tangan juga, Schnorr dan BLS.
Tidak ada yang dijalankan di dalam sandbox saat mengeksekusi kontrak.
Alasannya adalah sebuah angka, dan angkanya kasar.
Riset dari Dusk mencatat bahwa WASM berada di kisaran 45 hingga 255 persen lebih lambat daripada kode native begitu operasinya menjadi kompleks. Verifikasi kriptografi adalah jenis pekerjaan yang perbedaannya benar-benar terasa.
Menerapkan “penalti” itu pada setiap transaksi bukanlah pilihan yang bersedia diambil Dusk, jadi operasi-operasi tersebut ditangani melalui native host functions.
Inilah yang membuat saya berpikir.
Operasi yang dikeluarkan itu tidak asal-asalan.
Hashing, verifikasi bukti, tanda tangan. Itu sebagian besar dari mesin kriptografi yang diandalkan aplikasi privasi seperti Phoenix dan Zedger.
Sandbox menangani logika kontraknya.
Matematika privasinya berjalan di tempat lain.
Jadi sebenarnya tidak ada satu batas eksekusi tunggal di sini. Ada batas VM secara umum, lalu ada “keluar” yang disengaja untuk operasi-operasi tempat eksekusi native paling penting.
Yang masih ingin saya pahami adalah apa yang membuat jalur native itu deterministik di setiap node. WASM memberi Anda lingkungan eksekusi yang sangat eksplisit; begitu sebuah kontrak memanggil sesuatu di luar itu, jaminan apa yang memastikan setiap node tetap menghasilkan hasil yang persis sama?
$DUSK menjadi semakin menarik bagi saya setelah pertanyaan itu punya jawaban nyata di baliknya—bukan hanya native function yang menjalankan pekerjaan lebih cepat.
#dusk

