Rand Protocol
Dokumentasi
Ekosistem

Validator, agregator, dan prover

Bagaimana peran-peran di Rand saling terkait - mesin mana yang membuktikan sebuah transfer dan dengan kunci apa, apa yang diperiksa node RPC sebelum menyebarkannya melalui gossip, bagaimana validator mengurutkan, memverifikasi, dan memfinalisasi blok tanpa membuktikan apa pun, serta di mana agregator akan menyegel sekumpulan bukti dalam satu jendela setelah agregasi diaktifkan.

Gunakan halaman ini untuk melihat siapa mengerjakan apa ketika sebuah transfer bergerak melalui Rand. Pembuktian itu mahal dan verifikasi itu murah, sehingga pekerjaan dibagi menurut garis tersebut. Sisi pengirim membuat bukti. Validator hanya memeriksa, mengurutkan, dan memberikan suara atas bukti tersebut. Agregator, setelah diaktifkan, akan melipat banyak bukti menjadi satu. Gambar berikut mengikuti satu transfer dari dompet hingga menjadi blok final; bagian-bagian setelahnya membahas setiap peran satu per satu.

How a transfer moves through Rand A wallet makes the authorisation proof itself and gets the bundle proof from this device, a prover of its own, or the validators' prover pool, which is sent the viewing key only. The transaction goes to an RPC node, which verifies both proofs and gossips it to the validators. The validators order it in a block, re-verify every proof, vote, and commit the block. Finalised blocks are kept by observers and archive nodes. An aggregator, built but switched off on chain 20, would prove one recursive proof over a window of bundle proofs and submit it for a sealing block. 1 · ON THE SENDER'S SIDE Wallet holds the spend key; it never leaves builds the transfer, seals the envelopes authorisation proof · tier 10 · seconds always made here, over the spend key Bundle prover tier 14 · about 6 GB of memory · 1–2 min this device (desktop app, 8 GB phone) a rand-prover you run the validators' pool prover.randprotocol.org viewing key + salt bundle proof checked locally transaction: two proofs, nullifiers, commitments, sealed envelopes, fee 2 · ANY RPC NODE checks the binding, both proofs and the fee on four verify workers behind a 64-deep queue, then gossips the transaction on, only once it has verified gossip 3 · VALIDATORS · 26 ON CHAIN 20, 18 NEEDED TO COMMIT Mempool still-valid, best fee per KiB Leader proposes round robin · about one block a second HotStuff votes final after three chained QCs every validator re-verifies every proof in a block before it votes; no validator proves anything Aggregate → a sealing block 4 · FINALISED BLOCKS served by every RPC node and the explorer archive nodes keep every raw proof wallets scan them with their own keys window AGGREGATOR · BUILT, OFF ON CHAIN 20 one recursive proof over a window of bundle proofs; GPU-class, bonded paid a proving share and a subsidy
Pada ponsel, geser gambar ke samping. Satu transfer, dari atas ke bawah. Panah tebal menunjukkan apa yang dilakukan chain 20 saat ini; kotak dan panah putus-putus adalah agregasi blok, yang sudah dibangun dan digabungkan tetapi belum ada dalam genesis chain 20.

Jalur satu transfer

  1. Dompet menyusun transfer. Dompet memilih catatan masukannya, mengambil saksi Merkle dari catatan tersebut, menyusun empat keluaran, dan menyegel masing-masing dalam amplop ML-KEM-768. Kemudian dompet menghitung binding transaksi, yaitu hash atas seluruh isi transaksi kecuali bukti (Transactions).
  2. Dompet membuktikan otorisasi sendiri. Ini adalah bukti tier-10 atas kunci pembelanjaan dan salt baru, yang memakan waktu beberapa detik. Ini satu-satunya bukti yang menyentuh kunci pembelanjaan, dan selalu dibuat di mesin milik dompet itu sendiri.
  3. Bukti bundle dibuat di tempat yang memiliki memori untuk itu. Bukti tier-14 ini menunjukkan kepemilikan, keanggotaan, nullifier, dan keseimbangan, dengan puncak pemakaian memori sekitar 6 GB. Aplikasi desktop dan ponsel dengan sekitar 8 GB membuatnya sendiri. Perangkat yang lebih kecil menyerahkan pekerjaan ini kepada prover yang dipasangkan dengannya: prover yang Anda jalankan sendiri, atau kolam prover milik validator di prover.randprotocol.org. Keduanya hanya dikirimi kunci penglihatan (viewing key) dan salt, tidak pernah kunci pembelanjaan (Proofs).
  4. Sebuah node RPC memeriksanya. Node mana pun yang menerima kiriman dari dompet akan menghitung ulang digest bundle, memverifikasi kedua bukti terhadap binding, memeriksa biaya, dan baru kemudian menyebarkan transaksi ke para peer-nya (Proofs, Mempool).
  5. Validator mengurutkan dan memfinalkannya. Pemimpin dari view tersebut mengambil transaksi yang masih berlaku, dengan biaya terbaik per KiB lebih dulu, lalu mengusulkan sebuah blok. Setiap validator memverifikasi ulang setiap bukti di dalamnya dan memberikan suara. Blok di-commit setelah tiga quorum certificate berantai di atasnya pada view yang berurutan, yang membutuhkan 18 dari 26 validator chain 20 dalam keadaan daring (Consensus).
  6. Blok sudah final, dan siapa pun dapat memeriksanya. Sebuah transaksi final ketika rand_getTransaction mengembalikan sebuah blok. Node yang melakukan sinkronisasi di kemudian hari memverifikasi ulang setiap sertifikat dan setiap bukti, alih-alih memercayai tanda tangan begitu saja.

Peran-peran

peranapa yang dikerjakanmembuktikan?apa yang dilihatmenjalankan
dompetmenyusun, mengotorisasi, dan mengirimkan transfer serta panggilan; memindai chain dengan kunci miliknya sendiriselalu bukti otorisasi; bukti bundle bila perangkat memiliki memori yang cukupsegalanya tentang catatan miliknya sendiriaplikasi pada halaman Clients, atau rand; pada chain 20, Rand Wallet atau rand v0.6.8 atau yang lebih baru
prover terdelegasimembuat bukti bundle untuk dompet yang dipasangkan dengannya; setiap balasan diperiksa oleh dompet sebelum apa pun dikirimkanhanya bukti bundlekunci penglihatan dompet yang dipasangkan: seluruh riwayatnya, masa lalu dan masa depan; tidak dapat membelanjakanrand-prover run, atau rand-node run --prover
kolam prover validatorprover terdelegasi yang dijalankan oleh empat host, dua validator dan dua mesin yang hanya membuktikan, di bawah satu nama dan satu kunci, untuk dompet yang tidak memiliki prover sendiri; tanpa biayahanya bukti bundlesama seperti prover terdelegasi mana pun, untuk setiap dompet yang dipasangkan dengannyaprover.randprotocol.org, sidik jari RGTF-7HKJ-XZFV-GQ1J
node RPC (pengamat)melakukan sinkronisasi, memverifikasi ulang setiap bukti, melayani JSON-RPC, menyebarkan transaksi yang telah diverifikasi; tanpa hak suaratidakhanya bidang publik: komitmen, nullifier, amplop tersegel, buktirand-node run
validatorsemua yang dilakukan pengamat, ditambah mengusulkan blok pada view gilirannya dan memberikan suara dalam HotStufftidakhanya bidang publikrand-node run --validator
agregatormembuktikan satu bukti rekursif atas sejumlah bukti bundle final dalam satu jendela dan mengirimkannya untuk blok penyegelya, bukti terbesar di jaringanhanya bidang publik dan buktirand-node aggregate --watch, pada chain yang memiliki bagian aggregation

Membuktikan dan memvalidasi adalah dua pekerjaan terpisah, dan validator tidak memerlukan perangkat keras prover. Dua dari empat anggota kolam adalah validator yang juga menjalankan prover sebagai layanan; dua lainnya adalah mesin prover khusus yang tidak memegang kunci validator. Menjalankan kolam bukan bagian dari tugas validasi. Ukuran perangkat keras untuk setiap peran, beserta memori pembuktian yang terukur per tier, tersedia di Validator and aggregator hardware.

Apa yang dapat diketahui setiap peran

Privasi sebuah transfer bergantung pada siapa yang memegang kunci yang mana, bukan pada kepercayaan terhadap jaringan:

  • Validator, node RPC, dan explorer melihat apa yang dilihat setiap node: komitmen, nullifier, amplop tersegel, biaya, dan bukti. Bukan jumlah, aset, pengirim, ataupun penerima.
  • Prover terdelegasi, termasuk kolam, dikirimi kunci penglihatan. Dengan kunci itu, ia dapat membaca seluruh riwayat dompet yang dipasangkan dengannya. Ia tidak pernah dapat membelanjakan, karena bukti otorisasi atas kunci pembelanjaan dibuat di mesin milik dompet. Memasangkan dompet dengan kolam berarti memilih untuk memperlihatkan riwayat tersebut kepada para operatornya. Jika Anda ingin riwayat itu tetap privat, buktikan di perangkat Anda sendiri atau jalankan prover Anda sendiri.
  • Prover terdelegasi tidak dapat mencurangi dompet. Dompet membaca digest dari setiap bukti yang diberikan, memeriksa ukurannya, dan memverifikasinya secara lokal, sehingga bukti yang salah tidak pernah sampai ke node.

Agregasi: sudah dibangun, belum aktif

Saat ini setiap blok membawa setiap bukti mentah, sekitar 2,85 MB untuk satu transfer, sehingga blok 20 MiB memuat sekitar tujuh transfer. Agregasi blok adalah jawaban fullnode atas hal ini. Agregator mengambil bukti bundle dari sebuah jendela blok final (rand_getUnsealed), membuktikan satu bukti rekursif yang memverifikasi semuanya, lalu mengirimkannya. Blok yang memuatnya menyegel jendela tersebut. Validator kemudian memverifikasi satu agregat sebagai ganti N bukti, dan node dapat membuang bukti mentah yang tercakup. Agregator bersifat terikat jaminan (bonded) dan tanpa izin, berjalan pada mesin kelas GPU, dan dibayar sebesar bagian pembuktian dari bundle yang tercakup ditambah subsidi blok berupa RAND baru.

Fitur ini sudah dibangun dan digabungkan, tetapi belum aktif. Fitur ini memerlukan bagian aggregation dalam genesis, dan chain 20 tidak memilikinya, sehingga rand_status melaporkan setiap penghitung agregasi bernilai nol. Sebelum dapat diaktifkan, bentuk bundle-nya harus diukur ulang di bawah set batasan (constraint set) saat ini, dan latihan pemalsuan agregat harus dijalankan terhadap verifier rekursi. Pada chain dengan otorisasi terpisah, fitur ini juga hanya akan menyegel bukti bundle, bukan bukti otorisasi (Proofs).

Terakhir diverifikasi terhadap commit fullnode c0878c3f (chain 21) pada 2026-10-12, dan fullnode `c0878c3f` (v0.8.0): `deploy/genesis-chain21.json` (26 validators, no `aggregation` section), `crates/randprotocol-prover/src/wire.rs` (the wallet hands the prover the binding), fullnode main `cb0a32ea`: `deploy/prover/README.md` (status 2026-10-01 06:00 UTC: four members), randprotocol.org `rand_status` on chain 20, 2026-10-01, and on chain 21, 2026-10-12: `aggregation` all zero, 26 peers, this tree's Proofs, Consensus, Mempool and Validator and aggregator hardware pages. Jika kode dan halaman ini tidak sesuai, kodelah yang benar; beri tahu kami.