Saya mendaftar untuk mencoba gym bulan lalu, dan mereka memberi saya kartu kunci yang hanya berfungsi di loker nomor 14, dan hanya pada pukul 6 sampai 8 pagi. Bukan loker 15, bukan ruang ganti di bawah, bukan setelah sesi saya berakhir. Rahasianya bukan pada kartu itu sendiri. Setiap anggota bisa memegang persegi panjang plastik. Rahasianya adalah kombinasi kode kartu, nomor loker, dan rentang waktu. Jika saya mencobanya pada loker yang salah, pembaca berbunyi merah. Jika saya mencoba pada siang hari, hal yang sama terjadi. Ikatan itulah yang menjadi inti. Gym tidak perlu tahu apa yang saya simpan di dalam, handuk, dompet, laptop. Mereka hanya perlu memastikan bahwa hanya orang yang tepat yang membuka pintu yang tepat pada waktu yang tepat.
Jenis pengikatan ke konteks seperti itulah yang dilakukan Newton pada SecureEnvelope untuk data transaksi sensitif. Sebelum pengguna mengirim intent yang mungkin melibatkan dokumen KYC, catatan keuangan, atau bukti kepatuhan, mereka mengenkripsi data tersebut secara lokal menggunakan HPKE, standar Hybrid Public Key Encryption dari RFC 9180. Sistem kunci publik threshold X25519 membungkus plaintext menjadi sebuah ciphertext. Tapi enkripsi saja bukan bagian yang cerdik. Yang cerdik adalah bahwa envelope yang dihasilkan—struktur JSON berisi enc, ciphertext, policy_client, chain_id, dan recipient_pubkey—juga diikat ke konteks eksekusi spesifik melalui AAD, additional authenticated data. Dokumentasi menyatakan bahwa AAD adalah keccak256 dari byte policy_client yang dipaketkan dan chain_id. Lapisan AEAD, ChaCha20-Poly1305, mengautentikasi AAD ini bersama ciphertext. Jika seseorang mencegat envelope tersebut dan mencoba mengirimkannya ke PolicyClient yang berbeda, atau mengulanginya di chain yang berbeda, tag autentikasinya gagal. Dekripsinya tidak hanya gagal dengan sopan. Ia gagal secara kriptografis. Konteksnya dipanggang langsung ke dalam matematikanya.
Jadi SecureEnvelope menyembunyikan plaintext dari siapa pun yang tidak memiliki kunci dekripsi, dan mengunci ciphertext ke tujuan tertentu. Anda tidak bisa memindahkannya. Kartu gym hanya berfungsi untuk loker 14 pukul 7 pagi.
zkVM RISC Zero mengambil cabang lain di jalan. Alih-alih mengenkripsi data dan mengikatnya ke konteks validasi tertentu, ia membuktikan bahwa sebuah komputasi berjalan dengan benar atas input privat tanpa pernah menampilkan input-input itu. Anda menulis program yang dijalankan di dalam zkVM. Program itu mengambil input publik dan input privat. zkVM menghasilkan bukti, sebuah artefak kriptografis kecil, yang menyatakan bahwa program ini, dengan input publik dan input privat yang tersembunyi tersebut, menghasilkan output spesifik ini. Bukti bisa diverifikasi di on-chain oleh kontrak verifier. Input privat tidak pernah keluar dari zkVM. Verifier hanya mempelajari output dan fakta bahwa komputasi benar, tidak lebih.
Saya tidak memiliki dokumentasi RISC Zero terbuka, jadi saya bekerja dari apa yang sudah saya kumpulkan. Pemahaman saya: pembuatan bukti itu komputasinya berat, meskipun sekarang makin cepat, sedangkan verifikasi di on-chain itu murah dan ukurannya konstan. Enkripsi Newton HPKE cepat, dilakukan di sisi klien, dan dekripsi operator selama konsensus menambah latensi dari pertukaran share threshold, bukan komputasi berat per operator. Pekerjaannya saja yang berpindah tempat.

Perpecahan yang lebih dalam adalah apakah data perlu dilihat sama sekali selama evaluasi. Model Newton mengasumsikan kuorum operator harus sebentar merekonstruksi plaintext di memori, di bawah kondisi ketat: DKG threshold memastikan tidak ada satu operator pun yang memiliki kunci penuh, dan otorisasi dual Ed25519 mengharuskan pengguna dan dApp menandatangani sebelum dekripsi. Datanya terlihat, tetapi hanya secara kolektif, dan hanya untuk PolicyClient tertentu serta rantai yang memang dimaksud pengguna. AAD menegakkan konteks ini. Ini masuk akal ketika evaluasi kebijakan mengharuskan memeriksa data, mencocokkan kolom KYC, memeriksa nama terhadap daftar sanksi, dan membandingkan angka-angka finansial. Operator perlu membaca plaintext untuk menjalankan aturan Rego.
zkVM RISC Zero mengasumsikan tidak ada yang boleh melihat data selain prover. Verifier mempercayai bukti, bukan prover. Tidak ada risiko kolusi operator karena tidak ada pihak ketiga yang pernah menyentuh plaintext. Tapi komputasinya harus dapat diekspresikan sebagai program yang muat di dalam batasan zkVM. Jika logika kebijakannya kompleks, bercabang, mengambil dari banyak sumber data, itu mungkin sulit untuk dibuktikan dalam rangkaian zero-knowledge tanpa rekayasa yang signifikan. Kebijakan Rego Newton bisa sekompleks yang diperlukan, dievaluasi di memori biasa oleh operator.
Saya terus berpikir tentang siklus hidup kunci utama Newton. Dokumentasinya mengatakan pasangan kunci threshold diregenerasi selama upacara DKG hanya ketika himpunan operator berubah, bukan per tugas. Tapi jika kunci berotasi, apa yang terjadi pada envelope yang dienkripsi menggunakan kunci lama? Apakah share kunci lama disimpan untuk mendekripsi data yang sebelumnya diunggah, atau envelope tersebut menjadi tidak bisa dibaca selamanya? Dokumentasinya tidak menjelaskan. Jika kunci-kunci lama dibuang, data terenkripsi memiliki masa pakai yang terkait dengan stabilitas himpunan operator. Itu mungkin bisa diterima jika datanya sementara, terkait dengan satu evaluasi kebijakan. Tapi itu akan jadi masalah untuk data identitas tersimpan yang direferensikan di beberapa tugas. Saya menduga ada semacam versioning kunci, tapi saya belum menemukan detailnya.
Pilihan antara dua model ini bukan tentang teknologi mana yang lebih baru atau lebih cepat. Ini tentang apakah Anda mampu membiarkan kuorum operator melihat plaintext sama sekali. Newton mengatakan ya, selama dekripsi di-gate secara threshold dan terikat pada konteks. RISC Zero mengatakan tidak, dan memindahkan kepercayaan ke sistem bukti. Gym mempercayai sistem keycard agar mengikat kode dengan loker dan waktu dengan benar, tapi mereka tidak pernah perlu melihat bagian dalamnya. Pendekatan ZKP akan seperti membuktikan Anda berhak membuka loker tanpa pernah menunjukkan kartu—hanya bukti matematis bahwa Anda mengetahui kodenya. Gym akan mempercayai bukti itu, dan barang-barang Anda tetap tersembunyi. Tapi jika gym perlu memeriksa apa yang ada di dalam, misalnya karena kebijakannya melarang makanan dari luar atau semacamnya, mereka perlu membukanya. Di situlah model Newton cocok. Kadang-kadang verifier perlu melihat isi, tidak hanya tahu bahwa itu valid. Saya masih belum yakin seberapa sering kebutuhan itu benar-benar muncul. Jawabannya kemungkinan bergantung pada seberapa banyak logika kepatuhan dunia nyata yang bisa diekspresikan sebagai predikat yang dapat diverifikasi dibandingkan seberapa banyak yang memerlukan inspeksi seperti manusia terhadap data. Garis itu masih agak kabur.
@NewtonProtocol #Newt $NEWT
