- Permissionless Confidential Ring
- Custom Confidential Ring
- Custom Anonymous Ring
Dompet Privat dan Pengguna
Pengguna menyimpan saldo terenkripsi dalam Dompet Privat dan menandatangani transaksi privat dengan kunci Solana Ed25519 yang sudah mereka miliki. Integrasi dompet privat menambahkan pasangan kunci terlindung ke pengelolaan kunci Anda. Anda dapat mengintegrasikannya sendiri atau menggunakan Dompet Privat Tersemat.Transaksi Privat
Transfer privat adalah transaksi Solana biasa. Runtime Solana memverifikasi tanda tangan dan memanggil Solana Privacy Program, yang memverifikasi bukti ZK tanpa mengungkapkan status terenkripsi. Transfer rahasia pada umumnya menggunakan sekitar 927 byte, masih jauh di bawah batas 4.096 byte pada v1.Example Confidential Transfer
Example Confidential Transfer
Untuk contoh transfer rahasia dengan 2 input dan 3 output dalam spesifikasi.
Lihat kode sumber: Spesifikasi · xtask/src/main.rsLihat tata letak transaksi Solana v1.
RPC
Satu menyediakan RPC Solana, pengindeks, dan pembukti jarak jauh.- RPC Solana – Mengembalikan saldo publik dan mengirimkan transaksi ke jaringan Solana.
- Pengindeks – Pengindeks menyediakan status terenkripsi yang diperlukan dompet untuk membaca saldo dan membuat transaksi privat; siapa pun juga dapat menjalankan pengindeks mereka sendiri tanpa izin sebagai cadangan.
- Pembukti – Bukti zero-knowledge dapat dibuat secara lokal atau oleh server pembukti dalam hitungan milidetik, tergantung pada transaksi dan perangkat keras. Helius menggunakan pembuktian berbasis GPU.
Privasi dan Program Solana
Solana Privacy Program (SPP) adalah program utama yang memverifikasi dan mengeksekusi semua transisi status privat. Program Ring kustom dan program ZK Solana menambahkan logika kepatuhan atau aplikasi, lalu memanggil SPP untuk memperbarui status privat. Program Solana lainnya dapat berinteraksi dengan program-program ini melalui CPI dalam transaksi yang sama, sesuai batas transaksi Solana, seperti batas kedalaman CPI sebesar 5.ZK Program Transaction Flow
ZK Program Transaction Flow
- Permissionless Ring
- Custom Rings
- ZK Program alone
- ZK Program and additional Solana Program
Solana Privacy Program (SPP)
Solana Privacy Program memverifikasi bukti zero-knowledge dan memperbarui status privat. Gunakan program ini untuk menyetor token, mentransfer saldo privat, dan menarik token ke akun publik. Program lain memanggil SPP melalui CPI untuk mengeksekusi transisi status privat.Program Ring Kustom
Program Ring Kustom menetapkan izin transfer dan otoritas tambahan apa pun, serupa dengan Token-2022. Gunakan program ini untuk mengonfigurasi auditor, mewajibkan penanda tangan bersama, atau mengizinkan otoritas membekukan saldo. Program ini memverifikasi bukti ZK untuk menerapkan logika kepatuhan kustomnya, lalu memanggil SPP untuk memperbarui status privat.Program ZK Solana
Program zero-knowledge (ZK) Solana memungkinkan escrow privat dalam program Solana untuk menerapkan logika aplikasi pada saldo privat. Anda dapat membuat swap privat, staking, pinjaman, dan lainnya dengan program ZK Solana. Sebagai contoh, swap rahasia dapat menerapkan jumlah dan harga yang telah disepakati tanpa menjadikannya publik. Program ini memverifikasi bukti ZK dari logika aplikasinya, lalu memanggil SPP secara langsung atau melalui program Ring Kustom untuk memperbarui status privat.Pohon Merkle Status dan Forester
Default Ring dan semua Custom Ring menyimpan status privat dalam akun pohon Merkle status yang dikelola oleh node Forester. Akun pohon membuat komitmen terhadap status privat tanpa menyimpannya dalam akun Solana terpisah. Oleh karena itu, Anda membaca saldo dan riwayat transaksi dengan metode RPC pengindeks khusus, sepertigetShieldedTransactionsByTags, bukan dengan metode akun Solana seperti getAccountInfo. Lihat Membaca Saldo Privat dan Membaca Riwayat Transaksi Privat.
Throughput
Pohon disimpan dalam satu akun Solana yang dapat ditulis. Transfer privat yang menulis ke akun ini berbagi batas kunci tulis per akun sebesar 12 juta CU per blok di Solana. UTXO yang berbeda dapat dibelanjakan secara independen, tetapi transaksi yang menulis ke pohon yang sama tetap berbagi kunci akun dan batas komputasi Solana. Transfer rahasia menggunakan sekitar 140.000 CU dalam tolok ukur instruksi. Dengan demikian, satu pohon mendukung sekitar 86 transfer privat per blok, atau sekitar 215 transaksi per detik dengan waktu blok Solana saat ini sekitar 400 milidetik. Protokol dapat menambahkan lebih banyak pohon untuk meningkatkan throughput. Setiap pohon merupakan akun terpisah yang dapat ditulis dengan anggaran komputasi per akunnya sendiri, sehingga transaksi pada pohon yang berbeda tidak bersaing untuk mendapatkan anggaran kunci tulis yang sama.Antarmuka SPL
Antarmuka SPL memungkinkan interoperabilitas antara token yang disimpan secara publik dan privat. Antarmuka ini merupakan escrow per mint yang dapat dibuat tanpa izin, tetapi hanya boleh dibuat satu kali per mint.- Saat menyetor aset SOL dan SPL ke saldo privat, PDA antarmuka yang dimiliki oleh Solana Privacy Program menyimpan token dalam escrow dan membuat UTXO dengan pengguna sebagai pemilik.
- Saat menarik ke saldo publik, UTXO yang ada ditandai sebagai telah dibelanjakan dan token dilepaskan ke akun token Solana.
Pelajari Lebih Lanjut
Overview
Ring, jaminan privasi, dan alur transaksi.
Private State and UTXOs
Cara saldo privat disimpan dan dibelanjakan.
Encryption and Privacy Guarantees
Cara aset dienkripsi dan peran pasangan kunci terlindung.
Custom Enterprise Rings
Pelajari cara mengonfigurasi Ring kustom.