Apa itu Private Channel?
Private channel adalah jaringan pembayaran off-chain yang terhubung ke Solana. Pengguna menyetor token SPL ke dalam program escrow on-chain, lalu bertransaksi secara off-chain melalui gateway dengan kecepatan tinggi dan tanpa biaya per transfer. Penyelesaian kembali ke Solana Mainnet dilakukan melalui bukti Sparse Merkle Tree, memastikan dana selalu dapat dicairkan dan double-spend tidak mungkin terjadi.
Tidak seperti alur pembayaran native Solana, transfer di dalam sebuah channel tidak muncul di on-chain hingga pengguna melakukan penarikan. Jaringan channel menjalankan pipeline transaksinya sendiri (dedup -> sig verify -> sequencer -> executor -> settler) yang memproses transaksi secara independen dari waktu blok Solana.
Peserta
Admin Instance
Admin men-deploy PDA Instance melalui CreateInstance dan mengontrol mint token SPL
mana yang diterima (AllowMint / BlockMint). Admin menyediakan dan
mencabut akses operator melalui AddOperator / RemoveOperator, serta dapat mengalihkan hak admin
melalui SetNewAdmin. Terdapat satu admin per instance. Pengalihan hak admin
bersifat permanen dalam satu langkah: admin saat ini tidak dapat mengklaim kembali peran tersebut
tanpa kerja sama admin baru.
Operator
Operator disediakan oleh admin. Mereka memegang PDA Operator dan merupakan
satu-satunya akun yang diizinkan untuk memanggil ReleaseFunds (untuk menyelesaikan penarikan ke
Mainnet) dan ResetSmtRoot (untuk merotasi Sparse Merkle Tree). Operator melewati
semua pemeriksaan kepemilikan di gateway dan memiliki akses ke semua metode JSON-RPC
termasuk getBlock, getTransaction, dan simulateTransaction. Peran JWT:
"operator". Operator harus disediakan langsung di database; tidak ada
eskalasi mandiri. Lihat
panduan Operator untuk detail deployment dan
konfigurasi.
Pengguna
Pengguna mendaftarkan diri melalui Auth Service. Peran JWT: "user". Pengguna dapat memanggil
Deposit langsung pada Escrow Program dan memulai penarikan melalui
instruksi WithdrawFunds pada sisi channel di Withdraw Program. Akses gateway
dibatasi hanya untuk dompet terverifikasi milik mereka sendiri; mereka tidak dapat memanggil getBlock,
getTransaction, atau simulateTransaction.
Siklus Hidup Channel
- Pembuatan instance - Admin memanggil
CreateInstance, membuat PDAInstancedan mengonfigurasi mint yang diizinkan. - Deposit - Pengguna menyetor token SPL ke dalam escrow melalui instruksi
Deposit. Token berpindah ke associated token account milik instance. - Transfer off-chain - Pengguna mengirim transfer melalui gateway. Transfer diurutkan dan dieksekusi di jaringan channel tanpa menyentuh Mainnet.
- Inisiasi penarikan - Pengguna memanggil
WithdrawFundspada Withdraw Program (sisi channel) untuk membakar saldo mereka dan memberi sinyal penarikan. - Penyelesaian Mainnet - Operator memberikan bukti eksklusi SMT yang valid dan
memanggil
ReleaseFundspada Escrow Program (Mainnet), melepaskan token ke dompet pengguna. - Rotasi tree - Ketika SMT mendekati kapasitas (65.536 daun), operator
memanggil
ResetSmtRootuntuk merotasi tree dan memulai epoch baru.
Transfer
Penarikan
Kapan Menggunakan Private Channel
Gunakan private channel ketika aplikasi Anda membutuhkan:
- Throughput off-chain - volume transfer Anda akan memenuhi TPS Solana atau Anda membutuhkan konfirmasi di bawah satu detik
- Privasi - identitas pihak lawan dan jumlah transfer tidak boleh muncul di on-chain
- Tanpa biaya per transfer - melakukan transfer secara sering di mana biaya SOL per transaksi sangat memberatkan
Gunakan transfer SPL native sebagai gantinya ketika:
- Komposabilitas on-chain diperlukan (DeFi, swap, pinjaman; program lain harus dapat mengamati atau bertindak atas transfer tersebut)
- Penyelesaian transfer tunggal sudah cukup dan privasi bukan menjadi perhatian
- Tidak ada infrastruktur gateway yang tersedia atau layak secara operasional
Is this page helpful?