Rand Protocol
Dokumentacja
Ekosystem

Klienci na każdym urządzeniu

Rand Wallet na iPhonie, Androidzie, laptopach, komputerach stacjonarnych i w przeglądarce - jeden rdzeń w Rust, zbudowany z własnych crate'ów pełnego węzła, na każdym urządzeniu; które z nich samodzielnie generują dowód transferu, a które przekazują dowód pakietu proverowi, gdzie każde z nich przechowuje klucz wydatkowania i w jaki sposób wszystkie łączą się z siecią.

Ta strona pokazuje, co działa na każdym rodzaju urządzenia i dlaczego portfele zachowują się różnie. Każdy Rand Wallet to ten sam portfel w innej powłoce. Jeden rdzeń w Rust, zbudowany z własnych crate’ów pełnego węzła, przechowuje klucze i wykonuje operacje kryptograficzne na każdym urządzeniu. Jedyna realna różnica to pamięć: dowód paczki (bundle proof) wymaga szczytowo około 6 GB. Komputer stacjonarny lub duży telefon wykonuje go na miejscu, a mniejsze urządzenie przekazuje ten jeden dowód proverowi. Pliki do pobrania i instrukcje budowania każdego klienta są pod adresem /clients.

Rand Wallet clients and the network Five devices: iPhone, Android phone, laptop, desktop and browser. Each runs the same Rust core, packaged as an XCFramework, a native library, a linked crate in the desktop app, or WebAssembly. Phones prove on devices with about 8 GB of memory, laptops and desktops prove on the machine, and the browser always pairs a prover. When a device cannot prove, the bundle job goes to the desktop app, a rand-prover you run, or the validators' pool, which receive the viewing key and never the spend key. Every client submits to any RPC node, and the validators order and finalise the transaction. iPhone iOS app · Swift Android Android app · Java Laptop desktop app · Tauri Desktop macOS · Windows · Linux Browser Chrome · Firefox · web proves with ~8 GB else pairs a prover proves with ~8 GB else pairs a prover proves on the machine 8 GiB RAM or more proves on the machine and for your browser always pairs a prover 4 GiB WebAssembly cap XCFramework native library linked crate linked crate WebAssembly One Rust core, built from the full node's own crates spend key and rand1 address · ML-KEM-768 envelopes · the zkVM prover · one key file on every device bundle job: viewing key + salt signed transaction, two proofs Prover, when the device has no room the desktop app on the same computer a rand-prover you run the validators' pool · prover.randprotocol.org never sent the spend key; every proof is checked by the wallet The network any RPC node verifies and gossips validators order, vote, finalise wallets scan blocks with their keys see Validators, aggregators and provers
Na telefonie przesuń rysunek w bok. Pięć powłok nad jednym rdzeniem. Wyróżnione plakietki oznaczają klientów, którzy dowodzą transakcję na urządzeniu, które trzymasz w ręku; przerywane pole to miejsce, do którego trafia dowód paczki, gdy urządzenie nie może go wykonać.

Jeden rdzeń, pięć postaci

urządzenie i klientrdzeń w środkudowodzi transakcjęgdzie przechowywany jest klucz wydawania
iPhone: aplikacja na iOS, iOS 16 lub nowszyXCFrameworkprzy około 8 GB pamięci, w minutę lub dwie; w przeciwnym razie przez sparowany proverKeychain, tylko gdy urządzenie jest odblokowane; nigdy nie jest synchronizowany
Android: aplikacja na Androida, Android 8 lub nowszybiblioteka natywnaprzy około 8 GB pamięci, w usłudze pierwszoplanowej; w przeciwnym razie przez sparowany proverzaszyfrowany kluczem przechowywanym w Android Keystore
Laptop i komputer stacjonarny: aplikacja desktopowa dla macOS, Windows i Linuksacrate w Rust, zlinkowany bezpośredniona maszynie, około minuty na procesorze laptopa; nie uruchomi dowodzenia poniżej 8 GiB RAMsejf chroniony hasłem (AES-256-GCM, PBKDF2 przy 600 000 iteracji); po odblokowaniu tylko w pamięci aplikacji
Przeglądarka: rozszerzenia do Chrome i Firefoksa, portfel webowyWebAssemblynigdy: WebAssembly otrzymuje 4 GiB, więc dowód paczki zawsze wykonuje sparowany proversejf tego samego rodzaju; po odblokowaniu w pamięci strony lub w pamięci sesji karty

Laptop i komputer stacjonarny uruchamiają tę samą aplikację desktopową. Jedyna różnica to ilość pamięci, jaką maszyna ma do dowodzenia. Portfel utworzony na dowolnym z nich można zaimportować do pozostałych oraz do wiersza poleceń rand, i z powrotem: plik klucza, format adresu i reguły są wszędzie takie same.

Który portfel wysyła na chain 20

Chain 20, działający od 2026-10-01 06:17 UTC, wiąże każdy dowód i każdą podpisaną wiadomość z hashem swojego bloku genesis, więc do wysyłania w nim portfel potrzebuje fullnode v0.6.8. Rand Wallet v0.6.8, wydany 2026-10-01, jest takim portfelem: rdzeń każdej aplikacji zawiera fullnode v0.6.8, a dowód paczki domyślnie wykonuje prover RandProtocol; prywatnym wyborem jest własny prover. Aplikacje 0.6.7, zbudowane dla chain 19, nie mogą wysyłać na chain 20; zaktualizuj je. Wiersz poleceń rand z wydania fullnode v0.6.8 (Wiersz poleceń) również wysyła i używa tego samego pliku klucza.

Co robi każdy klient

  • Trzyma klucz wydawania na urządzeniu. Jest generowany z losowości systemu operacyjnego i przechowywany w postaci zaszyfrowanej. Żaden klient nigdy nie wysyła go nigdzie, a sieć nie ma kont, do których dałoby się go wysłać.
  • Znajduje własne noty. Skanuje łańcuch swoim kluczem podglądu (viewing key), więc żaden serwer nie wie, które noty są jego.
  • Sam wykonuje dowód autoryzacji. Transakcja niesie dwa dowody. Mały, nad kluczem wydawania, trwa sekundy i zawsze jest wykonywany na urządzeniu (Walidatorzy, agregatory i proverzy).
  • Zleca wykonanie dowodu paczki. Wykonuje go na urządzeniu, jeśli wystarcza pamięci, a w przeciwnym razie zleca go sparowanemu proverowi. Każdy otrzymany dowód jest sprawdzany, zanim cokolwiek zostanie wysłane.
  • Wysyła do dowolnego węzła RPC. To, co wysyła, widzi każdy węzeł: zobowiązania, nullifiery, zapieczętowane koperty, opłatę i dowody.

Parowanie z proverem

Telefon z niedoborem pamięci i każdy portfel przeglądarkowy parują się z proverem na potrzeby dowodu paczki. Na tym samym komputerze robi to aplikacja desktopowa (Settings → Prove for my other devices, następnie wklej link w Settings → Prover portfela przeglądarkowego). W innych przypadkach jest to rand-prover, który uruchamiasz samodzielnie (Uruchamianie węzła), albo pula walidatorów pod adresem prover.randprotocol.org.

Sparowany prover otrzymuje klucz podglądu portfela i jednorazową sól, nigdy klucz wydawania. Może odczytać całą historię tego portfela, przeszłą i przyszłą, ale nie może wydawać środków. Paruj tylko takiego provera, któremu pokazałbyś tę historię. Aby zachować pełną prywatność, dowodź na komputerze stacjonarnym lub na telefonie z 8 GB pamięci albo uruchom własnego provera.

Ostatnio zweryfikowano względem commitu fullnode c0878c3f (łańcuch 21) dnia 2026-10-12, a także randprotocol.org `src/data/clients.ts` (the per-client pages under /clients), fullnode `749ca098`: `docs/prover.md` §§1, 9 (the spend key never leaves the wallet; the validators' prover pool), github.com/randprotocol/clients/releases on 2026-10-12: Rand Wallet v0.8.0 (12:24 UTC, tag `0926354`), whose core vendors fullnode v0.8.0 (`c0878c3`) and sends on chain 21 only; github.com/randprotocol/fullnode/releases: v0.8.0 with `rand`, `rand-node`, `rand-prover`, `msauth-vk-production.bin` (06:48 UTC), fullnode `c9c9bd3c`: `crates/randprotocol-core/src/types/binding.rs` (BIND-1). Jeśli kod i ta strona się różnią, rację ma kod; prosimy o zgłoszenie.