Rand Protocol
الوثائق
المنظومة

عملاء Rand على كل جهاز

Rand Wallet على iPhone وAndroid وأجهزة الحاسوب المحمولة والمكتبية والمتصفح: نواة Rust واحدة مبنية من حزم (crates) العقدة الكاملة نفسها على كل جهاز، وأيٌّ منها يُنشئ إثبات التحويل بنفسه وأيٌّ منها يسلّم إثبات الحزمة إلى مُثبِت (prover)، وأين يحتفظ كلٌّ منها بمفتاح الإنفاق، وكيف تصل جميعها إلى الشبكة.

استخدم هذه الصفحة لمعرفة ما يعمل على كل نوع من الأجهزة، ولماذا تتصرف المحافظ بشكل مختلف. كل Rand Wallet هي المحفظة نفسها بغلاف مختلف. نواة واحدة مكتوبة بلغة Rust، مبنية من حزم العقدة الكاملة نفسها، تحتفظ بالمفاتيح وتجري العمليات التشفيرية على كل جهاز. الفرق الحقيقي الوحيد هو الذاكرة: يبلغ إثبات الحزمة ذروته عند نحو 6 GB. يُنجزه الحاسوب المكتبي أو الهاتف الكبير في الحال، وما كان أصغر منهما يسلّم هذا الإثبات وحده إلى مُثبِت. روابط التنزيل وخطوات البناء لكل عميل موجودة في /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 GB، في دقيقة أو دقيقتين؛ وإلا عبر مُثبِت مقترنKeychain، ولا يتاح إلا والجهاز مفتوح القفل؛ ولا يُزامَن أبدًا
Android: تطبيق Android، Android 8 أو أحدثمكتبة أصليةبذاكرة تبلغ نحو 8 GB، ضمن خدمة تعمل في المقدمة؛ وإلا عبر مُثبِت مقترنمشفّر بمفتاح يحتفظ به Android Keystore
الحاسوب المحمول والمكتبي: تطبيق سطح المكتب لأنظمة macOS وWindows وLinuxحزمة Rust، مرتبطة مباشرةعلى الجهاز نفسه، في نحو دقيقة على معالج حاسوب محمول؛ ولا يبدأ إثباتًا إذا كانت الذاكرة أقل من 8 GiBخزنة محمية بكلمة مرور (AES-256-GCM، وPBKDF2 بـ 600,000 تكرار)؛ وعند فتحها لا يوجد المفتاح إلا في ذاكرة التطبيق
المتصفح: إضافتا Chrome وFirefox، والمحفظة على الويبWebAssemblyلا يحدث أبدًا: يحصل WebAssembly على 4 GiB، لذا يتولى مُثبِت مقترن دائمًا إثبات الحزمةخزنة من النوع نفسه؛ وعند فتحها يكون المفتاح في ذاكرة الصفحة أو في تخزين جلسة التبويب

يشغّل الحاسوب المحمول والحاسوب المكتبي تطبيق سطح المكتب نفسه. والفرق الوحيد هو الذاكرة المتاحة في الجهاز للإثبات. المحفظة المنشأة على أي منها تُستورد إلى الأخرى وإلى سطر أوامر rand، والعكس صحيح: ملف المفتاح وصيغة العنوان والقواعد واحدة في كل مكان.

أي محفظة ترسل على chain 20

تربط chain 20، العاملة منذ 2026-10-01 الساعة 06:17 بالتوقيت العالمي المنسّق، كل إثبات وكل رسالة موقّعة بهاش التكوين الأول (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. ما يرسله هو ما تراه كل عقدة: الالتزامات والمُبطِلات (nullifiers) والمظاريف المختومة والرسوم والإثباتات.

اقتران مُثبِت

الهاتف الذي تنقصه الذاكرة، وكل محفظة متصفح، يقترنان بمُثبِت لإنجاز إثبات الحزمة. على الحاسوب نفسه يتولى ذلك تطبيق سطح المكتب (Settings → Prove for my other devices، ثم الصق الرابط في Settings → Prover في محفظة المتصفح). وفي غير ذلك يكون rand-prover تشغّله أنت (تشغيل عقدة)، أو مجمّع المدقّقين على prover.randprotocol.org.

يتلقى المُثبِت المقترن مفتاح العرض الخاص بالمحفظة وملحًا يُستخدم مرة واحدة، ولا يتلقى مفتاح الإنفاق أبدًا. يستطيع قراءة سجل تلك المحفظة كاملًا، الماضي والمستقبل، ولا يستطيع الإنفاق. اقترن فقط بمُثبِت تقبل أن يطّلع على ذلك السجل. وللخصوصية الكاملة، أنجِز الإثبات على حاسوب مكتبي أو هاتف بذاكرة 8 GB، أو شغّل مُثبِتك الخاص.

آخر تحقق مقابل الإيداع c0878c3f في fullnode (السلسلة 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). إذا اختلف الكود عن هذه الصفحة فالكود هو الصحيح؛ أبلغونا بذلك.