Rand Protocol
ドキュメント
エコシステム

あらゆるデバイスで使えるクライアント

iPhone、Android、ノートPC、デスクトップ、ブラウザで動作する Rand Wallet。すべてのデバイスでフルノード自身のクレートに由来する単一の Rust コアを使用します。送金の証明を自分で生成するクライアントと、バンドル証明を prover に任せるクライアント、それぞれが spend key をどこに保持するか、そしてすべてがどのようにネットワークへ接続するかを説明します。

このページでは、デバイスの種類ごとに何が動くのか、そしてウォレットごとに挙動が異なる理由を説明します。Rand Wallet はどれも、シェルが異なるだけの同一のウォレットです。フルノード自身のクレートからビルドされた 1 つの Rust コアが、すべてのデバイスで鍵を保持し、暗号処理を行います。実質的な違いはメモリだけです。バンドル証明のピークは約 6 GB に達します。デスクトップや大型のスマートフォンならその場で生成でき、それより小さいデバイスでは、この 1 件の証明をプローバーに任せます。各クライアントのダウンロードとビルド手順は /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
スマートフォンでは、図を横にスワイプしてください。1 つのコアの上に 5 つのシェルがあります。アクセントバッジのクライアントは、手元のデバイス上で送金の証明を生成します。破線のボックスは、デバイスで生成できない場合にバンドル証明が送られる先です。

1 つのコア、5 つの形

デバイスとクライアント内部のコア送金の証明支払い鍵の保管場所
iPhone: iOS アプリ、iOS 16 以降XCFrameworkメモリが約 8 GB あれば 1~2 分で生成します。なければペアリングしたプローバーを通しますKeychain。デバイスのロックが解除されている間のみ利用でき、同期はされません
Android: Android アプリ、Android 8 以降ネイティブライブラリメモリが約 8 GB あれば、フォアグラウンドサービスで生成します。なければペアリングしたプローバーを通しますAndroid Keystore が保持する鍵で暗号化
ノート PC とデスクトップ: macOS、Windows、Linux 向けのデスクトップアプリRust クレート(リンク済み)マシン上で生成します。ノート PC の CPU で約 1 分です。RAM が 8 GiB 未満の場合は開始しませんパスワードボールト(AES-256-GCM、PBKDF2 の反復回数 600,000 回)。ロック解除中は、アプリのメモリ内にのみ存在します
ブラウザ: Chrome と Firefox の拡張機能、Web ウォレットWebAssembly生成しません。WebAssembly が使えるのは 4 GiB であるため、バンドル証明は常にペアリングしたプローバーが生成します同種のボールト。ロック解除中は、ページのメモリ内、またはタブのセッションストレージ内にあります

ノート PC とデスクトップは同じデスクトップアプリを実行します。違いは、マシンが証明に充てられるメモリだけです。いずれかで作成したウォレットは、他のデスクトップ環境や rand コマンドラインにインポートでき、その逆も可能です。鍵ファイル、アドレス形式、ルールはどこでも同じです。

chain 20 で送金できるウォレット

2026-10-01 06:17 UTC から稼働している chain 20 は、すべての証明と署名済みメッセージをそのジェネシスハッシュに束縛します。そのため、chain 20 で送金するにはウォレットに fullnode v0.6.8 が必要です。Rand Wallet v0.6.8(2026-10-01 リリース)がそのウォレットです。すべてのアプリのコアが fullnode v0.6.8 をベンダリングしており、バンドル証明は既定では RandProtocol のプローバーが生成します。プライバシーを重視する場合は、自前のプローバーを選べます。chain 19 向けにビルドされた 0.6.7 のアプリは chain 20 で送金できないため、更新してください。fullnode v0.6.8 リリースの rand コマンドライン(コマンドライン)でも送金でき、同じ鍵ファイルを使えます。

すべてのクライアントが行うこと

  • 支払い鍵をデバイス上に保持します。 鍵はオペレーティングシステムの乱数から生成され、暗号化されて保存されます。どのクライアントも鍵をどこにも送信せず、ネットワークには鍵の送信先となるアカウントもありません。
  • 自分のノートを見つけます。 ビューイングキーでチェーンをスキャンするため、どのノートが自分のものかをサーバーが知ることはありません。
  • 承認証明を自分で生成します。 送金には 2 つの証明が付きます。小さい方は支払い鍵に対する証明で、数秒で済み、常にデバイス上で生成されます(バリデーター、アグリゲーター、プローバー)。
  • バンドル証明を用意します。 メモリに余裕があればデバイス上で生成し、なければペアリングしたプローバーに任せます。返ってきた証明は、送信前にすべて検証します。
  • 任意の RPC ノードに送信します。 送信する内容は、すべてのノードに見えるものと同じです。コミットメント、ナリファイア、封印されたエンベロープ、手数料、証明です。

プローバーのペアリング

メモリが不足しているスマートフォンと、すべてのブラウザウォレットは、バンドル証明のためにプローバーをペアリングします。同じコンピューター上であれば、デスクトップアプリがその役を担います(設定 → Prove for my other devices でリンクを生成し、ブラウザウォレットの設定 → Prover に貼り付けます)。それ以外の環境では、自分で運用する rand-prover(ノードの運用)か、prover.randprotocol.org のバリデーターのプールを使います。

ペアリングしたプローバーには、ウォレットのビューイングキーとワンタイムソルトが送られます。支払い鍵は送られません。プローバーはそのウォレットの過去と将来のすべての履歴を読めますが、支払いはできません。その履歴を見せてもよいと考えるプローバーだけをペアリングしてください。完全なプライバシーが必要な場合は、デスクトップまたは 8 GB のスマートフォンで証明を生成するか、自前のプローバーを運用してください。

fullnode のコミット c0878c3f(チェーン 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)。 コードとこのページが食い違う場合は、コードが正です。お知らせください。