Rand Protocol
Документация
Экосистема

Клиенты для каждого устройства

Rand Wallet на iPhone, Android, ноутбуках, настольных компьютерах и в браузере: единое ядро на Rust из собственных крейтов полного узла на каждом устройстве, какие из клиентов сами доказывают перевод, а какие передают доказательство пакета провайдеру доказательств (prover), где каждый из них хранит ключ расходования и как все они подключаются к сети.

Используйте эту страницу, чтобы увидеть, что работает на устройствах каждого типа и почему кошельки ведут себя по-разному. Каждый Rand Wallet — это один и тот же кошелёк в разной оболочке. Одно ядро на Rust, собранное из собственных крейтов полного узла, хранит ключи и выполняет криптографические операции на любом устройстве. Единственное реальное различие — память: пик при построении доказательства пакета составляет около 6 ГБ. Настольный компьютер или крупный телефон строит его на месте, а всё, что меньше, передаёт это единственное доказательство провайверу. Загрузки и шаги сборки для каждого клиента находятся на странице /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
На телефоне прокрутите схему вбок. Пять оболочек над одним ядром. Акцентные плашки обозначают клиенты, которые доказывают перевод на устройстве, которое вы держите в руках; пунктирный блок — это место, куда уходит доказательство пакета, когда устройство не справляется.

Одно ядро, пять форм

устройство и клиентядро внутридоказывает переводгде хранится ключ расходования
iPhone: приложение для iOS, iOS 16 или новееXCFrameworkпри объёме памяти около 8 ГБ — за минуту-две; иначе через связанный проверKeychain, только пока устройство разблокировано; никогда не синхронизируется
Android: приложение для Android, Android 8 или новеенативная библиотекапри объёме памяти около 8 ГБ — в службе переднего плана; иначе через связанный проверзашифрован ключом, который хранит Android Keystore
Ноутбук и настольный компьютер: настольное приложение для macOS, Windows и Linuxкрейт на Rust, подключённый напрямуюна самой машине, около минуты на процессоре ноутбука; на машине с менее чем 8 ГиБ оперативной памяти оно не запустит построениехранилище с паролем (AES-256-GCM, PBKDF2 с 600 000 итераций); в разблокированном состоянии — только в памяти приложения
Браузер: расширения для Chrome и Firefox, веб-кошелёкWebAssemblyникогда: WebAssembly получает 4 ГиБ, поэтому доказательство пакета всегда строит связанный проверхранилище того же рода; в разблокированном состоянии — в памяти страницы или в хранилище сессии вкладки

Ноутбук и настольный компьютер запускают одно и то же настольное приложение. Единственное различие — объём памяти, которой машина располагает для доказательства. Кошелёк, созданный на любом из них, импортируется в остальные и в командную строку rand, и обратно: файл ключа, формат адреса и правила везде одни и те же.

Какой кошелёк отправляет в chain 20

Chain 20, запущенная 2026-10-01 в 06:17 UTC, привязывает каждое доказательство и каждое подписанное сообщение к своему genesis-хешу, поэтому для отправки в ней кошельку нужен fullnode v0.6.8. Rand Wallet v0.6.8, выпущенный 2026-10-01, — это такой кошелёк: ядро каждого приложения включает fullnode v0.6.8, а доказательство пакета по умолчанию строит провер RandProtocol; собственный провер — приватный вариант. Приложения версии 0.6.7, собранные для chain 19, не могут отправлять в chain 20; обновите их. Командная строка rand из релиза fullnode v0.6.8 (Командная строка) тоже отправляет и принимает тот же файл ключа.

Что делает каждый клиент

  • Хранит ключ расходования на устройстве. Он генерируется из случайности операционной системы и хранится в зашифрованном виде. Ни один клиент никуда его не отправляет, а у сети нет учётных записей, куда его можно было бы отправить.
  • Находит собственные ноты. Он сканирует цепочку своим ключом просмотра, поэтому ни один сервер не знает, какие ноты ему принадлежат.
  • Сам строит доказательство авторизации. Перевод несёт два доказательства. Малое, над ключом расходования, строится за секунды и всегда на устройстве (Валидаторы, агрегаторы и проверы).
  • Организует построение доказательства пакета. Он строит его на устройстве, если хватает памяти, а иначе получает от связанного провера. Каждое полученное обратно доказательство проверяется до того, как что-либо будет отправлено.
  • Отправляет на любой RPC-узел. То, что он отправляет, видит каждый узел: обязательства, нуллификаторы, запечатанные конверты, комиссию и доказательства.

Связывание провера

Телефон, которому не хватает памяти, и каждый браузерный кошелёк связывают провер для доказательства пакета. На том же компьютере это делает настольное приложение (Settings → Prove for my other devices, затем вставьте ссылку в Settings → Prover браузерного кошелька). В остальных случаях это rand-prover, который вы запускаете (Запуск узла), либо пул валидаторов по адресу prover.randprotocol.org.

Связанному проверу передаются ключ просмотра кошелька и одноразовая соль, но никогда не ключ расходования. Он может прочитать всю историю этого кошелька, прошлую и будущую, но потратить средства не может. Связывайте только тот провер, которому вы показали бы эту историю. Для полной приватности стройте доказательство на настольном компьютере или 8-гигабайтном телефоне либо запустите собственный провер.

Последняя проверка по коммиту fullnode c0878c3f (chain 21) от 2026-10-12, а также 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). Если код и эта страница расходятся, прав код; сообщите нам.