Rand اوپن سورس ہے۔ فل نوڈ، ایکسپلورر، برج، پروفنگ کی تحقیق اور والیٹ کلائنٹس، ہر ایک GitHub پر اپنی الگ ریپوزٹری میں موجود ہے۔ کوڈ پڑھیے، ٹیسٹ چلائیے، پیچ بھیجیے۔ یہ صفحہ نقشہ ہے: ہر جزو کہاں ہے، کس چیز سے بنا ہے، پروف سسٹم کہاں تک پہنچا ہے، اور آج اس کی حد کہاں ہے۔
ریپوزٹریاں
| ریپوزٹری | اس میں کیا ہے | زبان |
|---|---|---|
randprotocol/fullnode | حوالہ جاتی فل نوڈ اور والیٹ: زنجیری HotStuff BFT، libp2p نیٹ ورکنگ، RAND کا شیلڈڈ نوٹ پول، zkVM کا پروف تصدیق کنندہ، JSON-RPC، rand والیٹ CLI اور rand-prover تفویض شدہ پروور۔ | Rust |
randprotocol/randscan.org | randscan.org کے پیچھے کام کرنے والا بلاک ایکسپلورر: PostgreSQL پر REST اور WebSocket API والا ایک axum انڈیکسر، اور ایک Next.js فرنٹ اینڈ۔ | Rust · TypeScript |
randprotocol/bridge | Ethereum، Binance Smart Chain، Tron اور Solana سے USDT اور USDC کے لیے گارڈین برج: تحویلی کنٹریکٹس، مشترکہ تصدیقی فارمیٹ اور اس کے ٹیسٹ ویکٹرز۔ | Solidity · Rust |
randprotocol/zkp-circuits | پروف سسٹمز کی مرحلہ وار وضاحتیں (Groth16 بمقابلہ STARK، شیلڈڈ پول، رِنگ دستخط، مکسر)، research/ یعنی Rand کا حوالہ جاتی zkVM، recursion/ یعنی ریکرژن VM، گیسٹ ٹول چین اور دونوں مترجم، اور CUDA کرنلز۔ فل نوڈ کی بِلڈ کے لیے ضروری ہے کہ یہ ریپوزٹری اس کے ساتھ circuits/ کے نام سے چیک آؤٹ ہو۔ | Rust |
randprotocol/clients | والیٹ کلائنٹس: ڈیسک ٹاپ، ویب، iOS اور Android۔ | Rust · Swift · Java · JavaScript |
اسٹیک
اول تا آخر Rust۔ Rand اپنی الگ چین ہے: libp2p گوسپ لیئر کے ساتھ HotStuff BFT نوڈ، لیجر کے طور پر مکمل شیلڈڈ نوٹ پول، پوسٹ کوانٹم دستخط اور نوٹ انکرپشن، اور خفیہ کمپیوٹیشن کے لیے Rand zkVM، یہ سب فل نوڈ ریپوزٹری میں ہیں۔ خود پروف سسٹم وہ حصہ ہے جس پر فعال تحقیق جاری ہے، جس کا ذکر نیچے ہے۔
| پرت | کیا چلتا ہے |
|---|---|
| اتفاقِ رائے | زنجیری HotStuff BFT، اسٹیک کے وزن والے کورم، تین چین والا کمٹ |
| نیٹ ورکنگ | libp2p: TCP، Noise، Yamux، gossipsub، Kademlia، LAN پر mDNS |
| لیجر | شیلڈڈ نوٹ پول: 32 گہرائی کا Poseidon2 درخت، nullifier سیٹ، فی ٹرانزیکشن ایک 4-in-4-out پوشیدہ اثاثہ بنڈل (چین 13 تک 2-in-2-out)؛ چین 17 سے بنڈل پروف کے ساتھ ایک دوسرا، tier-10 کا auth پروف (منقسم اجازت دہی)؛ چین 18 سے انکرپٹڈ میمو کے ساتھ 1,860 بائٹ کے نوٹ لفافے |
| ٹوکن | RPL: ٹوکن ایک لیجر رجسٹری اندراج ہے جس کی شناخت rpl1… ہے، کنٹریکٹ نہیں؛ یہ اسی پول میں نوٹس کی صورت میں منتقل ہوتا ہے |
| اسٹیکنگ | عوامی ویلیڈیٹر رجسٹر: بنڈل سے بانڈ، دو ایپوک کی اَن بانڈنگ، 1,000 بلاک کے ایپوک؛ چین 20 سے نئے ویلیڈیٹر کا داخلہ موجودہ سیٹ کے ووٹ سے ہوتا ہے |
| خفیہ کمپیوٹیشن | Rand zkVM: Plonky3 بیچ STARK کے تحت RV32IM، ZK سے پوشیدہ FRI، کنسٹرینٹ سیٹ 8؛ چین 18 سے ہر کال ایک گیس حد کا اعلان کرتی ہے جسے سرکٹ نافذ کرتا ہے، اور فی گیس اور فی KiB ادائیگی کرتی ہے؛ چین 20 سے پروگرام اپنی حالت سیلز میں رکھتا ہے اور قدر والٹ میں رکھتا ہے (RPL-2) |
| کرپٹو | Dilithium2 · ML-KEM-768 · Poseidon2 · BLAKE3 · ChaCha20-Poly1305 |
| ذخیرہ | فی نوڈ ایک RocksDB، fsync شدہ کمٹ، آغاز پر سالمیت کی جانچ؛ اختیاری تاریخی کٹائی (--prune-history 24h)، جبکہ آرکائیو نوڈز سب کچھ محفوظ رکھتے ہیں |
| برج | چار چینز پر گارڈین کی تصدیق شدہ لاکس، ہر منٹ پر Dilithium2 شریک دستخطوں کا کورم؛ برج شدہ اثاثہ اسی پول میں ایک نوٹ ہے |
| زبان | ہر جگہ Rust؛ برج کے لیے Solidity، ایکسپلورر کے لیے TypeScript |
ہر پروگرام کے لیے ایک ہی ریلیشن
وائٹ پیپر کا عالمگیر عملدرآمدی ریلیشن R_exec کوڈ کی صورت میں موجود ہے: rand_zkvm، ایک RV32IM مشین جو Goldilocks فیلڈ پر Plonky3 کے ایک واحد بیچ STARK کے تحت ثابت کی جاتی ہے۔ یہ ثابت کرتی ہے کہ کسی ٹریس نے پروگرام hc کو، ایک نمکین H_IN کے ذریعے کمٹ شدہ اِن پٹس پر، ان عوامی آؤٹ پٹس تک چلایا، اور پروگرام کی کوئی بھی بات کبھی تصدیق کنندہ کا پیرامیٹر نہیں بنتی۔ خفیہ پروگرام شائع کرنے کا مطلب ایک ہیش رجسٹر کرنا ہے، کبھی بھی کوئی مخصوص سرکٹ تیار کرنا نہیں۔
پروف سسٹم شفاف ہے، اس میں نہ کوئی قابلِ اعتماد سیٹ اپ ہے اور نہ کوئی پیئرنگ کرو، اور اس کا مفروضہ ایک تصادم مزاحم ہیش ہے۔ پروفس سے واسطہ رکھنے والے ہر دوسرے جزو سے توقع ہے کہ وہ اپنا الگ نظام بنانے کے بجائے اسی کریٹ پر مجتمع ہو۔ یہ کریٹ zkp-circuits/research میں ہے اور فل نوڈ میں کنسٹرینٹ سیٹ 8 پر شامل (vendored) ہے (سرکٹس aeacf31، فل نوڈ v0.6.7 اور v0.6.8)۔ نیچے دیے گئے جدول اور پیمائشیں کنسٹرینٹ سیٹ 5 (سنگِ میل M4.2) کو بیان کرتی ہیں، الّا یہ کہ کوئی سطر کسی بعد کے سیٹ کا نام لے؛ یہ 2026-09-13 کی حالت کے مطابق فل نوڈ کی docs/zkvm.md، docs/zkvm-milestones.md اور docs/confidential.md سے لی گئی ہیں، اور پیمائشیں Apple Silicon لیپ ٹاپ پر ناپی گئی صورت میں درج ہیں، اہداف کے طور پر نہیں۔
نامزد بسوں پر آٹھ جدول، اور ضرورت پڑنے پر نواں
ایک کمٹمنٹ، ایک FRI اوپننگ۔ جدول کبھی ایک دوسرے کو کال نہیں کرتے؛ وہ نامزد LogUp بسوں (PROGRAM، PROGRAM_WORD، MEMORY، ALU، POSEIDON2، INPUT_DIGEST، INPUT_READ، KECCAK اور رینج اور نِبل لُک اَپس) پر حقائق کا تبادلہ کرتے ہیں، اور تصدیق کنندہ جانچتا ہے کہ ہر بس عالمی سطح پر متوازن ہے۔ ہر جدول کا زیادہ سے زیادہ کنسٹرینٹ درجہ ایک ٹیسٹ کے ذریعے 8 کی اُس حد سے نیچے مقرر ہے جس کی FRI بلو اَپ اجازت دیتا ہے۔
| جدول | قسم | کردار |
|---|---|---|
program | وٹنس | M3.4 سے سرکٹ کے اندر ڈی کوڈ ہونے والے خام ہدایتی الفاظ، جنہیں cpu ڈائجسٹ کر کے hc میں شامل کرتا ہے |
cpu | وٹنس | فی سائیکل ایک قطار، نیز ڈائجسٹ قطاریں جو پروگرام کو hc میں اور نمکین اِن پٹس کو H_IN میں جذب کرتی ہیں |
memory | وٹنس | رجسٹرز اور RAM ایک ہی جدول میں، (space, addr, ts) کے لحاظ سے ترتیب شدہ؛ M2.5 سے ذیلی لفظ تک رسائی |
alu | وٹنس | بائٹ لِمب حساب، شفٹس، موازنے؛ M2.6 سے RV32M ضرب اور تقسیم |
range | پیشگی تیار شدہ · 256 قطاریں | رینج کی جانچ اور دو کی طاقتوں کا لُک اَپ |
nibble | پیشگی تیار شدہ · 256 قطاریں | 4 بٹ AND، OR، XOR؛ ہر میچ بذاتِ خود دونوں عاملین پر رینج کی جانچ ہے |
poseidon2 | وٹنس | 32 قطاروں کے بلاکس میں فی پرمیوٹیشن راؤنڈ ایک قطار؛ POSEIDON2 بس اور دونوں ڈائجسٹس کی خدمت کرتا ہے |
input | وٹنس · M4.1 سے | فی نجی اِن پٹ لفظ ایک قطار؛ INPUT_DIGEST اور INPUT_READ کی خدمت کرتا ہے، اس لیے کوئی ریڈ کمٹمنٹ سے بچ کر نہیں نکل سکتی |
keccak | وٹنس · اختیاری | 32 قطاروں کے بلاکس میں Keccak-f[1600]، صرف اُس پروف میں موجود جس کے گیسٹ نے KECCAK کال کیا ہو (M4.2) |
اس کے بعد سے تین کنسٹرینٹ سیٹس شامل ہو چکے ہیں۔ سیٹ 6 نے پروگرام کے ڈیپلائے کے وقت کے عوامی اِن پٹ کے لیے ایک لازمی public جدول شامل کیا، جو غیر نمکین ڈائجسٹ H_PUB سے بندھا ہے، اور keccak کے ساتھ ایک اختیاری sha256 جدول۔ سیٹ 7 (چین 16) ہر LogUp ٹرمینل کو ایک نئی BLIND بس پر پوشیدہ کرتا ہے، ہر اعلان شدہ جدول کو کم از کم 2⁷ قطاروں تک رکھتا ہے، اور لمبائی سے مقید POSEIDON2_LEN سِس کال شامل کرتا ہے۔ سیٹ 8 (چین 18) cpu جدول میں ایک GAS کالم اور ایک عوامی قدر، یعنی اعلان شدہ GAS_LIMIT، شامل کرتا ہے۔
پروف کیا ظاہر کرتا ہے
عوامی: کوڈ ہیش hc (سرکٹ کے اندر آٹھ ڈائجسٹ الفاظ)، نمکین اِن پٹ کمٹمنٹ H_IN (آٹھ الفاظ)، گیس کا درجہ، اور آٹھ آؤٹ پٹ الفاظ۔ کنسٹرینٹ سیٹ 6 سے H_PUB بھی، یعنی عوامی اِن پٹ کا ڈائجسٹ، اور کنسٹرینٹ سیٹ 8 سے اعلان شدہ گیس حد۔ پروف کا ہیڈر Keccak اور SHA-256 جدولوں کی بلندیاں ظاہر کرتا ہے، اس لیے یہ دکھاتا ہے کہ آیا کسی کال نے ہیش کیا اور، 2⁷ کی کم از کم حد سے اوپر، تقریباً کتنا۔
پوشیدہ: نجی اِن پٹس (H_IN نمکین ہے، اس لیے یہ پابند کرنے کے ساتھ ساتھ چھپاتا بھی ہے)؛ ہر ہدایتی لفظ، کیونکہ تصدیق کنندہ hc کو جانچتا ہے، پروگرام کو کبھی نہیں؛ ہر رجسٹر اور میموری کی قدر؛ ہر اختیار کی گئی شاخ؛ سائیکلوں کی صحیح تعداد اور استعمال شدہ گیس کی صحیح مقدار؛ اور کون سی سِس کالز چلیں، سوائے اس کے جو دونوں ہیش جدولوں کی بلندیاں ظاہر کرتی ہیں۔
درجہ ہر پروف میں عوامی ہے کیونکہ STARK کا حجم پہلے ہی اس کے ٹریس کی بلندی ظاہر کر دیتا ہے؛ اشاریہ چھپانے سے کچھ حاصل نہ ہوتا۔ hc پابند کرتا ہے، چھپاتا نہیں: دیکھیے آج اس کی حد کہاں ہے۔
کنسٹرینٹ سیٹ 5 پر پیمائش
| FRI | 80 سوالات · 20 PoW بٹس · بلو اَپ 8 · arity 8 · ZK فعال؛ 260 بٹ قیاسی، تقریباً 86 ثابت شدہ۔ M2 کی 27 سوالات والی دوبارہ ترتیب کو 2026-09-12 کے آڈٹ نے واپس لے لیا |
| کال | tier 10 پر private_payment: ثابت کرنے میں تقریباً 7 s، 80 سوالات پر تقریباً 1.2 MB کا پروف (27 پر 435 KB)، جبکہ M1 پر یہ 21.6 s اور 892 KB تھا |
| منتقلی | چین 13 تک کی چینز کا 2-in-2-out بنڈل گیسٹ: 3,811 الفاظ، تقریباً 9,160 سائیکل، tier 14؛ ثابت کرنے میں تقریباً 100 s، تقریباً 1.3 MB کا پروف۔ چین 14 کا 4-in-4-out پوشیدہ اثاثہ گیسٹ اسی درجے پر مقرر ہے: تقریباً 100 s، تقریباً 1.42 MB |
| تصدیق | گرم کلید کے ساتھ تقریباً 16 ms؛ کسی نئی (tier, heights) کلید پر پہلی تصدیق تقریباً 230 ms |
| بلاک | 4 MiB کا بجٹ اور 2 MiB کی پروف حد: 80 سوالات پر فی بلاک تقریباً تین شیلڈڈ منتقلیاں |
Apple Silicon لیپ ٹاپ، ریلیز بِلڈ۔ ثابت کرنے کے وقت میں تبدیلی M2.3 میں بائٹ جدول کی تقسیم سے آئی؛ پروف کا حجم دوبارہ 80 سوالات والے پروفائل سے بڑھا۔ تصدیق کنندہ کی کلید پروگرام کے مواد سے آزاد ہے، اور درجے نیز پروف میں اعلان شدہ پروگرام، اِن پٹ اور keccak بلندیوں سے متعین ہوتی ہے، اس لیے نوڈ ایک کلید گرم کرتا ہے اور اسے دوبارہ استعمال کرتا ہے۔
بعد کے سیٹوں نے سائز بدل دیے۔ قیودی سیٹ 7 کے تحت پروڈکشن پروفائل پر درجہ 10 کا ثبوت 1,367,688 بائٹ ہے اور Keccak پر مشتمل درجہ 10 کا ثبوت 3,283,898 بائٹ (پیمائش 2026-09-28)۔ چین 17 سے ہر منتقلی میں دو ثبوت ہوتے ہیں: درجہ 14 کا بنڈل ثبوت، تقریباً 1.49 MB، اور درجہ 10 کا توثیقی ثبوت، تقریباً 1.37 MB، جس کی تیاری میں تقریباً 7 s لگتے ہیں۔ چین 20 کا جینیسس 20 MiB کا بلاک اور 4 MiB کی ثبوت حد مقرر کرتا ہے، اور کوئی کال درجہ 14 سے آگے نہیں جا سکتی۔
تین اہداف، ایک سرکٹ
صرف RISC-V براہِ راست چلتا ہے۔ Solidity اور Solana پروگرام یا تو اسی ریلیشن کے اندر ایک انٹرپریٹر گیسٹ پر چلتے ہیں، جس میں ان کا بائٹ کوڈ ان پٹ ہوتا ہے، یا چین سے باہر ایسے RISC-V پروگراموں میں ترجمہ کیے جاتے ہیں جن کے آؤٹ پٹ انٹرپریٹر کے آؤٹ پٹ سے لفظ بہ لفظ مطابقت رکھتے ہیں۔ مہنگے آپ کوڈز کے لیے بٹ بہ بٹ نقل کے بجائے مخصوص کو پروسیسر جدولیں درکار ہیں۔
| ہدف | راستہ | کو پروسیسرز |
|---|---|---|
| RISC-V | براہِ راست۔ RV32IM، یا تو asm.rs کے ذریعے ہاتھ سے اسمبل شدہ یا riscv32im-unknown-none-elf کے لیے کمپائل شدہ no_std Rust، M4.1 سے فلیٹ بائنری کے طور پر لوڈ ہوتا ہے، یا Rust یا C سے rand-guest کے ذریعے امیج کنٹینر میں بنایا جاتا ہے (Rust پروگرام ڈیپلائے کریں) | Poseidon2 (اور سیٹ 7 سے POSEIDON2_LEN)؛ M4.2 سے Keccak-f[1600]؛ سیٹ 6 سے SHA-256 |
| Solidity | solc --bin-runtime سے EVM بائٹ کوڈ، پھر یا تو evm.bin انٹرپریٹر گیسٹ (بائٹ کوڈ بطور ان پٹ) یا evm2rv، جو بائٹ کوڈ کو C میں ترجمہ کرتا ہے جسے rand-guest انہی آؤٹ پٹس والے RV32IM امیج میں بناتا ہے (Ethereum مترجم) | Keccak-256 (جدول فراہم شدہ)، 256 بٹ ماڈیولر حساب، ECRECOVER، اسٹوریج کے لیے Merkle گواہ سسکالز |
| Solana / SVM | ایک sBPF ELF، جسے sbpf.bin انٹرپریٹر گیسٹ چلاتا ہے یا sbpf2rv انہی آؤٹ پٹس والے RV32IM امیج میں ترجمہ کرتا ہے (Solana مترجم) | SHA-256، Ed25519 تصدیق، 64 بٹ ضرب |
سنگِ میل
سنگِ میل 1 نے عمومی مقصد کی مشین کو ثابت کیا۔ سنگِ میل 3 نے اسے شیلڈڈ پول میں بدل دیا: سرکٹ کے اندر رکنیت والی منتقلی R_exec کے تحت ثابت ہوتی ہے، اور تصدیق کنندہ کوئی پروگرام لفظ دیکھے بغیر hc کی جانچ کرتا ہے۔ سنگِ میل 4 مطابقت ہے: اس کا لوڈر، ان پٹ کمٹمنٹ اور Keccak جدول قیودی سیٹ 4 اور 5 کے طور پر، اور SHA-256 جدول سیٹ 6 کے ساتھ جاری ہوئے۔ EVM اور sBPF انٹرپریٹر گیسٹ، rand-guest ٹول چین اور دونوں مترجم تیار ہیں۔ ERC-20 منتقلی 128 GB کی مشین پر ثابت ہو چکی ہے؛ SPL Token کا ثبوت، درجہ 20 پر، ابھی نہیں بنا۔ سنگِ میل 5 بلاک ایگریگیشن کے پیچھے کارفرما ریکرشن VM ہے، جو تیار ہے اور ہر چین پر بند ہے۔ قیودی سیٹ 7 اور 8 ستمبر کے جائزوں اور گیس ماڈل کے بعد آئے۔
| شناخت | دائرہ | تکمیل کا معیار | حیثیت |
|---|---|---|---|
| M1 | پانچ جدولیں، RV32I بنیادی ISA، HALT/WRITE_OUTPUT/READ_INPUT، ZK فعال، درجہ پیڈنگ، اسمبلر، ایمولیٹر | fib، memcpy، bubble_sort، alu_mix اور balance_check ثابت اور تصدیق ہوتے ہیں؛ ہر دھوکا دہی کا ٹیسٹ مسترد ہوتا ہے | مکمل۔ 44 ٹیسٹ؛ بعد کے ایک جائزے نے ایک ہی مرحلے میں صحت (soundness) کے پانچ خلا بند کیے |
| M1.5 | ویونگ کیز: ایک ان ایک آؤٹ شیلڈڈ منتقلی گیسٹ، ML-KEM-768 اور ChaCha20-Poly1305 کے تحت نوٹ لفافے، فریق اور ٹرانزیکشن کی سطح پر افشا، ایک نقلی لیجر | ایک منتقلی درجہ 12 پر ثابت ہوتی ہے اور لیجر اسے قبول کرتا ہے؛ افشا کا ہر دائرہ ٹھیک اپنی ہی قطاریں کھولتا ہے؛ ویونگ کی خرچ نہیں کر سکتی | مکمل۔ نوڈ میں شامل نہیں کیا گیا |
| M2 | تصدیق کنندہ کی کلید کا کیش، FRI کو 100 بٹ کے قیاسی ہدف پر دوبارہ ترتیب دیا گیا، بائٹ جدول کو رینج اور نِبل میں تقسیم کیا گیا، ذیلی لفظ لوڈ اور اسٹور، RV32M توسیع | طے شدہ دائرے سے محدود تر فراہمی: فلیٹ بائنری لوڈر اور READ_INPUT کی مضبوط تر پابندی M4.1 تک منتقل کی گئیں | مکمل۔ درجہ 10 پر fib: ثبوت 892 KB سے 268 KB، ثبوت سازی 21.6 s سے 3.1 s، پہلی تصدیق 2.17 s سے 16 ms۔ قیودی سیٹ 3، ایک ہارڈ فورک |
| M3 | Poseidon2 چِپ اور سسکال؛ اس پر گیسٹ روٹینز کے طور پر NOTE_COMMIT، NULLIFY اور MERKLE_VERIFY؛ خرچ شدہ کمٹمنٹ پبلک آؤٹ پٹ سے ہٹائی گئی؛ پروگرام جدول بطور گواہ، hc کا ڈائجسٹ سرکٹ کے اندر | منتقلی کی ریلیشن R_exec کے تحت سرکٹ کے اندر رکنیت کے ساتھ ثابت ہوتی ہے، اور verify(hc, proof) کوئی پروگرام لفظ نہیں دیکھتا | مکمل۔ منتقلی گیسٹ: 4,554 ہدایات، 4,903 سائیکل، درجہ 14۔ Merkle راستہ اب ایک گنتی والا لوپ ہے، اس لیے پروگرام کا سائز درخت کی گہرائی کے ساتھ نہیں بڑھتا |
| CUDA | GPU ثبوت ساز بیک اینڈ: NTTs اور Poseidon2 Merkle کمٹمنٹس بطور CUDA کرنلز، Plonky3 کے Dft اور Mmcs traits کے پیچھے؛ rand send، call اور deploy میں --cuda دستیاب | ہر گیسٹ خالص Rust حوالہ جڑواں اور فرضی ڈرائیور کے ذریعے ثابت اور تصدیق ہوتا ہے؛ CPU تصدیق کنندہ بیک اینڈز میں فرق نہیں کر سکتا | مکمل؛ ہارڈ ویئر پر پہلا رن 2026-09-28۔ NVIDIA H100 پر کرنلز sm_80 اور sm_90 کے لیے PTX میں بنتے ہیں اور CPU اور Plonky3 حوالے سے مطابقت رکھتے ہیں۔ فلیٹ کے GPU نوڈ پر پروڈکشن کی دوبارہ پیمائش ابھی باقی ہے۔ CUDA کال ان پٹ لفافہ سیل نہیں کر سکتی، کیونکہ سالٹ کبھی ثبوت ساز سے باہر نہیں جاتا |
| M4.1 | فلیٹ بائنری لوڈر اور riscv32im-unknown-none-elf کے لیے پہلے کمپائل شدہ no_std Rust گیسٹ؛ اپنی ان پٹ جدول کے ساتھ سالٹ شدہ ان پٹ کمٹمنٹ H_IN، تاکہ READ_INPUT ایک کمٹ شدہ ویکٹر کے مقابل تلاش ہو | معیاری ٹول چین سے بنا گیسٹ لوڈ، ثابت اور تصدیق ہوتا ہے؛ ایک ہی ان پٹ اشاریے کی دو ریڈز متفق ہوتی ہیں اور ان پٹس H_IN سے بندھے ہوتے ہیں | مکمل۔ 2026-09-11 کو قیودی سیٹ 4 کے طور پر شامل: 26 پبلک ویلیوز، آٹھ جدولیں، ایک ہارڈ فورک |
| M4.2 | ہاتھ سے لکھی گئی Keccak-f[1600] کو پروسیسر جدول اور KECCAK سسکال، جو ثبوت میں صرف تب موجود ہوتی ہے جب گیسٹ نے اسے استعمال کیا ہو؛ ثبوت میں اعلان کردہ میموری بلندی؛ چار اجزا پر مبنی تصدیق کنندہ کی کلید؛ 2026-09-12 کے آڈٹ کے بعد FRI دوبارہ 80 سوالات پر | keccak256 کمپائل شدہ گیسٹ کے طور پر ثابت ہوتا ہے، اور جدول کے بغیر ثبوت ساخت میں M4.1 کے ثبوت سے بائٹ بہ بائٹ یکساں ہے | مکمل۔ 2026-09-12 کو قیودی سیٹ 5 کے طور پر شامل، ایک ہارڈ فورک۔ Keccak پر مشتمل ثبوت تقریباً 1.9 MB بڑا ہوتا ہے، جو 2 MiB کی طے شدہ حد سے زیادہ ہے۔ جس چین کا جینیسس حد بڑھاتا ہے وہ اسے قبول کرتی ہے: چین 13 (8 MiB) نے 2026-09-19 کو 3.41 MB کی Keccak پر مشتمل کال قبول کی، اور چین 20 کی حد 4 MiB ہے |
| M4.3 · M4.4 | RV32IM میں کمپائل شدہ EVM اور sBPF گیسٹ انٹرپریٹر، غیر ملکی بائٹ کوڈ بطور ان پٹ؛ Keccak کے ساتھ SHA-256 کو پروسیسر جدول؛ پھر rand-guest ٹول چین اور evm2rv اور sbpf2rv مترجم (2026-09-18) | ایک ERC-20 منتقلی اور ایک SPL Transfer، ہر ایک R_exec کے تحت ثابت ہوتی ہے | تیار؛ تکمیل کا ایک ثبوت بنا۔ evm.bin (18,009 الفاظ) اور sbpf.bin (8,317) ERC-20 اور SPL Token ویکٹرز چلاتے ہیں، اور ترجمہ شدہ امیجز ان سے لفظ بہ لفظ مطابقت رکھتی ہیں۔ ERC-20 transfer درجہ 18 پر 128 GB کے ڈراپلیٹ پر 2026-09-19 کو ثابت ہوئی (85.0 GB زیادہ سے زیادہ، 53.8 min)؛ SPL Token کا ثبوت، درجہ 20 پر، اندازاً تقریباً 330 GB کا ہے اور نہیں بنایا گیا (ثبوت سازی کی میموری)۔ دونوں میں سے کوئی بھی چین پر قابلِ کال نہیں: کال کی حد درجہ 14 ہے |
| M5 | ریکرشن VM (rVM): 24 ہدایات والی Goldilocks مقامی مشین جس کے پروگرام Rand zkVM ثبوتوں کی تصدیق کرتے ہیں، ہر اندرونی ثبوت کی ساخت کے لیے ایک N-عمومی ایگریگیٹ پروگرام، CPU اور CUDA بیک اینڈ کی تقسیم، اور ایک خود تصدیق کنندہ (M5.1 تا M5.4، 2026-09-13 تا 2026-09-16) | 50 حقیقی پروڈکشن بنڈل ثبوت قبول اور 50 چھیڑ چھاڑ شدہ ثبوت نامزد مرحلے پر مسترد؛ ایک حقیقی بنڈل ثبوت پر تصدیق کنندہ پروگرام کا rVM ثبوت براہِ راست تصدیق ہوتا ہے (ٹیسٹ پروفائل) | تیار؛ پروڈکشن ثبوتوں کے لیے بڑی مشین درکار ہے۔ crates/randprotocol-rvm کے طور پر شامل۔ چین کی سطح پر ایگریگیشن ضم ہو چکی ہے اور ہر چین پر بند ہے (نیچے) |
| سیٹ 7 | ہر LogUp ٹرمینل بلائنڈ؛ ہر اعلان کردہ جدول کم از کم 2⁷ قطاروں پر؛ ان پٹ، پبلک اور سالٹ الفاظ پر 32 بٹ رینج جانچ؛ POSEIDON2_LEN سسکال؛ JALR کی درستی؛ تصدیق کنندہ کی کلیدیں key_derivation_v2 سے سالٹ شدہ | 2026-09-27 اور 28 کے zkVM جائزوں کی وہ درستیاں جو تصدیق کنندہ کی کلید بدلتی ہیں، ایک ہی کٹ میں | مکمل۔ Fullnode v0.6.1، چین 16 (2026-09-28)، ایک ہارڈ فورک |
| سیٹ 8 | گیس میٹر: cpu جدول میں GAS کالم اور ایک پبلک GAS_LIMIT، جس میں GAS ≤ GAS_LIMIT سرکٹ کے اندر ثابت ہوتا ہے؛ رن کی ٹھیک گیس نجی رہتی ہے | ایک کال اپنی اعلان کردہ حد کی ادائیگی کرتی ہے، اور ہر بنڈل ثبوت وہی مقررہ حد اعلان کرتا ہے | مکمل۔ Fullnode v0.6.7-rc1، چین 18 (2026-09-29)، ایک ہارڈ فورک۔ bundle_gas_limit کی قدر 20,479 ہے |
شیلڈڈ پول کے مراحل
فل نوڈ کا لیجر تین مراحل میں شامل ہوا، ہر ایک ہارڈ فورک (docs/shielded.md §7)۔ S1 نے اکاؤنٹ لیجر کی جگہ نوٹ پول رکھا؛ S3 نے برج کو نوٹس کی صورت میں واپس لایا اور سب سے پہلے شامل ہوا؛ S2 نے اس کے اوپر اسٹیکنگ رکھی۔ تینوں main پر اور موجودہ چین پر موجود ہیں۔
بلاک S2 سے نیچے کی قطاریں v0.5 کا کام ہیں۔ ہر قطار ایک ہارڈ فورک ہے؛ انہیں یکجا کر کے ایک نئی چین، chain 14، کی صورت میں 2026-09-20 کو بلڈ b3c594c سے کاٹا گیا، اور اسی دن ڈیپلائے شدہ سورس اینڈپوائنٹس کے ذریعے zUSD کے ایک لائیو راؤنڈ ٹرپ کے بعد اسے v0.5 کا ٹیگ دیا گیا۔ Chain 15، جو 2026-09-26 سے v0.5.8 اور بعد کے ورژنز پر لائیو ہے، یہ سب کچھ لے کر چلی، اور اس میں آڈٹ v4 اور v5 کی وہ اصلاحات فعال کی گئیں جو جینیسس سے مشروط تھیں: فی ایپوک بجٹ کے ساتھ اجازت فہرست والا فاسیٹ، بانڈ کی مؤخر فعالیت، اسٹیک کے وزن کی حد، جینیسس سے بندھی رجسٹریشنز، consensus_domain 1، برج قواعد v2، اور ٹوکن رجسٹری کی حد، جلائی جانے والی رجسٹریشن فیس اور 2⁶³ کی نوٹ حد۔ Chain 20، جو 2026-10-01 06:17 UTC سے v0.6.8 (c9c9bd3c) پر لائیو ہے اور chain 19 کا ہارڈ فورک ہے، یہ سب برقرار رکھتی ہے اور v0.6 ریلیزز کا کام شامل کرتی ہے، جس کی فہرست نیچے دی گئی ہے۔
| id | دائرہ | تکمیل کا معیار | حیثیت |
|---|---|---|---|
| S1 | خود پول: نوٹس، 2-ان-2-آؤٹ ثابت شدہ بنڈلز، depth-32 کا Poseidon2 کمٹمنٹ ٹری اور نلیفائر سیٹ، مقامی پروور کے ساتھ rand والٹ، اور مخفی شدہ RPC | والٹس کے درمیان ایک شیلڈڈ منتقلی، دو ویلیڈیٹرز کے درمیان دوہرے خرچ کی دوڑ، اور بنڈلز سے ادا شدہ ایک deploy-and-call، سب کلسٹر سوٹ میں کامیاب ہوتے ہیں | مکمل۔ chain 6 (2026-09-12) سے عوامی فلیٹ پر لائیو |
| S3 | برج بطور نوٹس: برج شدہ ہولڈنگ رجسٹری کا اثاثہ انڈیکس رکھتی ہے، ایک تصدیق نامہ ایک ایسا نوٹ جمع کرتا ہے جسے چین خود شمار کرتی ہے، اور BridgeBurn واحد دو بنڈل والی ٹرانزیکشن ہے؛ کال اِن پٹس کے لیے مہر بند لفافے، جنہیں کالر، فی کال کلید یا نامزد آڈیٹر کھول سکتا ہے | ایک برج شدہ اثاثہ بطور نوٹ منٹ، خرچ اور برن ہوتا ہے؛ کالر یہ ظاہر کر سکتا ہے کہ کسی پروگرام نے کس ڈیٹا پر عمل کیا، بغیر اسے شائع کیے، اور rand open-call اس افشا کو H_IN کے مقابل جانچتا ہے | مکمل۔ سب سے پہلے شامل ہوا۔ Chain 9 سے 13 تک نے برج سیکشن کو اپنے جینیسس سے خارج رکھا؛ chain 14 کے بعد سے ہر چین میں یہ موجود ہے۔ Chain 14 سے برن ایک بنڈل پر مشتمل ہے، دو پر نہیں |
| S2 | شیلڈڈ چین پر اسٹیکنگ: ویلیڈیٹرز کا ایک عوامی رجسٹر، کسی بنڈل کے برن سے Bond، دو ایپوکس پر محیط Unbond، کسی ادائیگی ایڈریس پر نوٹ میں Withdraw، 1,000 بلاکس کے ایپوکس جو سیٹ کو ازسرِنو اخذ کرتے ہیں، اور رجسٹر اور پول پر سپلائی آڈٹ | ایک پانچواں ویلیڈیٹر رجسٹر ہوتا ہے، بانڈ کرتا ہے اور اگلے ایپوک سے بلاک تجویز کرتا ہے؛ ایک ویلیڈیٹر انبانڈ ہو کر سیٹ سے نکلتا ہے اور ایک ایسے نوٹ میں رقم نکالتا ہے جسے اس کا ادائیگی والٹ خرچ کرتا ہے؛ دونوں کلسٹر سوٹ میں کامیاب ہوتے ہیں | مکمل۔ والٹ کا مقامی کمٹمنٹ ٹری 2026-09-21 کو اس کے بعد آیا: والٹ اپنے ثبوتی راستے (witnesses) خود شمار کرتا ہے اور اب اپنے نوڈ کو یہ نہیں بتاتا کہ وہ کون سا لیف خرچ کر رہا ہے |
| RPL | ٹوکن معیار (docs/tokens.md): ٹوکن لیجر میں ایک رجسٹری اندراج ہے جس کی 62 حروف پر مشتمل rpl1… bech32m شناخت ہوتی ہے؛ تخلیق RAND میں رجسٹریشن فیس کے عوض بلا اجازت ہے؛ منٹ اتھارٹی رجسٹریشن کے وقت مستقل طور پر طے ہوتی ہے: کوئی نہیں، ایک کلید، یا برج؛ علامتیں منفرد نہیں ہوتیں؛ rand token create، mint، set-authority، burn، info، list، اور rand_getTokens، rand_getToken، rand_getTokenSupply | ایک ٹوکن رجسٹر ہوتا ہے، منٹ ہوتا ہے، rand send --asset کے ذریعے بھیجا جاتا ہے اور اسی پول میں بطور نوٹس برن ہوتا ہے | chain 14 (v0.5) سے جاری۔ Chain 20 پر رجسٹریشن فیس 1 RAND ہے جو جلا دی جاتی ہے، رجسٹری زیادہ سے زیادہ 4,096 ٹوکن رکھتی ہے، اور جینیسس zUSD کو انڈیکس 1 پر درج کرتا ہے |
| RPL-2 | پروگرام اسٹیٹ (docs/program-state.md): فی پروگرام سیلز (8 الفاظ کی کلید سے 8 الفاظ کی قدر تک، اسٹیٹ روٹ میں)، فی اثاثہ ایک عوامی خزانہ، ایسا ٹوکن جسے صرف اس کا پروگرام منٹ کرے، اور Invoke ایکشن (Action 33)، یعنی ایسی کال جو ان سیلز کا اعلان کرتی ہے جنہیں وہ پڑھتی اور لکھتی ہے اور ان نوٹس کا جو وہ ادا کرتی ہے؛ rand program invoke، state، vault، اور rand_getProgramCell، rand_getProgramCells، rand_getProgramVault | لیجر کسی تبدیلی کو صرف تب لاگو کرتا ہے جب ہر اعلان شدہ ریڈ اب بھی درست ہو اور خزانہ ہر ادائیگی کو پورا کرے؛ پرانی ریڈ مسترد کر دی جاتی ہے اور اسے دوبارہ ثابت کیا جاتا ہے | chain 20 (v0.6.8) سے جاری۔ cell_fee فی نیا سیل 0.01 RAND؛ ایک invoke میں زیادہ سے زیادہ 8 ریڈز، 8 رائٹس اور 4 ادائیگیاں۔ دیکھیے Programs |
| پوشیدہ اثاثہ بنڈل | ہر ٹرانزیکشن 2-ان-2-آؤٹ بنڈل کی جگہ ٹھیک ایک 4-ان-4-آؤٹ بنڈل رکھتی ہے: سلاٹ 0–1 نجی اثاثہ رکھتے ہیں (صرف RAND کی منتقلی میں فرضی اندراجات)، سلاٹ 2–3 ہمیشہ RAND ہوتے ہیں اور فیس ادا کرتے ہیں۔ دو بنڈل والی ٹوکن منتقلی اور دو بنڈل والا برج برن ختم ہو چکے ہیں | RAND کی منتقلی اور کسی بھی RPL ٹوکن کی منتقلی بالکل یکساں ساخت شائع کرتی ہیں، اس لیے منتقل ہونے والا اثاثہ پوشیدہ رہتا ہے | chain 14 (v0.5) سے جاری۔ Tier 14، ثبوت تیار کرنے میں تقریباً 100 s، chains 14 اور 15 پر تقریباً 1.42 MB کا ثبوت؛ وہاں hc_bundle 83d3a370… ہے۔ Chains 18 سے 20 بنڈل گیسٹ v3 کو مقرر کرتی ہیں، hc_bundle 60af094a…، تقریباً 1.49 MB |
| ٹرانزیکشن بائنڈنگ | ہر بنڈل ثبوت H("rand-tx-bind-1", chain_id ‖ tx with proofs blanked) پر بنایا اور اسی کے مقابل تصدیق کیا جاتا ہے، جو پبلک اِن پٹ سیگمنٹ میں موجود ہوتا ہے | ایک نقل شدہ، غیر ترمیم شدہ ثبوت جسے بدلی ہوئی منزل، ویلیڈیٹر یا میمو کے ساتھ دوبارہ جمع کرایا جائے، مسترد کر دیا جاتا ہے | chain 14 (v0.5) سے جاری۔ Chain 20 (binding_domain 1) سے پری امیج H("rand-tx-bind-2", genesis hash ‖ chain_id ‖ …) ہے، اور ہر دستخط شدہ ایکشن پیغام میں بھی جینیسس ہیش شامل ہوتا ہے، لہٰذا ایک چین کے لیے ثابت یا دستخط شدہ کوئی چیز دوسری چین پر تصدیق نہیں پاتی |
| B1–B4 | برج کی مضبوطی (docs/bridge.md §§14–20)۔ B1: فی بیکنگ یومیہ منٹ کی حد، اور ایک توقف کلید جو صرف توقف کر سکتی ہے (توقف ختم کرنے کے لیے PQ کورم درکار ہے)۔ B2: جس بلاک کا ٹائم اسٹیمپ اپنے پیرنٹ سے 60 s سے زیادہ آگے ہو وہ غیر معتبر ہے، اور ویلیڈیٹر ایسے بلاک کو ووٹ نہیں دیتا جو اس کی گھڑی سے 15 s سے زیادہ آگے ہو، اس لیے ویلیڈیٹرز کو NTP درکار ہے۔ B3: ہر منٹ پر Dilithium2 شریک دستخطوں کا کورم۔ B4: جینیسس کے بعد PQ نگہبان کورم کے تحت کسی برج شدہ ٹوکن یا بیکنگ کی فہرست سازی، بغیر نئی چین کاٹے | zUSD، یعنی سات بیکنگز (Ethereum، Binance Smart Chain، Tron اور Solana پر USDT اور USDC) والا ایک ٹوکن، ٹرانزیکشن کے ذریعے رجسٹر ہوتا ہے، اور total_supply == Σ backings.locked ساخت کے لحاظ سے برقرار رہتا ہے۔ مقامی نو مرحلوں پر مشتمل جانچ (zusd_e2e.rs: چار ویلیڈیٹرز، حقیقی ثبوت، فاسیٹ سے رجسٹریشن، پھر ڈپازٹ، منتقلی، برن اور آڈٹ تک) 9 میں سے 9 مراحل میں کامیاب رہی | chain 14 (v0.5) سے جاری۔ Chain 20 پر: فی بیکنگ یومیہ 100,000 zUSD کی منٹ حد، نیز ہر متحرک 24 گھنٹوں میں مجموعی 4,000 zUSD (برج قواعد v2)، آٹھ PQ نگہبانوں پر مشتمل نگہبان سیٹ 1، ہر منٹ اور ہر برن پر zUSD میں 10 bps فیس (bridge.fees)، اور نگہبانوں کی تبدیلیاں جن کے لیے ملکیت کا ثبوت درکار ہے اور جو 86,400 s انتظار کرتی ہیں (bridge.rotation)۔ zUSD اپنی سات بیکنگز اور کٹ کے وقت مقفل 99 zUSD کے ساتھ chain 20 کے جینیسس میں درج ہے |
| آڈٹ v3 | تیسرے داخلی آڈٹ دور کی اصلاحات، جس کی قیادت ایک شریک بانی نے کی (2026-09-19؛ کوئی آزاد آڈٹ نہیں کیا گیا)۔ POOL-1: فاسیٹ کا Mint اپنے نوٹ کا افشا (pk، time، r) ساتھ رکھتا ہے، داخلے پر کمٹمنٹ دوبارہ شمار کی جاتی ہے، اور منٹ کنندہ rand-mint-2 پر دستخط کرتا ہے؛ جینیسس الاٹمنٹ نوٹس بھی افشا ساتھ رکھتے ہیں۔ RPC-1: rand_getWitness(es) بیک وقت زیادہ سے زیادہ دو ٹری ری بلڈز چلاتا ہے اور 10 s کے بعد -32000 busy جواب دیتا ہے۔ OPS-1: تمام اٹھارہ ویلیڈیٹر کلیدیں تبدیل کی گئیں، ریپوزٹری سے باہر تیار کی گئیں، اور کوئی کلید ریپوزٹری میں ٹریک نہیں ہوتی | ایسا منٹ جس کی کمٹمنٹ اس کی رقم سے زیادہ پر کھلے، مسترد کر دیا جاتا ہے؛ chain 14 کی کوئی کلید کبھی ریپوزٹری میں نہیں رہی | chain 14 (v0.5) سے جاری۔ PRIV-1، یعنی وہ witness درخواست جو لیف کی نشاندہی کرتی تھی، 2026-09-21 کو والٹ کے اپنے ٹری کے ذریعے بند کر دی گئی |
v0.5 کے بعد کی ریلیزز
ہر ریلیز ایک git ٹیگ ہے جس کا اندراج فل نوڈ کی CHANGELOG.md میں ہوتا ہے۔ جو ریلیز کنسینسس، وائر فارمیٹ یا کسی تصدیق کنندہ کلید کو تبدیل کرتی ہے وہ نئی چین کے ساتھ جاری ہوتی ہے؛ باقی ریلیزز لائیو چین پر ایک وقت میں ایک نوڈ کے حساب سے نافذ ہوتی ہیں۔
| ریلیز | اس میں کیا آیا | چین |
|---|---|---|
| v0.5 تا v0.5.8 | RPL ٹوکن، zUSD اور مضبوط کردہ برج (اوپر)؛ آڈٹ کی اصلاحات؛ تاریخ کی تراش؛ اتفاقِ رائے اور ہم آہنگی کی مضبوطی | 14، 15 |
| v0.5.9 | ری اسکین کی اصلاحات: فاسیٹ صرف جینیسس توثیق کنندگان سے منٹ کرتا ہے، ہم آہنگی میں بتدریج پسپائی، گوسپ کی پیشگی جانچ | 15 |
| v0.5.10 | پتے کا اشتراک: فنگرپرنٹس، randpay: لنکس اور QR کوڈز؛ خفیہ کردہ میمو، جسے پہلی بار چین 18 نے فعال کیا | 15 |
| v0.5.11 | ٹیم، سرمایہ کار اور شراکت دار مختصات کے لیے وقت سے مقفل جینیسس ویسٹنگ۔ جینیسس سے مشروط، اور کسی چین پر فعال نہیں | کوئی نہیں |
| v0.6 | ستمبر کے جائزوں سے zkVM، rVM اور تجمیع کی اصلاحات | 15 |
| v0.6.1 | پابندیوں کا مجموعہ 7: LogUp بلائنڈنگ، جدول کی کم از کم حد 2⁷، 32-بٹ رینج جانچ، POSEIDON2_LEN، JALR کی اصلاح۔ چین 16 کو hardening_v6 اور بنڈل گیسٹ v2 کے ساتھ شروع کیا گیا | 16 |
| v0.6.2 | تفویض کردہ ثبوت سازی، مرحلہ 1: rand-prover بائنری اور والیٹ کا --prover۔ مرحلہ 1 کا ثابت کنندہ خرچ کی کلید وصول کرتا ہے | 16 |
| v0.6.3, v0.6.4 | تفویض کردہ ثبوت سازی، مرحلہ 2: منقسم اجازت۔ بنڈل ثبوت اب خرچ کی کلید نہیں لیتا، درجہ 10 کا اجازتی ثبوت لیتا ہے، اور ٹرانزیکشن id کا ڈومین rand-txid-3 ہو جاتا ہے | 17 |
| v0.6.6, v0.6.7-rc1 | گیس: پابندیوں کا مجموعہ 8، ہر ثبوت کے لیے اعلان کردہ گیس حد، متحرک گیس اور بائٹ قیمتیں؛ میمو فعال۔ v0.6.6 ٹیگ شدہ حالت میں کبھی جاری نہیں ہوا | 18 |
| v0.6.7 | چین 18 پر وہ اصلاحات جو اتفاقِ رائے کا کوئی اصول نہیں بدلتیں: مہر بند ثبوتوں کی تراش (غیر فعال)، لفافہ فارمیٹ کی تثبیت، دیکھنے کی کلید کی حفظانِ صحت، rVM ایلوکیٹر، GPU کرنل ایلیاسنگ، ALU ٹیسٹ کوریج۔ مکمل ورک اسپیس سوئٹ ختم ہونے سے پہلے ٹیگ کیا گیا | 18، 19 |
| v0.6.8 | RPL-2: پروگرام سیلز، پروگرام والٹس اور Invoke ایکشن۔ zUSD برج فیس، دونوں سمتوں میں۔ audit-v6 کی آخری اصلاحات: لاک کی کوئی خودکار رہائی نہیں (CON-4) اور ٹائم آؤٹ سرٹیفکیٹ پیس میکر (CH-1)؛ ایک --public-rpc لسنر، پڑھنے کی حدیں، مخصوص توثیق کنندہ ہم منصب، ہم آہنگی اور گوسپ کے بجٹ، پول کی بائٹ حد، ثبوت کے ہیڈر کی اعلان کردہ ڈگری پر حد (ZKV-4)؛ اور جینیسس سے مشروط وہ اصول جو چین 20 فعال کرتا ہے: جینیسس ہیش کی بندش، testnet، 1,024 بلاکس کی ثبوتی کھڑکی، گیس قیمت کی بالائی حدیں اور ادائیگی کرنے والا بائٹ بوجھ، ووٹ کے ذریعے داخلہ، اسٹیک اندراج کی حد بطور کسر، برج گردشوں کے لیے قبضہ اور تاخیر۔ چین 20 پر بھیجنے کے لیے والیٹس کو یہی بلڈ درکار ہے | 20 |
آج یہ کہاں رکتا ہے
وائٹ پیپر سے انحرافات، جنہیں ہموار کرنے کے بجائے صاف بیان کیا گیا ہے۔ ہر ایک کریٹ کی اپنی دستاویزات میں اس سنگِ میل کے ساتھ درج ہے جو اسے بند کرتا ہے۔
hcپابند کرنے والا ہے مگر چھپانے والا نہیں: اس میں کوئی سالٹ شامل نہیں، اس لیے کسی اندازہ کیے گئے پروگرام کی تصدیق کی جا سکتی ہے اور ایک ہی پروگرام کی دو تعیناتیوں کو باہم جوڑا جا سکتا ہے۔ M3.4 نے جو ختم کیا وہ تصدیق کنندہ کا پورے پروگرام کو کھلی حالت میں رکھنا ہے۔- 2026-09-21 سے پہلے بنایا گیا والیٹ اپنے نوڈ سے گواہ مانگتا ہے، اور گواہ کی درخواست اس برگ کی نشاندہی کرتی ہے جسے وہ خرچ کرنے والا ہے۔ موجودہ
randدرخت کی اپنی نقل رکھتا ہے اور کبھی نہیں مانگتا؛ نوڈ پرانے والیٹس کے لیے اب بھیrand_getWitnessفراہم کرتا ہے۔ - جمع شدہ رقوم سرحد پر عوامی ہیں: فاسیٹ منٹ، جینیسس نوٹ اور برج ڈپازٹ سب اپنی رقم کھلی حالت میں رکھتے ہیں (چین 14 سے منٹ اور جینیسس نوٹ اپنی کشائی بھی رکھتے ہیں، اس لیے مالک کی کلید بھی عوامی ہے)، وہی ایک قدم کی مرئیت جو شفاف سے پوشیدہ میں جمع کرانے کی ہر جگہ ہوتی ہے۔
- صفر علمی خاصیت شماریاتی ہے، کامل نہیں۔ Plonky3 0.7 کا چھپانے والا FRI درحقیقت یہی خاصیت فراہم کرتا ہے، اور کریٹ یہی کہتا ہے۔
- ٹرانسکرپٹ ہیش ترقیاتی راؤنڈ مستقلات کے ساتھ Poseidon2 ہے، مقالوں کا SHA3-384 / BLAKE3-384 نہیں۔ یہ کنفیگریشن کی تبدیلی ہے، ازسرِنو تحریر نہیں۔
- 80 FRI سوالات پر بنڈل ثبوت چین 14 اور 15 پر تقریباً 1.42 MB تھا (چین 13 تک تقریباً 1.3 MB)۔ چین 17 سے ایک منتقلی تقریباً 2.85 MB ثبوت رکھتی ہے: بنڈل ثبوت، تقریباً 1.49 MB، اور اجازتی ثبوت، تقریباً 1.37 MB۔ پہلے سے طے شدہ چین پر، 4 MiB بلاکس اور 2 MiB ثبوتی حد کے ساتھ، Keccak پر مشتمل ثبوت ثبوتی حد سے سیدھا تجاوز کر جاتا ہے؛ چین 20 کا جینیسس 20 MiB بلاکس اور 4 MiB ثبوتی حد مقرر کرتا ہے (چین 13 تا 16 نے 8 MiB مقرر کیا)۔
- کال ثبوت کا ہیڈر پوشیدہ نہیں۔ یہ درجہ اور Keccak اور SHA-256 جدولوں کی بلندیاں ظاہر کرتا ہے، اس لیے یہ دکھاتا ہے کہ کال نے ہیش کیا یا نہیں۔ v0.6 کی ثابت کنندہ کی کم از کم حد سے پہلے چین 15 پر کمٹ کی گئی کالوں نے اس سے زیادہ ظاہر کیا: 2⁷ قطاروں سے کم کی نجی جدول ثبوت سے پڑھی جا سکتی تھی۔ v0.6 کی ثابت کنندہ کی کم از کم حد نے نئی کالوں کے لیے یہ راستہ بند کر دیا، اور
hardening_v6کے ساتھ پابندیوں کے مجموعہ 7 نے چین 16 سے آگے اسے چین کا اصول بنا دیا۔ - ایک کال درجہ 14 تک محدود ہے، زیادہ سے زیادہ 2¹² Keccak قطاروں (128 تبادلات) اور 2¹³ SHA-256 قطاروں (128 انضغاطات) کے ساتھ، اور
hardening_v6کے تحت 8,180 الفاظ سے بڑا پروگرام تعینات نہیں کیا جا سکتا۔ EVM اور sBPF انٹرپریٹر گیسٹس اور ترجمہ شدہ ERC-20 اور SPL Token امیجز سب اس سے اوپر ہیں۔ - جس کے پاس گواہ ہو وہ سب کچھ دیکھتا ہے۔ ZK تصدیق کنندہ کے منظر کی حفاظت کرتا ہے، ثابت کنندہ کے منظر کی نہیں۔ چین 17 سے والیٹ خرچ کی کلید حوالے کیے بغیر بنڈل ثبوت کسی جوڑے گئے
rand-proverکو سونپ سکتا ہے، مگر وہ ثابت کنندہ پھر بھی دیکھنے کی کلید رکھتا ہے اور نوٹس دیکھتا ہے۔ CUDA بیک اینڈ پہلی بار 2026-09-28 کو ہارڈویئر پر چلا اور اس کی ابھی کوئی پیداواری پیمائش نہیں۔
ریپوزٹری کی ساخت
fullnode کا Cargo ورک اسپیس، جیسا کہ اس کے README اور اس کی crates/ ڈائریکٹری میں ترتیب دیا گیا ہے۔
| راستہ | اس میں کیا ہے |
|---|---|
crates/randprotocol-core/ | خالص منطق، کوئی I/O نہیں: کرپٹوگرافی، نوٹس اور کمٹمنٹ درخت، لیجر کے اصول، گیس، جینیسس، HotStuff اسٹیٹ مشین |
crates/randprotocol-zkvm/ | Rand zkVM، جو پابندیوں کے مجموعہ 8 پر zkp-circuits/research سے شامل کیا گیا ہے (circuits aeacf31؛ deploy/sync-zkvm.sh کے ذریعے دوبارہ ہم آہنگ کیا جاتا ہے)، نیز چین کی جانب کا ثبوت تصدیق کنندہ اور اس کا تصدیقی کلید کیش |
crates/randprotocol-rvm/ | ریکرشن VM، جو zkp-circuits/recursion سے شامل کیا گیا ہے: ایک فیلڈ پر مبنی مشین جس کے پروگرام Rand zkVM ثبوتوں کی تصدیق کرتے ہیں |
crates/bridge-codec/ | نگہبان برج کا وائر فارمیٹ اور کورم کا اصول، جو Solidity کنٹریکٹس اور Solana پروگرام کے ساتھ بائٹ بہ بائٹ مشترک ہیں |
crates/randprotocol-node/ | RocksDB ذخیرہ، libp2p نیٹ ورکنگ، میم پول، بلاک ہم آہنگی، JSON-RPC سرور اور rand-node بائنری |
crates/randprotocol-client/ | rand والیٹ بائنری اور RpcClient لائبریری، RocksDB یا libp2p پر کسی انحصار کے بغیر |
crates/randprotocol-prover/ | rand-prover بائنری: ایک تفویض کردہ ثابت کنندہ جو جوڑے گئے والیٹس کے لیے بنڈلز کے ثبوت بناتا ہے |
deploy/ | testnet جینیسس فائلیں، nodes.env، رن اسکرپٹس، کلاؤڈ پروویژننگ، منتقلی اور ازسرِنو تعمیر کے اسکرپٹس۔ چین 14 کی تیاری کے بعد سے یہاں کوئی کلید ٹریک نہیں کی جاتی |
docs/ | حوالہ جاتی دستاویزات اور ڈیزائن کی تفصیل |
scripts/ | مقامی دو توثیق کنندگان والا testnet |
متعین، مگر ابھی جاری نہیں
یہ اجزاء مقالوں یا fullnode کی دستاویزات میں بیان کیے گئے ہیں مگر چل نہیں رہے: یا تو ریپوزٹریز سے غائب ہیں، یا بنے ہوئے ہیں اور کسی چین پر فعال نہیں۔ انہیں اس لیے درج کیا گیا ہے کہ تفصیل اور کوڈ کے درمیان فرق اندازے کے بجائے واضح طور پر پڑھا جا سکے۔
| جزو | حیثیت |
|---|---|
| برج · نگہبان | وہ نگہبان اور ریلیئر ڈیمن جو تصدیق نامے کے فارمیٹ کو اول تا آخر چلاتے ہیں؛ کنٹریکٹس، کوڈیک اور fullnode کا وصول کنندہ حصہ جاری ہو چکے ہیں، ڈیمن نہیں |
| fullnode · تجمیع | ریکرشن VM کے ساتھ بلاک تجمیع: مہر بندی، تراش اور مہر بند شکل میں ہم آہنگی۔ بنی ہوئی ہے اور ہر چین پر بند ہے؛ rand-node ایسا جینیسس رد کر دیتا ہے جس میں aggregation حصہ ہو۔ اسے اب بھی جعلی تجمیع کی اول تا آخر مشق درکار ہے، اور یہ صرف بنڈل ثبوت ہٹاتی ہے، اجازتی ثبوت نہیں۔ پیداواری rVM ثبوتوں کو بڑی مشین درکار ہے: پابندیوں کے مجموعہ 7 کے تحت دو کی تجمیع نے 133 GB لیے، تین کی نے 221 GB، اور اخراجی ثبوت نے 256 GB سے زیادہ (2026-09-28 اور 29 کو ناپا گیا؛ پابندیوں کے مجموعہ 8 کے تحت دوبارہ نہیں ناپا گیا) |
| fullnode · ویسٹنگ | ٹیم، سرمایہ کاروں اور شراکت داروں کے لیے وقت سے مقفل جینیسس مختصات (v0.5.11، docs/vesting.md)۔ جینیسس سے مشروط: vesting حصے کے بغیر چاروں ویسٹنگ ایکشنز رد کر دیے جاتے ہیں، اور کسی چین میں یہ حصہ نہیں۔ چین 20 کا رسدی آڈٹ ہر ویسٹنگ کاؤنٹر کو صفر بتاتا ہے۔ v0.6.8 سے قابلِ تنسیخ اندراج اپنے منسوخ کنندگان کی مقررہ حد کے ذریعے منسوخ ہوتا ہے، اور صرف اسی خزانے کی طرف جس کا نام اس کا جینیسس اندراج لیتا ہے |
| fullnode · سلیشنگ | قائد کی دوغلی تجویز پر سلیشنگ اور معطلی v0.6.8 میں staking.slashing کے پیچھے بنائی گئی ہیں اور چین 20 پر بند ہیں (اس کے جینیسس میں یہ موجود نہیں، جبکہ تمام 26 توثیق کنندہ کلیدیں ایک ہی آپریٹر کی ہیں)۔ بلاک انعامات، ہیش سورٹیشن قائد بیکن، نَلیفائر جمع کنندہ اور کراس پروگرام کالیں نہیں بنائی گئیں۔ فی پروگرام مستقل حالت RPL-2 کے طور پر جاری ہو چکی ہے (اوپر) |
prover/ | GPU ثبوت سازی ڈیمن: قطار سے بیچز کا دعویٰ کرتا ہے، جمع کرانے پر مقابلہ کرتا ہے۔ CUDA کرنلز zkp-circuits میں ہیں اور پہلی بار 2026-09-28 کو NVIDIA H100 پر چلے؛ مارکیٹ ڈیمن موجود نہیں۔ rand-prover، جو جاری ہو چکا ہے، اپنے ساتھ جوڑے گئے والیٹس کے لیے ثبوت بناتا ہے اور مارکیٹ نہیں ہے |
| zkp-circuits · M4.4 اخراجی ثبوت | SPL Token منتقلی (درجہ 20) کا ثبوت، جس کا تخمینہ تقریباً 330 GB ہے۔ ERC-20 منتقلی (درجہ 18) کا ثبوت 2026-09-19 کو 128 GB کے ڈراپلیٹ پر بنایا گیا۔ ان میں سے کسی کو بھی چین 20 پر کال نہیں کیا جا سکتا، جو کال کو درجہ 14 تک محدود کرتا ہے |
تعمیر اور جانچ
ہر ریپوزٹری میں معیاری Rust طریقۂ کار۔ fullnode ایک Cargo workspace ہے جس کا toolchain مقررہ ورژن پر بندھا ہے، اور اس میں ایک cluster ٹیسٹ سوئٹ ہے جو TCP پر حقیقی نوڈ چلاتا ہے۔ اس کی تعمیر کے لیے circuits ریپوزٹری کا اس کے پہلو میں circuits نامی ڈائریکٹری میں checkout ہونا ضروری ہے، اور وہ بھی اسی commit پر جس سے vendored crates ہم آہنگ کیے گئے تھے (v0.6.7 اور v0.6.8 کے لیے aeacf31)۔ zkVM، zkp-circuits میں ایک خود مختار crate ہے جس کا toolchain الگ سے مقررہ ورژن پر بندھا ہے۔ اس کے ساتھ ایک ڈیمو بھی ہے جو بیان کرتا ہے کہ ایک خفیہ کال کیا ظاہر کرتی ہے اور کیا ظاہر نہیں کرتی۔
fullnode:
git clone https://github.com/randprotocol/fullnode.git
git clone https://github.com/randprotocol/zkp-circuits.git circuits # the sibling directory must be named circuits
git -C circuits checkout "$(sed -n 's/^circuits: //p' fullnode/crates/randprotocol-zkvm/guests-compiled/PROVENANCE.md)"
cd fullnode
# Rust 1.98.1 is pinned by rust-toolchain.toml; first build pulls RocksDB and Plonky3, 10 to 20 minutes
cargo build --release # target/release/rand-node, target/release/rand, target/release/rand-prover
# All crates; release because STARK proving is slow in debug. One to two hours, mostly proving
cargo test --release
# One machine, two validators
scripts/local-testnet.sh
target/release/rand --rpc http://127.0.0.1:8545 status
تحقیقی zkVM، zkp-circuits/research میں:
# Toolchain is pinned by rust-toolchain.toml; the first build pulls Plonky3
cargo build --release
# Narrated demo: thirteen proofs, one at production FRI parameters (~6-7 min)
cargo run --release
# Emulator, per-table constraints, cheating provers, ZK, end-to-end, viewing keys, compiled guests (395 tests, ~17 min)
cargo test
v0.6.1 پر 16-vCPU مشین پر ناپا گیا fullnode سوئٹ یہ ہے: core کے 521 ٹیسٹ، node کے 373، client کے 117، دھوکے باز prover کا سوئٹ 116، پوشیدہ bundle کے دھوکے 21 (75 منٹ)، والیٹ کا بہاؤ 6 (53 منٹ)، cluster کے 26 (44 منٹ) اور zUSD کا end-to-end گیٹ 2 (51 منٹ)۔ recursion VM کے پروڈکشن ثبوت اس سوئٹ سے باہر ہیں اور انہیں اوپر درج کردہ میموری درکار ہے۔
نوڈ چلانا بتاتا ہے کہ اس بلڈ کے ساتھ عوامی testnet میں کیسے شامل ہوا جائے۔ testnet کا genesis، بوٹ اسٹریپ peers اور چلانے کے اسکرپٹ fullnode کی deploy/ ڈائریکٹری میں فراہم کیے جاتے ہیں، اور ڈاؤن لوڈ کے صفحے پر اس کا مختصر خلاصہ موجود ہے۔
تعاون کریں
fullnode، GNU General Public License v3.0 (GPL-3.0-only) کے تحت لائسنس یافتہ ہے۔ اس سے پہلے یہ Apache-2.0 کے تحت تھا۔ خرابیوں اور ڈیزائن کی تجاویز کے لیے اسی ریپوزٹری پر issue کھولیں جس پر تبدیلی اثر انداز ہوتی ہے۔ pull requests کا خیرمقدم ہے۔ جمع کرانے سے پہلے cargo fmt && cargo clippy چلائیں اور تبدیلیوں کا دائرہ محدود رکھیں۔ آغاز کے لیے fullnode کے issues بہترین جگہ ہیں۔
فن تعمیر، رازداری کا سرکٹ، فیس ٹوکن کا ثبوت اور پوسٹ کوانٹم سمجھوتہ، سب مقالات کے صفحے پر موجود وائٹ پیپر میں درج ہیں۔ fullnode ریپوزٹری کی اپنی docs/ ڈائریکٹری وہ ماخذ ہے جس سے اس دستاویزات کے ہر صفحے کی جانچ کی جاتی ہے۔