Rand Protocol
دستاویزات
ایکو سسٹم

ویلیڈیٹرز، ایگریگیٹرز اور ثبوت ساز

Rand پر مختلف کردار آپس میں کیسے جڑتے ہیں - کون سی مشین کسی منتقلی کا ثبوت تیار کرتی ہے اور کس کلید سے، کوئی RPC نوڈ کسی منتقلی کو نیٹ ورک میں پھیلانے سے پہلے کیا جانچتا ہے، ویلیڈیٹرز خود کچھ ثابت کیے بغیر بلاکس کو کیسے ترتیب دیتے، ان کی تصدیق کرتے اور انہیں حتمی شکل دیتے ہیں، اور ایگریگیشن فعال ہونے پر ایگریگیٹر ثبوتوں کی ایک ونڈو کو کہاں مہر بند کرے گا۔

اس صفحے سے معلوم کیجیے کہ جب کوئی منتقلی Rand سے گزرتی ہے تو کون سا کام کون کرتا ہے۔ ثبوت بنانا مہنگا ہے اور اس کی تصدیق سستی، اس لیے کام اسی بنیاد پر تقسیم کیا گیا ہے۔ ثبوت بھیجنے والے کی جانب بنتے ہیں۔ توثیق کنندگان صرف انہیں جانچتے ہیں، ترتیب دیتے ہیں اور ووٹ دیتے ہیں۔ ایگریگیٹر، فعال ہونے کے بعد، بہت سے ثبوتوں کو ایک میں سمو دے گا۔ نیچے دی گئی شکل ایک منتقلی کو والیٹ سے حتمی بلاک تک دکھاتی ہے؛ اس کے بعد کے حصے ہر کردار کو باری باری بیان کرتے ہیں۔

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
فون پر شکل کو دائیں بائیں سوائپ کیجیے۔ ایک منتقلی، اوپر سے نیچے تک۔ ٹھوس تیر وہ دکھاتے ہیں جو chain 20 آج کرتی ہے؛ نقطہ دار خانہ اور تیر بلاک ایگریگیشن ہیں، جو بن چکا ہے اور ضم ہو چکا ہے مگر chain 20 کے جینیسس میں شامل نہیں۔

ایک منتقلی کا راستہ

  1. والیٹ منتقلی تیار کرتا ہے۔ وہ اپنے ان پٹ نوٹ چنتا ہے، ان کے Merkle گواہ حاصل کرتا ہے، چار آؤٹ پٹ بناتا ہے اور ہر ایک کو ML-KEM-768 لفافے میں بند کرتا ہے۔ پھر وہ ٹرانزیکشن کی بائنڈنگ نکالتا ہے، جو ثبوتوں کے سوا ہر چیز پر ایک ہیش ہے (ٹرانزیکشنز)۔
  2. والیٹ اجازت کا ثبوت خود بناتا ہے۔ یہ خرچ کی کلید اور ایک نئے سالٹ پر tier-10 ثبوت ہے، جس میں چند سیکنڈ لگتے ہیں۔ یہی واحد ثبوت ہے جو خرچ کی کلید کو چھوتا ہے، اور یہ ہمیشہ والیٹ کی اپنی مشین پر بنتا ہے۔
  3. بنڈل ثبوت وہاں بنتا ہے جہاں اس کے لیے میموری موجود ہو۔ یہ tier-14 ثبوت ملکیت، رکنیت، نلیفائرز اور بیلنس ثابت کرتا ہے، اور اس کی میموری کی انتہائی کھپت تقریباً 6 GB ہے۔ ڈیسک ٹاپ ایپ اور تقریباً 8 GB والا فون اسے خود بنا لیتے ہیں۔ اس سے چھوٹا کوئی بھی آلہ یہ کام اپنے ساتھ جوڑے گئے ثابت کنندہ کو سونپ دیتا ہے: یا تو وہ جو آپ خود چلاتے ہیں، یا prover.randprotocol.org پر توثیق کنندگان کا پول۔ دونوں صورتوں میں اسے ویونگ کلید اور سالٹ بھیجے جاتے ہیں، خرچ کی کلید کبھی نہیں (ثبوت)۔
  4. ایک RPC نوڈ اسے جانچتا ہے۔ والیٹ جس نوڈ کو بھی ٹرانزیکشن جمع کرائے، وہ بنڈل ڈائجسٹ دوبارہ نکالتا ہے، بائنڈنگ کے مقابل دونوں ثبوتوں کی تصدیق کرتا ہے، فیس جانچتا ہے، اور صرف اس کے بعد ٹرانزیکشن کو اپنے ہم منصب نوڈز تک نشر کرتا ہے (ثبوت، میم پول)۔
  5. توثیق کنندگان اسے ترتیب دیتے اور حتمی بناتے ہیں۔ ویو کا لیڈر وہ ٹرانزیکشنز لیتا ہے جو اب بھی لاگو ہوتی ہیں، فی KiB سب سے بہتر فیس والی پہلے، اور ایک بلاک تجویز کرتا ہے۔ ہر توثیق کنندہ اس میں موجود ہر ثبوت کی دوبارہ تصدیق کرتا ہے اور ووٹ دیتا ہے۔ بلاک اس وقت کمٹ ہوتا ہے جب لگاتار ویوز میں تین کورم سرٹیفکیٹ اس پر زنجیر بناتے ہیں، جس کے لیے chain 20 کے 26 توثیق کنندگان میں سے 18 کا آن لائن ہونا ضروری ہے (اتفاقِ رائے)۔
  6. بلاک حتمی ہے، اور ہر کوئی اسے جانچ سکتا ہے۔ ٹرانزیکشن اس وقت حتمی ہوتی ہے جب rand_getTransaction ایک بلاک لوٹائے۔ جو نوڈ بعد میں ہم آہنگ ہوتا ہے وہ دستخطوں پر بھروسا کرنے کے بجائے ہر سرٹیفکیٹ اور ہر ثبوت کی دوبارہ تصدیق کرتا ہے۔

کردار

کردارکیا کرتا ہےثبوت بناتا ہے؟کیا دیکھتا ہےکیا چلاتا ہے
والیٹمنتقلیاں اور کالز تیار کرتا، ان کی اجازت دیتا اور جمع کراتا ہے؛ اپنی کلیدوں سے چین کو اسکین کرتا ہےاجازت کا ثبوت ہمیشہ؛ بنڈل ثبوت جب آلے میں میموری ہواپنے نوٹس کے بارے میں سب کچھکلائنٹس صفحے پر موجود ایپس، یا rand؛ chain 20 پر Rand Wallet یا rand v0.6.8 یا بعد کا
تفویض شدہ ثابت کنندہاپنے ساتھ جوڑے گئے والیٹ کے لیے بنڈل ثبوت بناتا ہے؛ کچھ بھی جمع کرانے سے پہلے والیٹ ہر جواب کو جانچتا ہےصرف بنڈل ثبوتجوڑے گئے والیٹ کی ویونگ کلید: اس کی پوری تاریخ، ماضی اور مستقبل؛ یہ خرچ نہیں کر سکتاrand-prover run، یا rand-node run --prover
توثیق کنندگان کا ثابت کنندہ پولچار میزبانوں، یعنی دو توثیق کنندگان اور دو ایسی مشینوں کا چلایا ہوا تفویض شدہ ثابت کنندہ جو صرف ثبوت بناتی ہیں، ایک نام اور ایک کلید کے تحت، ان والیٹس کے لیے جن کا اپنا کوئی ثابت کنندہ نہیں؛ کوئی فیس نہیںصرف بنڈل ثبوتوہی جو کوئی بھی تفویض شدہ ثابت کنندہ دیکھتا ہے، ہر اس والیٹ کے لیے جو اسے جوڑےprover.randprotocol.org، فنگرپرنٹ RGTF-7HKJ-XZFV-GQ1J
RPC نوڈ (مشاہد)ہم آہنگ ہوتا ہے، ہر ثبوت کی دوبارہ تصدیق کرتا ہے، JSON-RPC فراہم کرتا ہے، تصدیق شدہ ٹرانزیکشنز نشر کرتا ہے؛ ووٹ نہیں دیتانہیںصرف عوامی فیلڈز: کمٹمنٹس، نلیفائرز، بند لفافے، ثبوتrand-node run
توثیق کنندہوہ سب کچھ جو مشاہد کرتا ہے، اس کے علاوہ اپنے ویوز میں تجویز پیش کرنا اور HotStuff میں ووٹ دینانہیںصرف عوامی فیلڈزrand-node run --validator
ایگریگیٹرحتمی شدہ بنڈل ثبوتوں کی ایک ونڈو پر ایک بازگشتی ثبوت بناتا ہے اور اسے ایک مہر بند کرنے والے بلاک کے لیے جمع کراتا ہےہاں، نیٹ ورک کے سب سے بڑے ثبوتصرف عوامی فیلڈز اور ثبوتrand-node aggregate --watch، ایسی چین پر جس میں aggregation سیکشن ہو

ثبوت بنانا اور توثیق کرنا الگ الگ کام ہیں، اور توثیق کنندہ کو ثابت کنندہ کے ہارڈویئر کی ضرورت نہیں۔ پول کے چار ارکان میں سے دو ایسے توثیق کنندگان ہیں جو بطور خدمت ثابت کنندہ بھی چلاتے ہیں؛ باقی دو مخصوص ثابت کنندہ مشینیں ہیں جن کے پاس کوئی توثیق کنندہ کلید نہیں۔ پول چلانا توثیق کا حصہ نہیں۔ ہر کردار کے لیے درکار وسائل، اور ہر tier کے لیے پیمائش شدہ ثبوت سازی کی میموری، توثیق کنندہ اور ایگریگیٹر ہارڈویئر پر درج ہیں۔

ہر کردار کیا جان سکتا ہے

کسی منتقلی کی رازداری اس پر منحصر ہے کہ کون سی کلید کس کے پاس ہے، نہ کہ نیٹ ورک پر بھروسے پر:

  • توثیق کنندگان، RPC نوڈز اور ایکسپلورر وہی دیکھتے ہیں جو ہر نوڈ دیکھتا ہے: کمٹمنٹس، نلیفائرز، بند لفافے، فیس اور ثبوت۔ رقم، اثاثہ، بھیجنے والا یا وصول کنندہ نہیں۔
  • تفویض شدہ ثابت کنندہ کو، بشمول پول، ویونگ کلید بھیجی جاتی ہے۔ اس کے ذریعے وہ جوڑے گئے والیٹ کی پوری تاریخ پڑھ سکتا ہے۔ وہ کبھی خرچ نہیں کر سکتا، کیونکہ خرچ کی کلید پر اجازت کا ثبوت والیٹ کی مشین پر بنتا ہے۔ پول کو جوڑنے کا مطلب ہے اس کے چلانے والوں کو وہ تاریخ دکھانے کا انتخاب کرنا۔ اگر آپ اسے نجی رکھنا چاہتے ہیں تو اپنے آلے پر ثبوت بنائیے یا اپنا ثابت کنندہ چلائیے۔
  • تفویض شدہ ثابت کنندہ والیٹ کو دھوکا نہیں دے سکتا۔ والیٹ اسے دیے گئے ہر ثبوت سے ڈائجسٹ پڑھتا ہے، اس کا حجم جانچتا ہے اور مقامی طور پر اس کی تصدیق کرتا ہے، اس لیے غلط ثبوت کبھی کسی نوڈ تک نہیں پہنچتا۔

ایگریگیشن: تیار ہے، فعال نہیں

آج ہر بلاک میں ہر خام ثبوت شامل ہوتا ہے، ایک منتقلی کے لیے تقریباً 2.85 MB، لہٰذا 20 MiB کے بلاک میں تقریباً سات منتقلیاں سماتی ہیں۔ بلاک ایگریگیشن اس کا فل نوڈ کی جانب سے جواب ہے۔ ایگریگیٹر حتمی شدہ بلاکس کی ایک ونڈو کے بنڈل ثبوت لیتا ہے (rand_getUnsealed)، ایک بازگشتی ثبوت بناتا ہے جو ان سب کی تصدیق کرتا ہے، اور اسے جمع کراتا ہے۔ جس بلاک میں یہ شامل ہوتا ہے وہ اس ونڈو پر مہر لگا دیتا ہے۔ اس کے بعد توثیق کنندگان N ثبوتوں کے بجائے ایک مجموعی ثبوت کی تصدیق کرتے ہیں، اور نوڈز احاطہ شدہ خام ثبوت حذف کر سکتے ہیں۔ ایگریگیٹرز ضمانت جمع کراتے ہیں اور ان کے لیے اجازت درکار نہیں، وہ GPU درجے کی مشینوں پر چلتے ہیں، اور انہیں احاطہ شدہ بنڈلز کا ثبوت سازی کا حصہ اور نئے RAND میں بلاک سبسڈی ادا کی جاتی ہے۔

یہ تیار ہے اور ضم ہو چکا ہے، لیکن فعال نہیں۔ اس کے لیے جینیسس میں aggregation سیکشن درکار ہے، اور chain 20 میں ایسا کوئی سیکشن نہیں، اس لیے rand_status ایگریگیشن کے ہر کاؤنٹر کو صفر دکھاتا ہے۔ اسے فعال کرنے سے پہلے موجودہ قیود کے مجموعے کے تحت اس کی بنڈل ساخت کی دوبارہ پیمائش ضروری ہے، اور بازگشتی تصدیق کنندہ کے خلاف جعلی مجموعی ثبوت کی مشق چلانی ہوگی۔ منقسم اجازت والی چین پر یہ صرف بنڈل ثبوتوں پر مہر لگائے گا، اجازت کے ثبوتوں پر نہیں (ثبوت)۔

آخری بار 2026-10-12 کو fullnode کمٹ c0878c3f (چین 21)، اور 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 کے مقابل تصدیق کی گئی۔ جہاں کوڈ اور یہ صفحہ ایک دوسرے سے مختلف ہوں، وہاں کوڈ درست ہے؛ ہمیں مطلع کریں۔