---
title: "صفر علم رول اپس"
description: "صفر علم رول اپس کا تعارف—ایتھیریم کمیونٹی کے زیر استعمال ایک اسکیلنگ حل۔"
lang: ur
---

صفر علم رول اپس (<span dir="ltr">ZK-rollups</span>) لیئر ۲ (<span dir="ltr">l2</span>) [اسکیلنگ حل](/developers/docs/scaling/) ہیں جو کمپیوٹیشن اور حالت کی اسٹوریج کو آف چین منتقل کر کے [ایتھیریم](/) مین نیٹ پر تھرو پٹ میں اضافہ کرتے ہیں۔ <span dir="ltr">ZK-rollups</span> ایک بیچ میں ہزاروں ٹرانزیکشنز پر کارروائی کر سکتے ہیں اور پھر مین نیٹ پر صرف کچھ کم از کم خلاصہ ڈیٹا پوسٹ کرتے ہیں۔ یہ خلاصہ ڈیٹا ان تبدیلیوں کی وضاحت کرتا ہے جو ایتھیریم کی حالت میں کی جانی چاہئیں اور کچھ کرپٹوگرافک ثبوت فراہم کرتا ہے کہ وہ تبدیلیاں درست ہیں۔

## شرائط {#prerequisites}

آپ کو [ایتھیریم اسکیلنگ](/developers/docs/scaling/) اور [لیئر ۲ (<span dir="ltr">l2</span>)](/layer-2) پر ہمارا صفحہ پڑھنا اور سمجھنا چاہیے۔

## صفر علم رول اپس کیا ہیں؟ {#what-are-zk-rollups}

**صفر علم رول اپس (<span dir="ltr">ZK-rollups</span>)** ٹرانزیکشنز کو بیچز میں بنڈل (یا 'رول اپ') کرتے ہیں جنہیں آف چین انجام دیا جاتا ہے۔ آف چین کمپیوٹیشن اس ڈیٹا کی مقدار کو کم کرتی ہے جسے بلاک چین پر پوسٹ کرنا ہوتا ہے۔ <span dir="ltr">ZK-rollup</span> آپریٹرز ہر ٹرانزیکشن کو انفرادی طور پر بھیجنے کے بجائے ایک بیچ میں تمام ٹرانزیکشنز کی نمائندگی کے لیے درکار تبدیلیوں کا خلاصہ جمع کراتے ہیں۔ وہ اپنی تبدیلیوں کی درستگی ثابت کرنے کے لیے [درستگی کا ثبوت](/glossary/#validity-proof) بھی تیار کرتے ہیں۔

<span dir="ltr">ZK-rollup</span> کی حالت کو ایتھیریم نیٹ ورک پر تعینات ایک سمارٹ کنٹریکٹ کے ذریعے برقرار رکھا جاتا ہے۔ اس حالت کو اپ ڈیٹ کرنے کے لیے، <span dir="ltr">ZK-rollup</span> نوڈز کو تصدیق کے لیے درستگی کا ثبوت جمع کرانا ہوگا۔ جیسا کہ ذکر کیا گیا ہے، درستگی کا ثبوت ایک کرپٹوگرافک یقین دہانی ہے کہ رول اپ کی طرف سے تجویز کردہ حالت کی تبدیلی واقعی ٹرانزیکشنز کے دیے گئے بیچ کو انجام دینے کا نتیجہ ہے۔ اس کا مطلب یہ ہے کہ <span dir="ltr">ZK-rollups</span> کو [آپٹمسٹک رول اپس](/developers/docs/scaling/optimistic-rollups/) کی طرح تمام ٹرانزیکشن ڈیٹا آن چین پوسٹ کرنے کے بجائے ایتھیریم پر ٹرانزیکشنز کو حتمی شکل دینے کے لیے صرف درستگی کا ثبوت فراہم کرنے کی ضرورت ہے۔

<span dir="ltr">ZK-rollup</span> سے ایتھیریم میں فنڈز منتقل کرتے وقت کوئی تاخیر نہیں ہوتی کیونکہ ایک بار جب <span dir="ltr">ZK-rollup</span> کنٹریکٹ درستگی کا ثبوت کی تصدیق کر لیتا ہے تو خروج کی ٹرانزیکشنز انجام دی جاتی ہیں۔ اس کے برعکس، آپٹمسٹک رول اپس سے فنڈز کے انخلا میں تاخیر ہوتی ہے تاکہ کسی کو بھی [ثبوتِ دھوکہ دہی](/glossary/#fraud-proof) کے ساتھ خروج کی ٹرانزیکشن کو چیلنج کرنے کی اجازت مل سکے۔

<span dir="ltr">ZK-rollups</span> ٹرانزیکشنز کو ایتھیریم پر `calldata` کے طور پر لکھتے ہیں۔ `calldata` وہ جگہ ہے جہاں سمارٹ کنٹریکٹ فنکشنز کی بیرونی کالز میں شامل ڈیٹا اسٹور ہوتا ہے۔ `calldata` میں موجود معلومات بلاک چین پر شائع کی جاتی ہیں، جس سے کسی کو بھی آزادانہ طور پر رول اپ کی حالت کو دوبارہ بنانے کی اجازت ملتی ہے۔ <span dir="ltr">ZK-rollups</span> ٹرانزیکشن ڈیٹا کو کم کرنے کے لیے کمپریشن تکنیک کا استعمال کرتے ہیں—مثال کے طور پر، اکاؤنٹس کو پتہ کے بجائے ایک اشاریہ کے ذریعے ظاہر کیا جاتا ہے، جو <span dir="ltr">28 bytes</span> ڈیٹا بچاتا ہے۔ آن چین ڈیٹا کی اشاعت رول اپس کے لیے ایک اہم لاگت ہے، لہذا ڈیٹا کمپریشن صارفین کے لیے فیس کم کر سکتی ہے۔

## <span dir="ltr">ZK-rollups</span> ایتھیریم کے ساتھ کیسے تعامل کرتے ہیں؟ {#zk-rollups-and-ethereum}

ایک <span dir="ltr">ZK-rollup</span> چین ایک آف چین پروٹوکول ہے جو ایتھیریم بلاک چین کے اوپر کام کرتا ہے اور اس کا انتظام آن چین ایتھیریم سمارٹ کنٹریکٹس کے ذریعے کیا جاتا ہے۔ <span dir="ltr">ZK-rollups</span> مین نیٹ کے باہر ٹرانزیکشنز انجام دیتے ہیں، لیکن وقتاً فوقتاً آف چین ٹرانزیکشن بیچز کو آن چین رول اپ کنٹریکٹ میں کمٹمنٹ کرتے ہیں۔ یہ ٹرانزیکشن ریکارڈ ناقابلِ تبدیلی ہے، بالکل ایتھیریم بلاک چین کی طرح، اور <span dir="ltr">ZK-rollup</span> چین بناتا ہے۔

<span dir="ltr">ZK-rollup</span> کا بنیادی فن تعمیر درج ذیل اجزاء پر مشتمل ہے:

1. **آن چین کنٹریکٹس**: جیسا کہ ذکر کیا گیا ہے، <span dir="ltr">ZK-rollup</span> پروٹوکول کو ایتھیریم پر چلنے والے سمارٹ کنٹریکٹس کے ذریعے کنٹرول کیا جاتا ہے۔ اس میں مرکزی کنٹریکٹ شامل ہے جو رول اپ بلاکس کو اسٹور کرتا ہے، ڈپازٹس کو ٹریک کرتا ہے، اور حالت کی اپ ڈیٹس کی نگرانی کرتا ہے۔ ایک اور آن چین کنٹریکٹ (تصدیق کنندہ کنٹریکٹ) بلاک پروڈیوسرز کی طرف سے جمع کرائے گئے صفر علم ثبوت کی تصدیق کرتا ہے۔ اس طرح، ایتھیریم <span dir="ltr">ZK-rollup</span> کے لیے بنیادی لیئر یا "لیئر ۱ (<span dir="ltr">l1</span>)" کے طور پر کام کرتا ہے۔

2. **آف چین ورچوئل مشین (<span dir="ltr">VM</span>)**: اگرچہ <span dir="ltr">ZK-rollup</span> پروٹوکول ایتھیریم پر موجود ہے، ٹرانزیکشن کا نفاذ اور حالت کی اسٹوریج [<span dir="ltr">EVM</span>](/developers/docs/evm/) سے آزاد ایک الگ ورچوئل مشین پر ہوتی ہے۔ یہ آف چین <span dir="ltr">VM</span> <span dir="ltr">ZK-rollup</span> پر ٹرانزیکشنز کے لیے عمل درآمد کا ماحول ہے اور <span dir="ltr">ZK-rollup</span> پروٹوکول کے لیے ثانوی لیئر یا "لیئر ۲ (<span dir="ltr">l2</span>)" کے طور پر کام کرتا ہے۔ ایتھیریم مین نیٹ پر تصدیق شدہ درستگی کا ثبوت آف چین <span dir="ltr">VM</span> میں حالت کی تبدیلیوں کی درستگی کی ضمانت دیتے ہیں۔

<span dir="ltr">ZK-rollups</span> "ہائبرڈ اسکیلنگ حل" ہیں—آف چین پروٹوکول جو آزادانہ طور پر کام کرتے ہیں لیکن ایتھیریم سے سیکیورٹی حاصل کرتے ہیں۔ خاص طور پر، ایتھیریم نیٹ ورک <span dir="ltr">ZK-rollup</span> پر حالت کی اپ ڈیٹس کی درستگی کو نافذ کرتا ہے اور رول اپ کی حالت میں ہر اپ ڈیٹ کے پیچھے ڈیٹا کی دستیابی کی ضمانت دیتا ہے۔ نتیجے کے طور پر، <span dir="ltr">ZK-rollups</span> خالص آف چین اسکیلنگ حلوں سے کافی زیادہ محفوظ ہیں، جیسے کہ [سائیڈ چینز](/developers/docs/scaling/sidechains/)، جو اپنی سیکیورٹی خصوصیات کے خود ذمہ دار ہیں، یا [ویلیڈیمز](/developers/docs/scaling/validium/)، جو درستگی کا ثبوت کے ساتھ ایتھیریم پر ٹرانزیکشنز کی تصدیق بھی کرتے ہیں، لیکن ٹرانزیکشن ڈیٹا کو کہیں اور اسٹور کرتے ہیں۔

<span dir="ltr">ZK-rollups</span> درج ذیل کے لیے مرکزی ایتھیریم پروٹوکول پر انحصار کرتے ہیں:

### ڈیٹا کی دستیابی {#data-availability}

<span dir="ltr">ZK-rollups</span> آف چین پروسیس ہونے والی ہر ٹرانزیکشن کے لیے حالت کا ڈیٹا ایتھیریم پر شائع کرتے ہیں۔ اس ڈیٹا کے ساتھ، افراد یا کاروبار کے لیے رول اپ کی حالت کو دوبارہ بنانا اور خود چین کی توثیق کرنا ممکن ہے۔ ایتھیریم اس ڈیٹا کو نیٹ ورک کے تمام شرکاء کے لیے `calldata` کے طور پر دستیاب کرتا ہے۔

<span dir="ltr">ZK-rollups</span> کو زیادہ ٹرانزیکشن ڈیٹا آن چین شائع کرنے کی ضرورت نہیں ہے کیونکہ درستگی کا ثبوت پہلے ہی حالت کی تبدیلیوں کی صداقت کی تصدیق کرتے ہیں۔ اس کے باوجود، ڈیٹا کو آن چین اسٹور کرنا اب بھی اہم ہے کیونکہ یہ لیئر ۲ (<span dir="ltr">l2</span>) چین کی حالت کی بلا اجازت، آزادانہ تصدیق کی اجازت دیتا ہے جو بدلے میں کسی کو بھی ٹرانزیکشنز کے بیچ جمع کرانے کی اجازت دیتا ہے، جس سے بدنیتی پر مبنی آپریٹرز کو چین کو سنسر کرنے یا منجمد کرنے سے روکا جا سکتا ہے۔

صارفین کے لیے رول اپ کے ساتھ تعامل کرنے کے لیے آن چین درکار ہے۔ حالت کے ڈیٹا تک رسائی کے بغیر صارفین اپنے اکاؤنٹ کے بیلنس کے بارے میں استفسار نہیں کر سکتے یا ایسی ٹرانزیکشنز (جیسے، انخلا) شروع نہیں کر سکتے جو حالت کی معلومات پر انحصار کرتی ہیں۔

### ٹرانزیکشن کی حتمیت {#transaction-finality}

ایتھیریم <span dir="ltr">ZK-rollups</span> کے لیے تصفیہ کی لیئر کے طور پر کام کرتا ہے: لیئر ۲ (<span dir="ltr">l2</span>) ٹرانزیکشنز کو صرف اسی صورت میں حتمی شکل دی جاتی ہے جب لیئر ۱ (<span dir="ltr">l1</span>) کنٹریکٹ درستگی کا ثبوت قبول کر لے۔ یہ بدنیتی پر مبنی آپریٹرز کے چین کو خراب کرنے (جیسے، رول اپ فنڈز چوری کرنے) کے خطرے کو ختم کرتا ہے کیونکہ ہر ٹرانزیکشن کو مین نیٹ پر منظور کیا جانا چاہیے۔ اس کے علاوہ، ایتھیریم اس بات کی ضمانت دیتا ہے کہ لیئر ۱ (<span dir="ltr">l1</span>) پر حتمی ہونے کے بعد صارف کے آپریشنز کو تبدیل نہیں کیا جا سکتا۔

### سنسرشپ کے خلاف مزاحمت {#censorship-resistance}

زیادہ تر <span dir="ltr">ZK-rollups</span> ٹرانزیکشنز کو انجام دینے، بیچز تیار کرنے، اور لیئر ۱ (<span dir="ltr">l1</span>) میں بلاکس جمع کرانے کے لیے ایک "سپرنوڈ" (آپریٹر) کا استعمال کرتے ہیں۔ اگرچہ یہ کارکردگی کو یقینی بناتا ہے، لیکن اس سے سنسرشپ کا خطرہ بڑھ جاتا ہے: بدنیتی پر مبنی <span dir="ltr">ZK-rollup</span> آپریٹرز صارفین کی ٹرانزیکشنز کو بیچز میں شامل کرنے سے انکار کر کے انہیں سنسر کر سکتے ہیں۔

حفاظتی اقدام کے طور پر، <span dir="ltr">ZK-rollups</span> صارفین کو مین نیٹ پر رول اپ کنٹریکٹ میں براہ راست ٹرانزیکشنز جمع کرانے کی اجازت دیتے ہیں اگر انہیں لگتا ہے کہ آپریٹر کی طرف سے انہیں سنسر کیا جا رہا ہے۔ یہ صارفین کو آپریٹر کی اجازت پر انحصار کیے بغیر <span dir="ltr">ZK-rollup</span> سے ایتھیریم میں زبردستی خروج کرنے کی اجازت دیتا ہے۔

## <span dir="ltr">ZK-rollups</span> کیسے کام کرتے ہیں؟ {#how-do-zk-rollups-work}

### ٹرانزیکشنز {#transactions}

<span dir="ltr">ZK-rollup</span> میں صارفین ٹرانزیکشنز پر دستخط کرتے ہیں اور پروسیسنگ اور اگلے بیچ میں شمولیت کے لیے لیئر ۲ (<span dir="ltr">l2</span>) آپریٹرز کو جمع کراتے ہیں۔ بعض صورتوں میں، آپریٹر ایک مرکزی ادارہ ہوتا ہے، جسے سیکوینسر کہا جاتا ہے، جو ٹرانزیکشنز کو انجام دیتا ہے، انہیں بیچز میں جمع کرتا ہے، اور لیئر ۱ (<span dir="ltr">l1</span>) میں جمع کراتا ہے۔ اس سسٹم میں سیکوینسر واحد ادارہ ہے جسے لیئر ۲ (<span dir="ltr">l2</span>) بلاکس تیار کرنے اور <span dir="ltr">ZK-rollup</span> کنٹریکٹ میں رول اپ ٹرانزیکشنز شامل کرنے کی اجازت ہے۔

دیگر <span dir="ltr">ZK-rollups</span> [حصہ داری کا ثبوت (<span dir="ltr">PoS</span>)](/developers/docs/consensus-mechanisms/pos/) توثیق کار سیٹ کا استعمال کر کے آپریٹر کے کردار کو تبدیل کر سکتے ہیں۔ ممکنہ آپریٹرز رول اپ کنٹریکٹ میں فنڈز جمع کراتے ہیں، جس میں ہر اسٹیک کا سائز اسٹیکر کے اگلے رول اپ بیچ کو تیار کرنے کے لیے منتخب ہونے کے امکانات کو متاثر کرتا ہے۔ اگر آپریٹر بدنیتی سے کام کرتا ہے تو اس کے اسٹیک میں کٹوتی کی جا سکتی ہے، جو انہیں درست بلاکس پوسٹ کرنے کی ترغیب دیتا ہے۔

#### <span dir="ltr">ZK-rollups</span> ایتھیریم پر ٹرانزیکشن ڈیٹا کیسے شائع کرتے ہیں {#how-zk-rollups-publish-transaction-data-on-ethereum}

جیسا کہ وضاحت کی گئی ہے، ٹرانزیکشن ڈیٹا ایتھیریم پر `calldata` کے طور پر شائع کیا جاتا ہے۔ `calldata` سمارٹ کنٹریکٹ میں ایک ڈیٹا ایریا ہے جو کسی فنکشن میں دلائل پاس کرنے کے لیے استعمال ہوتا ہے اور [میموری](/developers/docs/smart-contracts/anatomy/#memory) کی طرح برتاؤ کرتا ہے۔ اگرچہ `calldata` ایتھیریم کی حالت کے حصے کے طور پر اسٹور نہیں ہوتا ہے، یہ ایتھیریم چین کے [ہسٹری لاگز](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) کے حصے کے طور پر آن چین برقرار رہتا ہے۔ `calldata` ایتھیریم کی حالت کو متاثر نہیں کرتا، جس سے یہ ڈیٹا کو آن چین اسٹور کرنے کا ایک سستا طریقہ بن جاتا ہے۔

`calldata` کلیدی لفظ اکثر ٹرانزیکشن کے ذریعے کال کیے جانے والے سمارٹ کنٹریکٹ طریقہ کار کی نشاندہی کرتا ہے اور بائٹس کی صوابدیدی ترتیب کی شکل میں طریقہ کار کے ان پٹس کو رکھتا ہے۔ <span dir="ltr">ZK-rollups</span> کمپریسڈ ٹرانزیکشن ڈیٹا کو آن چین شائع کرنے کے لیے `calldata` کا استعمال کرتے ہیں؛ رول اپ آپریٹر آسانی سے رول اپ کنٹریکٹ میں مطلوبہ فنکشن کو کال کر کے ایک نیا بیچ شامل کرتا ہے اور کمپریسڈ ڈیٹا کو فنکشن دلائل کے طور پر پاس کرتا ہے۔ اس سے صارفین کے لیے اخراجات کم کرنے میں مدد ملتی ہے کیونکہ رول اپ فیس کا ایک بڑا حصہ ٹرانزیکشن ڈیٹا کو آن چین اسٹور کرنے پر خرچ ہوتا ہے۔

### حالت کی کمٹمنٹس {#state-commitments}

<span dir="ltr">ZK-rollup</span> کی حالت، جس میں لیئر ۲ (<span dir="ltr">l2</span>) اکاؤنٹس اور بیلنس شامل ہیں، کو ایک [مرکل ٹری](/whitepaper/#merkle-trees) کے طور پر ظاہر کیا جاتا ہے۔ مرکل ٹری کی روٹ (مرکل روٹ) کا ایک کرپٹوگرافک ہیش آن چین کنٹریکٹ میں اسٹور کیا جاتا ہے، جس سے رول اپ پروٹوکول کو <span dir="ltr">ZK-rollup</span> کی حالت میں ہونے والی تبدیلیوں کو ٹریک کرنے کی اجازت ملتی ہے۔

ٹرانزیکشنز کے ایک نئے سیٹ کے نفاذ کے بعد رول اپ ایک نئی حالت میں منتقل ہو جاتا ہے۔ جس آپریٹر نے حالت کی منتقلی شروع کی ہے اسے ایک نئی حالت کی روٹ کا حساب لگانے اور آن چین کنٹریکٹ میں جمع کرانے کی ضرورت ہے۔ اگر بیچ سے وابستہ درستگی کا ثبوت تصدیق کنندہ کنٹریکٹ کے ذریعے تصدیق شدہ ہے، تو نیا مرکل روٹ <span dir="ltr">ZK-rollup</span> کا کینونیکل حالت کا روٹ بن جاتا ہے۔

حالت کی روٹس کا حساب لگانے کے علاوہ، <span dir="ltr">ZK-rollup</span> آپریٹر ایک بیچ روٹ بھی بناتا ہے—ایک مرکل ٹری کی روٹ جس میں ایک بیچ میں تمام ٹرانزیکشنز شامل ہوتی ہیں۔ جب ایک نیا بیچ جمع کرایا جاتا ہے، تو رول اپ کنٹریکٹ بیچ روٹ کو اسٹور کرتا ہے، جس سے صارفین یہ ثابت کر سکتے ہیں کہ ایک ٹرانزیکشن (جیسے، انخلا کی درخواست) بیچ میں شامل تھی۔ صارفین کو ٹرانزیکشن کی تفصیلات، بیچ روٹ، اور شمولیت کا راستہ دکھانے والا ایک [مرکل ثبوت](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) فراہم کرنا ہوگا۔

### درستگی کا ثبوت {#validity-proofs}

نیا حالت کا روٹ جو <span dir="ltr">ZK-rollup</span> آپریٹر لیئر ۱ (<span dir="ltr">l1</span>) کنٹریکٹ میں جمع کراتا ہے وہ رول اپ کی حالت میں اپ ڈیٹس کا نتیجہ ہے۔ فرض کریں ایلس باب کو <span dir="ltr">10</span> ٹوکن بھیجتی ہے، آپریٹر آسانی سے ایلس کے بیلنس میں <span dir="ltr">10</span> کی کمی کرتا ہے اور باب کے بیلنس میں <span dir="ltr">10</span> کا اضافہ کرتا ہے۔ آپریٹر پھر اپ ڈیٹ شدہ اکاؤنٹ ڈیٹا کو ہیش کرتا ہے، رول اپ کے مرکل ٹری کو دوبارہ بناتا ہے، اور نیا مرکل روٹ آن چین کنٹریکٹ میں جمع کراتا ہے۔

لیکن رول اپ کنٹریکٹ خود بخود مجوزہ حالت کی کمٹمنٹ کو قبول نہیں کرے گا جب تک کہ آپریٹر یہ ثابت نہ کر دے کہ نیا مرکل روٹ رول اپ کی حالت میں درست اپ ڈیٹس کا نتیجہ ہے۔ <span dir="ltr">ZK-rollup</span> آپریٹر ایک درستگی کا ثبوت تیار کر کے ایسا کرتا ہے، جو بیچ شدہ ٹرانزیکشنز کی درستگی کی تصدیق کرنے والی ایک جامع کرپٹوگرافک کمٹمنٹ ہے۔

درستگی کا ثبوت فریقین کو خود بیان کو ظاہر کیے بغیر کسی بیان کی درستگی ثابت کرنے کی اجازت دیتے ہیں—اس لیے، انہیں صفر علم ثبوت بھی کہا جاتا ہے۔ <span dir="ltr">ZK-rollups</span> ایتھیریم پر ٹرانزیکشنز کو دوبارہ انجام دیے بغیر آف چین حالت کی تبدیلیوں کی درستگی کی تصدیق کے لیے درستگی کا ثبوت استعمال کرتے ہیں۔ یہ ثبوت [زیڈ کے اسنارک](https://arxiv.org/abs/2202.06877) (<span dir="ltr">Zero-Knowledge Succinct Non-Interactive Argument of Knowledge</span>) یا [زیڈ کے-سٹارک](https://eprint.iacr.org/2018/046) (<span dir="ltr">Zero-Knowledge Scalable Transparent Argument of Knowledge</span>) کی شکل میں آ سکتے ہیں۔

<span dir="ltr">SNARKs</span> اور <span dir="ltr">STARKs</span> دونوں <span dir="ltr">ZK-rollups</span> میں آف چین کمپیوٹیشن کی سالمیت کی تصدیق کرنے میں مدد کرتے ہیں، حالانکہ ہر ثبوت کی قسم کی مخصوص خصوصیات ہوتی ہیں۔

**زیڈ کے اسنارک (<span dir="ltr">ZK-SNARKs</span>)**

زیڈ کے اسنارک پروٹوکول کے کام کرنے کے لیے، ایک کامن ریفرنس سٹرنگ (<span dir="ltr">CRS</span>) بنانا ضروری ہے: <span dir="ltr">CRS</span> درستگی کا ثبوت ثابت کرنے اور تصدیق کرنے کے لیے عوامی پیرامیٹرز فراہم کرتا ہے۔ ثابت کرنے والے نظام کی سیکیورٹی <span dir="ltr">CRS</span> سیٹ اپ پر منحصر ہے؛ اگر عوامی پیرامیٹرز بنانے کے لیے استعمال ہونے والی معلومات بدنیتی پر مبنی اداکاروں کے قبضے میں آ جائیں تو وہ غلط درستگی کا ثبوت تیار کرنے کے قابل ہو سکتے ہیں۔

کچھ <span dir="ltr">ZK-rollups</span> زیڈ کے اسنارک سرکٹ کے لیے عوامی پیرامیٹرز تیار کرنے کے لیے قابل اعتماد افراد پر مشتمل ایک [ملٹی پارٹی کمپیوٹیشن تقریب (<span dir="ltr">MPC</span>)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/) کا استعمال کر کے اس مسئلے کو حل کرنے کی کوشش کرتے ہیں۔ ہر فریق <span dir="ltr">CRS</span> کی تعمیر کے لیے کچھ بے ترتیبی (جسے "زہریلا فضلہ" کہا جاتا ہے) کا حصہ ڈالتا ہے، جسے انہیں فوری طور پر تباہ کرنا چاہیے۔

قابل اعتماد سیٹ اپ استعمال کیے جاتے ہیں کیونکہ وہ <span dir="ltr">CRS</span> سیٹ اپ کی سیکیورٹی میں اضافہ کرتے ہیں۔ جب تک ایک ایماندار شریک اپنے ان پٹ کو تباہ کر دیتا ہے، زیڈ کے اسنارک سسٹم کی سیکیورٹی کی ضمانت دی جاتی ہے۔ پھر بھی، اس نقطہ نظر کے لیے اس بات پر بھروسہ کرنے کی ضرورت ہے کہ اس میں شامل افراد اپنی نمونہ شدہ بے ترتیبی کو حذف کر دیں گے اور سسٹم کی سیکیورٹی کی ضمانتوں کو کمزور نہیں کریں گے۔

اعتماد کے مفروضے کو ایک طرف رکھتے ہوئے، زیڈ کے اسنارک اپنے چھوٹے ثبوت کے سائز اور مستقل وقت کی تصدیق کے لیے مقبول ہیں۔ چونکہ لیئر ۱ (<span dir="ltr">l1</span>) پر ثبوت کی تصدیق <span dir="ltr">ZK-rollup</span> کو چلانے کی بڑی لاگت پر مشتمل ہے، لیئر ۲ (<span dir="ltr">l2</span>) ایسے ثبوت تیار کرنے کے لیے زیڈ کے اسنارک کا استعمال کرتے ہیں جن کی مین نیٹ پر تیزی سے اور سستے میں تصدیق کی جا سکتی ہے۔

**زیڈ کے-سٹارک (<span dir="ltr">ZK-STARKs</span>)**

زیڈ کے اسنارک کی طرح، زیڈ کے-سٹارک ان پٹس کو ظاہر کیے بغیر آف چین کمپیوٹیشن کی درستگی کو ثابت کرتے ہیں۔ تاہم، زیڈ کے-سٹارک کو ان کی اسکیل ایبلٹی اور شفافیت کی وجہ سے زیڈ کے اسنارک پر بہتری سمجھا جاتا ہے۔

زیڈ کے-سٹارک 'شفاف' ہیں، کیونکہ وہ کامن ریفرنس سٹرنگ (<span dir="ltr">CRS</span>) کے قابل اعتماد سیٹ اپ کے بغیر کام کر سکتے ہیں۔ اس کے بجائے، زیڈ کے-سٹارک ثبوت تیار کرنے اور تصدیق کرنے کے لیے پیرامیٹرز ترتیب دینے کے لیے عوامی طور پر قابل تصدیق بے ترتیبی پر انحصار کرتے ہیں۔

زیڈ کے-سٹارک زیادہ اسکیل ایبلٹی بھی فراہم کرتے ہیں کیونکہ درستگی کا ثبوت ثابت کرنے اور تصدیق کرنے کے لیے درکار وقت بنیادی کمپیوٹیشن کی پیچیدگی کے سلسلے میں _کواسی لینیئرلی_ (<span dir="ltr">quasilinearly</span>) بڑھتا ہے۔ زیڈ کے اسنارک کے ساتھ، ثابت کرنے اور تصدیق کرنے کے اوقات بنیادی کمپیوٹیشن کے سائز کے سلسلے میں _لینیئرلی_ (<span dir="ltr">linearly</span>) اسکیل ہوتے ہیں۔ اس کا مطلب یہ ہے کہ جب بڑے ڈیٹاسیٹس شامل ہوں تو زیڈ کے-سٹارک کو ثابت کرنے اور تصدیق کرنے کے لیے زیڈ کے اسنارک سے کم وقت درکار ہوتا ہے، جو انہیں زیادہ حجم والی ایپلی کیشنز کے لیے مفید بناتا ہے۔

زیڈ کے-سٹارک کوانٹم کمپیوٹرز کے خلاف بھی محفوظ ہیں، جبکہ زیڈ کے اسنارک میں استعمال ہونے والی بیضوی منحنی کرپٹوگرافی (<span dir="ltr">ECC</span>) کے بارے میں بڑے پیمانے پر خیال کیا جاتا ہے کہ یہ کوانٹم کمپیوٹنگ حملوں کے لیے حساس ہے۔ زیڈ کے-سٹارک کا نقصان یہ ہے کہ وہ بڑے ثبوت کے سائز تیار کرتے ہیں، جن کی ایتھیریم پر تصدیق کرنا زیادہ مہنگا ہے۔

#### <span dir="ltr">ZK-rollups</span> میں درستگی کا ثبوت کیسے کام کرتے ہیں؟ {#validity-proofs-in-zk-rollups}

##### ثبوت کی تیاری
ٹرانزیکشنز کو قبول کرنے سے پہلے، آپریٹر معمول کی جانچ پڑتال کرے گا۔ اس میں اس بات کی تصدیق شامل ہے کہ:

- بھیجنے والے اور وصول کرنے والے کے اکاؤنٹس حالت کے ٹری کا حصہ ہیں۔
- بھیجنے والے کے پاس ٹرانزیکشن پر کارروائی کرنے کے لیے کافی فنڈز ہیں۔
- ٹرانزیکشن درست ہے اور رول اپ پر بھیجنے والے کی عوامی کلید سے میل کھاتی ہے۔
- بھیجنے والے کا نانس درست ہے، وغیرہ۔

ایک بار جب <span dir="ltr">ZK-rollup</span> نوڈ کے پاس کافی ٹرانزیکشنز ہو جاتی ہیں، تو یہ انہیں ایک بیچ میں جمع کرتا ہے اور ثابت کرنے والے سرکٹ کے لیے ان پٹس کو مرتب کرتا ہے تاکہ ایک جامع <span dir="ltr">ZK-proof</span> میں مرتب کیا جا سکے۔ اس میں شامل ہیں:

- ایک مرکل ٹری روٹ جس میں بیچ کی تمام ٹرانزیکشنز شامل ہیں۔
- بیچ میں شمولیت ثابت کرنے کے لیے ٹرانزیکشنز کے لیے مرکل ثبوت۔
- ٹرانزیکشنز میں ہر بھیجنے والے-وصول کرنے والے جوڑے کے لیے مرکل ثبوت یہ ثابت کرنے کے لیے کہ وہ اکاؤنٹس رول اپ کے حالت کے ٹری کا حصہ ہیں۔
- درمیانی حالت کی روٹس کا ایک سیٹ، جو ہر ٹرانزیکشن کے لیے حالت کی اپ ڈیٹس لاگو کرنے کے بعد حالت کی روٹ کو اپ ڈیٹ کرنے سے اخذ کیا گیا ہے (یعنی، بھیجنے والے کے اکاؤنٹس کو کم کرنا اور وصول کرنے والے کے اکاؤنٹس کو بڑھانا)۔

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

یہ مرکل روٹ <span dir="ltr">ZK-rollup</span> کی حالت میں واحد تبدیلی کی عکاسی کرتا ہے: بھیجنے والے کے بیلنس اور نانس میں تبدیلی۔ یہ اس لیے ممکن ہے کیونکہ اکاؤنٹ کے وجود کو ثابت کرنے کے لیے استعمال ہونے والا مرکل ثبوت نئی حالت کی روٹ اخذ کرنے کے لیے استعمال ہوتا ہے۔

ثابت کرنے والا سرکٹ وصول کرنے والے کے اکاؤنٹ پر بھی یہی عمل انجام دیتا ہے۔ یہ جانچتا ہے کہ آیا وصول کرنے والے کا اکاؤنٹ درمیانی حالت کی روٹ کے تحت موجود ہے (مرکل ثبوت کا استعمال کرتے ہوئے)، ان کا بیلنس بڑھاتا ہے، اکاؤنٹ ڈیٹا کو دوبارہ ہیش کرتا ہے اور اسے مرکل ثبوت کے ساتھ ملا کر ایک نئی حالت کی روٹ تیار کرتا ہے۔

یہ عمل ہر ٹرانزیکشن کے لیے دہرایا جاتا ہے؛ ہر "لوپ" بھیجنے والے کے اکاؤنٹ کو اپ ڈیٹ کرنے سے ایک نئی حالت کی روٹ اور وصول کرنے والے کے اکاؤنٹ کو اپ ڈیٹ کرنے سے ایک بعد کی نئی روٹ بناتا ہے۔ جیسا کہ وضاحت کی گئی ہے، حالت کی روٹ میں ہر اپ ڈیٹ رول اپ کے حالت کے ٹری کے ایک حصے کی تبدیلی کی نمائندگی کرتی ہے۔

<span dir="ltr">ZK-proving</span> سرکٹ پورے ٹرانزیکشن بیچ پر اعادہ کرتا ہے، اپ ڈیٹس کی اس ترتیب کی تصدیق کرتا ہے جس کے نتیجے میں آخری ٹرانزیکشن کے نفاذ کے بعد حتمی حالت کی روٹ بنتی ہے۔ حساب کیا گیا آخری مرکل روٹ <span dir="ltr">ZK-rollup</span> کا نیا ترین کینونیکل حالت کا روٹ بن جاتا ہے۔

##### ثبوت کی تصدیق
ثابت کرنے والے سرکٹ کے حالت کی اپ ڈیٹس کی درستگی کی تصدیق کرنے کے بعد، لیئر ۲ (<span dir="ltr">l2</span>) آپریٹر حساب شدہ درستگی کا ثبوت لیئر ۱ (<span dir="ltr">l1</span>) پر تصدیق کنندہ کنٹریکٹ میں جمع کراتا ہے۔ کنٹریکٹ کا تصدیقی سرکٹ ثبوت کی درستگی کی تصدیق کرتا ہے اور عوامی ان پٹس کی بھی جانچ کرتا ہے جو ثبوت کا حصہ بنتے ہیں:

- **پری-اسٹیٹ روٹ**: <span dir="ltr">ZK-rollup</span> کا پرانا حالت کا روٹ (یعنی، بیچ شدہ ٹرانزیکشنز کے نفاذ سے پہلے)، جو لیئر ۲ (<span dir="ltr">l2</span>) چین کی آخری معلوم درست حالت کی عکاسی کرتا ہے۔

- **پوسٹ-اسٹیٹ روٹ**: <span dir="ltr">ZK-rollup</span> کا نیا حالت کا روٹ (یعنی، بیچ شدہ ٹرانزیکشنز کے نفاذ کے بعد)، جو لیئر ۲ (<span dir="ltr">l2</span>) چین کی نئی ترین حالت کی عکاسی کرتا ہے۔ پوسٹ-اسٹیٹ روٹ وہ حتمی روٹ ہے جو ثابت کرنے والے سرکٹ میں حالت کی اپ ڈیٹس لاگو کرنے کے بعد اخذ کی گئی ہے۔

- **بیچ روٹ**: بیچ کا مرکل روٹ، جو بیچ میں ٹرانزیکشنز کو _مرکلائز_ (<span dir="ltr">merklizing</span>) کر کے اور ٹری کی روٹ کو ہیش کر کے اخذ کیا گیا ہے۔

- **ٹرانزیکشن ان پٹس**: جمع کرائے گئے بیچ کے حصے کے طور پر انجام دی گئی ٹرانزیکشنز سے وابستہ ڈیٹا۔

اگر ثبوت سرکٹ کو مطمئن کرتا ہے (یعنی، یہ درست ہے)، تو اس کا مطلب ہے کہ درست ٹرانزیکشنز کی ایک ترتیب موجود ہے جو رول اپ کو پچھلی حالت (پری-اسٹیٹ روٹ کے ذریعے کرپٹوگرافک طور پر فنگر پرنٹ شدہ) سے ایک نئی حالت (پوسٹ-اسٹیٹ روٹ کے ذریعے کرپٹوگرافک طور پر فنگر پرنٹ شدہ) میں منتقل کرتی ہے۔ اگر پری-اسٹیٹ روٹ رول اپ کنٹریکٹ میں اسٹور کردہ روٹ سے میل کھاتا ہے، اور ثبوت درست ہے، تو رول اپ کنٹریکٹ ثبوت سے پوسٹ-اسٹیٹ روٹ لیتا ہے اور رول اپ کی تبدیل شدہ حالت کی عکاسی کرنے کے لیے اپنے حالت کے ٹری کو اپ ڈیٹ کرتا ہے۔

### اندراجات اور اخراج {#entries-and-exits}

صارفین لیئر ۱ (<span dir="ltr">l1</span>) چین پر تعینات رول اپ کے کنٹریکٹ میں ٹوکن جمع کر کے <span dir="ltr">ZK-rollup</span> میں داخل ہوتے ہیں۔ یہ ٹرانزیکشن قطار میں لگ جاتی ہے کیونکہ صرف آپریٹرز ہی رول اپ کنٹریکٹ میں ٹرانزیکشنز جمع کرا سکتے ہیں۔

اگر زیر التواء ڈپازٹ کی قطار بھرنا شروع ہو جاتی ہے، تو <span dir="ltr">ZK-rollup</span> آپریٹر ڈپازٹ ٹرانزیکشنز لے گا اور انہیں رول اپ کنٹریکٹ میں جمع کرائے گا۔ ایک بار جب صارف کے فنڈز رول اپ میں آ جاتے ہیں، تو وہ پروسیسنگ کے لیے آپریٹر کو ٹرانزیکشنز بھیج کر ٹرانزیکشن شروع کر سکتے ہیں۔ صارفین اپنے اکاؤنٹ کے ڈیٹا کو ہیش کر کے، ہیش کو رول اپ کنٹریکٹ میں بھیج کر، اور موجودہ حالت کی روٹ کے خلاف تصدیق کرنے کے لیے ایک مرکل ثبوت فراہم کر کے رول اپ پر بیلنس کی تصدیق کر سکتے ہیں۔

<span dir="ltr">ZK-rollup</span> سے لیئر ۱ (<span dir="ltr">l1</span>) میں انخلا سیدھا ہے۔ صارف رول اپ پر اپنے اثاثوں کو جلانے کے لیے ایک مخصوص اکاؤنٹ میں بھیج کر خروج کی ٹرانزیکشن شروع کرتا ہے۔ اگر آپریٹر ٹرانزیکشن کو اگلے بیچ میں شامل کرتا ہے، تو صارف آن چین کنٹریکٹ میں انخلا کی درخواست جمع کرا سکتا ہے۔ اس انخلا کی درخواست میں درج ذیل شامل ہوں گے:

- مرکل ثبوت جو ٹرانزیکشن بیچ میں برن اکاؤنٹ میں صارف کی ٹرانزیکشن کی شمولیت کو ثابت کرتا ہے

- ٹرانزیکشن ڈیٹا

- بیچ روٹ

- جمع شدہ فنڈز وصول کرنے کے لیے لیئر ۱ (<span dir="ltr">l1</span>) پتہ

رول اپ کنٹریکٹ ٹرانزیکشن ڈیٹا کو ہیش کرتا ہے، جانچتا ہے کہ آیا بیچ روٹ موجود ہے، اور مرکل ثبوت کا استعمال کر کے یہ جانچتا ہے کہ آیا ٹرانزیکشن ہیش بیچ روٹ کا حصہ ہے۔ اس کے بعد، کنٹریکٹ خروج کی ٹرانزیکشن کو انجام دیتا ہے اور لیئر ۱ (<span dir="ltr">l1</span>) پر صارف کے منتخب کردہ پتہ پر فنڈز بھیجتا ہے۔

## <span dir="ltr">ZK-rollups</span> اور <span dir="ltr">EVM</span> کی مطابقت {#zk-rollups-and-evm-compatibility}

آپٹمسٹک رول اپس کے برعکس، <span dir="ltr">ZK-rollups</span> آسانی سے [ایتھیریم ورچوئل مشین (<span dir="ltr">EVM</span>)](/developers/docs/evm/) کے ساتھ مطابقت نہیں رکھتے۔ سرکٹس میں عام مقصد کی <span dir="ltr">EVM</span> کمپیوٹیشن کو ثابت کرنا سادہ کمپیوٹیشنز (جیسے پہلے بیان کی گئی ٹوکن کی منتقلی) کو ثابت کرنے سے زیادہ مشکل اور وسائل طلب ہے۔

تاہم، [صفر علم ٹیکنالوجی میں پیشرفت](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now) <span dir="ltr">EVM</span> کمپیوٹیشن کو صفر علم ثبوت میں لپیٹنے میں نئے سرے سے دلچسپی پیدا کر رہی ہے۔ ان کوششوں کا مقصد ایک صفر علم <span dir="ltr">EVM</span> (<span dir="ltr">zkEVM</span>) کا نفاذ بنانا ہے جو پروگرام کے نفاذ کی درستگی کی مؤثر طریقے سے تصدیق کر سکے۔ ایک <span dir="ltr">zkEVM</span> سرکٹس میں ثابت کرنے/تصدیق کرنے کے لیے موجودہ <span dir="ltr">EVM</span> اوپ کوڈز کو دوبارہ بناتا ہے، جس سے سمارٹ کنٹریکٹ کو انجام دینے کی اجازت ملتی ہے۔

<span dir="ltr">EVM</span> کی طرح، ایک <span dir="ltr">zkEVM</span> کچھ ان پٹس پر کمپیوٹیشن انجام دینے کے بعد حالتوں کے درمیان منتقل ہوتا ہے۔ فرق یہ ہے کہ <span dir="ltr">zkEVM</span> پروگرام کے نفاذ کے ہر مرحلے کی درستگی کی تصدیق کے لیے صفر علم ثبوت بھی بناتا ہے۔ درستگی کا ثبوت ان آپریشنز کی درستگی کی تصدیق کر سکتے ہیں جو <span dir="ltr">VM</span> کی حالت (میموری، اسٹیک، اسٹوریج) اور خود کمپیوٹیشن کو چھوتے ہیں (یعنی، کیا آپریشن نے صحیح اوپ کوڈز کو کال کیا اور انہیں صحیح طریقے سے انجام دیا؟)۔

<span dir="ltr">EVM</span> سے مطابقت رکھنے والے <span dir="ltr">ZK-rollups</span> کے تعارف سے توقع کی جاتی ہے کہ وہ ڈیولپرز کو صفر علم ثبوت کی اسکیل ایبلٹی اور سیکیورٹی کی ضمانتوں سے فائدہ اٹھانے میں مدد کریں گے۔ اس سے بھی اہم بات یہ ہے کہ مقامی ایتھیریم انفراسٹرکچر کے ساتھ مطابقت کا مطلب یہ ہے کہ ڈیولپرز مانوس (اور آزمودہ) ٹولنگ اور زبانوں کا استعمال کرتے ہوئے <span dir="ltr">ZK</span> کے موافق غیر مرکزی ایپلی کیشن (<span dir="ltr">dapp</span>) بنا سکتے ہیں۔

## <span dir="ltr">ZK-rollup</span> فیس کیسے کام کرتی ہے؟ {#how-do-zk-rollup-fees-work}

صارفین <span dir="ltr">ZK-rollups</span> پر ٹرانزیکشنز کے لیے کتنی ادائیگی کرتے ہیں اس کا انحصار گیس فیس پر ہے، بالکل ایتھیریم مین نیٹ کی طرح۔ تاہم، گیس فیس لیئر ۲ (<span dir="ltr">l2</span>) پر مختلف طریقے سے کام کرتی ہے اور درج ذیل اخراجات سے متاثر ہوتی ہے:

1. **حالت لکھنا**: ایتھیریم کی حالت میں لکھنے (یعنی، ایتھیریم بلاک چین پر ٹرانزیکشن جمع کرانے) کی ایک مقررہ لاگت ہے۔ <span dir="ltr">ZK-rollups</span> ٹرانزیکشنز کو بیچ کر کے اور متعدد صارفین میں مقررہ اخراجات کو پھیلا کر اس لاگت کو کم کرتے ہیں۔

2. **ڈیٹا کی اشاعت**: <span dir="ltr">ZK-rollups</span> ہر ٹرانزیکشن کے لیے حالت کا ڈیٹا ایتھیریم پر `calldata` کے طور پر شائع کرتے ہیں۔ `calldata` کے اخراجات فی الحال [<span dir="ltr">EIP-1559</span>](https://eips.ethereum.org/EIPS/eip-1559) کے زیر انتظام ہیں، جو بالترتیب غیر صفر بائٹس کے لیے <span dir="ltr">16</span> گیس اور `calldata` کے صفر بائٹس کے لیے <span dir="ltr">4</span> گیس کی لاگت مقرر کرتا ہے۔ ہر ٹرانزیکشن پر ادا کی جانے والی لاگت اس بات سے متاثر ہوتی ہے کہ اس کے لیے کتنا `calldata` آن چین پوسٹ کرنے کی ضرورت ہے۔

3. **لیئر ۲ (<span dir="ltr">l2</span>) آپریٹر فیس**: یہ وہ رقم ہے جو رول اپ آپریٹر کو ٹرانزیکشنز پر کارروائی کرنے میں آنے والے کمپیوٹیشنل اخراجات کے معاوضے کے طور پر ادا کی جاتی ہے، بالکل ایتھیریم مین نیٹ پر [ٹرانزیکشن "ترجیحی فیس (ٹپس)"](/developers/docs/gas/#how-are-gas-fees-calculated) کی طرح۔

4. **ثبوت کی تیاری اور تصدیق**: <span dir="ltr">ZK-rollup</span> آپریٹرز کو ٹرانزیکشن بیچز کے لیے درستگی کا ثبوت تیار کرنا چاہیے، جو وسائل طلب ہے۔ مین نیٹ پر صفر علم ثبوت کی تصدیق کرنے پر بھی گیس خرچ ہوتی ہے (تقریباً <span dir="ltr">500,000</span> گیس)۔

ٹرانزیکشنز کو بیچ کرنے کے علاوہ، <span dir="ltr">ZK-rollups</span> ٹرانزیکشن ڈیٹا کو کمپریس کر کے صارفین کے لیے فیس کم کرتے ہیں۔ آپ [ایک ریئل ٹائم جائزہ دیکھ سکتے ہیں](https://l2fees.info/) کہ ایتھیریم <span dir="ltr">ZK-rollups</span> استعمال کرنے پر کتنی لاگت آتی ہے۔

## <span dir="ltr">ZK-rollups</span> ایتھیریم کو کیسے اسکیل کرتے ہیں؟ {#scaling-ethereum-with-zk-rollups}

### ٹرانزیکشن ڈیٹا کمپریشن {#transaction-data-compression}

<span dir="ltr">ZK-rollups</span> کمپیوٹیشن کو آف چین لے جا کر ایتھیریم کی بنیادی لیئر پر تھرو پٹ کو بڑھاتے ہیں، لیکن اسکیلنگ کے لیے اصل فروغ ٹرانزیکشن ڈیٹا کو کمپریس کرنے سے ملتا ہے۔ ایتھیریم کا [بلاک سائز](/developers/docs/blocks/#block-size) اس ڈیٹا کو محدود کرتا ہے جو ہر بلاک رکھ سکتا ہے اور، توسیع کے لحاظ سے، فی بلاک پروسیس ہونے والی ٹرانزیکشنز کی تعداد کو محدود کرتا ہے۔ ٹرانزیکشن سے متعلق ڈیٹا کو کمپریس کر کے، <span dir="ltr">ZK-rollups</span> فی بلاک پروسیس ہونے والی ٹرانزیکشنز کی تعداد میں نمایاں اضافہ کرتے ہیں۔

<span dir="ltr">ZK-rollups</span> آپٹمسٹک رول اپس سے بہتر ٹرانزیکشن ڈیٹا کو کمپریس کر سکتے ہیں کیونکہ انہیں ہر ٹرانزیکشن کی توثیق کرنے کے لیے درکار تمام ڈیٹا پوسٹ کرنے کی ضرورت نہیں ہوتی ہے۔ انہیں صرف رول اپ پر اکاؤنٹس اور بیلنس کی تازہ ترین حالت کو دوبارہ بنانے کے لیے درکار کم از کم ڈیٹا پوسٹ کرنا ہوتا ہے۔

### تکراری ثبوت {#recursive-proofs}

صفر علم ثبوت کا ایک فائدہ یہ ہے کہ ثبوت دوسرے ثبوتوں کی تصدیق کر سکتے ہیں۔ مثال کے طور پر، ایک واحد زیڈ کے اسنارک دوسرے زیڈ کے اسنارک کی تصدیق کر سکتا ہے۔ اس طرح کے "ثبوتوں کے ثبوت" کو تکراری ثبوت کہا جاتا ہے اور یہ <span dir="ltr">ZK-rollups</span> پر تھرو پٹ میں ڈرامائی طور پر اضافہ کرتے ہیں۔

فی الحال، درستگی کا ثبوت بلاک بہ بلاک کی بنیاد پر تیار کیے جاتے ہیں اور تصدیق کے لیے لیئر ۱ (<span dir="ltr">l1</span>) کنٹریکٹ میں جمع کرائے جاتے ہیں۔ تاہم، سنگل بلاک ثبوتوں کی تصدیق اس تھرو پٹ کو محدود کرتی ہے جو <span dir="ltr">ZK-rollups</span> حاصل کر سکتے ہیں کیونکہ جب آپریٹر ثبوت جمع کراتا ہے تو صرف ایک بلاک کو حتمی شکل دی جا سکتی ہے۔

تاہم، تکراری ثبوت ایک درستگی کا ثبوت کے ساتھ کئی بلاکس کو حتمی شکل دینا ممکن بناتے ہیں۔ اس کی وجہ یہ ہے کہ ثابت کرنے والا سرکٹ تکراری طور پر متعدد بلاک ثبوتوں کو جمع کرتا ہے جب تک کہ ایک حتمی ثبوت نہ بن جائے۔ لیئر ۲ (<span dir="ltr">l2</span>) آپریٹر یہ تکراری ثبوت جمع کراتا ہے، اور اگر کنٹریکٹ اسے قبول کر لیتا ہے، تو تمام متعلقہ بلاکس کو فوری طور پر حتمی شکل دے دی جائے گی۔ تکراری ثبوتوں کے ساتھ، <span dir="ltr">ZK-rollup</span> ٹرانزیکشنز کی تعداد میں اضافہ ہوتا ہے جنہیں وقفوں پر ایتھیریم پر حتمی شکل دی جا سکتی ہے۔

### <span dir="ltr">ZK-rollups</span> کے فوائد اور نقصانات {#zk-rollups-pros-and-cons}

| فوائد                                                                                                                                                                                                   | نقصانات                                                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| درستگی کا ثبوت آف چین ٹرانزیکشنز کی درستگی کو یقینی بناتے ہیں اور آپریٹرز کو غلط حالت کی تبدیلیوں کو انجام دینے سے روکتے ہیں۔                                                                           | درستگی کا ثبوت کا حساب لگانے اور تصدیق کرنے سے وابستہ لاگت کافی ہے اور رول اپ صارفین کے لیے فیس میں اضافہ کر سکتی ہے۔                                                                            |
| تیز تر ٹرانزیکشن کی حتمیت پیش کرتا ہے کیونکہ لیئر ۱ (<span dir="ltr">l1</span>) پر درستگی کا ثبوت کی تصدیق ہونے کے بعد حالت کی اپ ڈیٹس منظور ہو جاتی ہیں۔                                                                                              | صفر علم ٹیکنالوجی کی پیچیدگی کی وجہ سے <span dir="ltr">EVM</span> سے مطابقت رکھنے والے <span dir="ltr">ZK-rollups</span> بنانا مشکل ہے۔                                                                                                    |
| سیکیورٹی کے لیے بلا اعتماد کرپٹوگرافک میکانزم پر انحصار کرتا ہے، نہ کہ ترغیب یافتہ اداکاروں کی ایمانداری پر جیسا کہ [آپٹمسٹک رول اپس](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons) کے ساتھ ہوتا ہے۔ | درستگی کا ثبوت تیار کرنے کے لیے خصوصی ہارڈویئر کی ضرورت ہوتی ہے، جو چند فریقوں کی طرف سے چین کے مرکزی کنٹرول کی حوصلہ افزائی کر سکتا ہے۔                                                                    |
| لیئر ۱ (<span dir="ltr">l1</span>) پر آف چین حالت کو بازیافت کرنے کے لیے درکار ڈیٹا کو اسٹور کرتا ہے، جو سیکیورٹی، سنسرشپ کے خلاف مزاحمت، اور لامرکزیت کی ضمانت دیتا ہے۔                                                                       | مرکزی آپریٹرز (سیکوینسر) ٹرانزیکشنز کی ترتیب کو متاثر کر سکتے ہیں۔                                                                                                                     |
| صارفین زیادہ سرمائے کی کارکردگی سے مستفید ہوتے ہیں اور بغیر کسی تاخیر کے لیئر ۲ (<span dir="ltr">l2</span>) سے فنڈز نکال سکتے ہیں۔                                                                                                           | ہارڈویئر کی ضروریات ان شرکاء کی تعداد کو کم کر سکتی ہیں جو چین کو پیشرفت کرنے پر مجبور کر سکتے ہیں، جس سے بدنیتی پر مبنی آپریٹرز کے رول اپ کی حالت کو منجمد کرنے اور صارفین کو سنسر کرنے کا خطرہ بڑھ جاتا ہے۔ |
| لائیونیس (<span dir="ltr">liveness</span>) کے مفروضوں پر انحصار نہیں کرتا اور صارفین کو اپنے فنڈز کی حفاظت کے لیے چین کی توثیق کرنے کی ضرورت نہیں ہے۔                                                                                              | کچھ ثابت کرنے والے سسٹمز (جیسے، زیڈ کے اسنارک) کو ایک قابل اعتماد سیٹ اپ کی ضرورت ہوتی ہے جو، اگر غلط طریقے سے سنبھالا جائے، تو ممکنہ طور پر <span dir="ltr">ZK-rollup</span> کے سیکیورٹی ماڈل سے سمجھوتہ کر سکتا ہے۔                                                     |
| بہتر ڈیٹا کمپریشن ایتھیریم پر `calldata` شائع کرنے کے اخراجات کو کم کرنے اور صارفین کے لیے رول اپ فیس کو کم کرنے میں مدد کر سکتا ہے۔                                                                             |                                                                                                                                                                                                    |

### <span dir="ltr">ZK-rollups</span> کی بصری وضاحت {#zk-video}

دیکھیں <span dir="ltr">Finematics</span> <span dir="ltr">ZK-rollups</span> کی وضاحت کرتے ہیں:

<VideoWatch slug="rollups-scaling-strategy" startTime="406" />


## <span dir="ltr">zkEVM</span> پر کون کام کر رہا ہے؟ {#zkevm-projects}

<Alert variant="info">
<AlertEmoji text="💡" />
<AlertContent>
<AlertTitle>لیئر ۲ (<span dir="ltr">l2</span>) بمقابلہ لیئر ۱ (<span dir="ltr">l1</span>) کے لیے <span dir="ltr">zkEVM</span></AlertTitle>
<AlertDescription>
ذیل کے پروجیکٹس لیئر ۲ (<span dir="ltr">l2</span>) رول اپس بنانے کے لیے <span dir="ltr">zkEVM</span> ٹیکنالوجی کا استعمال کرتے ہیں۔ [لیئر ۱ (<span dir="ltr">l1</span>) بلاک کی تصدیق](/roadmap/zkevm/) کے لیے <span dir="ltr">zkEVM</span> استعمال کرنے پر بھی تحقیق ہو رہی ہے، جو توثیق کاروں کو ٹرانزیکشنز کو دوبارہ انجام دیے بغیر ایتھیریم بلاکس کی تصدیق کرنے کے قابل بنائے گی۔
</AlertDescription>
</AlertContent>
</Alert>

<span dir="ltr">zkEVMs</span> پر کام کرنے والے پروجیکٹس میں شامل ہیں:

- **[<span dir="ltr">zkEVM</span>](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _<span dir="ltr">zkEVM</span> ایک پروجیکٹ ہے جسے ایتھیریم فاؤنڈیشن کی طرف سے فنڈ کیا گیا ہے تاکہ ایک <span dir="ltr">EVM</span> سے مطابقت رکھنے والا <span dir="ltr">ZK-rollup</span> اور ایتھیریم بلاکس کے لیے درستگی کا ثبوت تیار کرنے کا طریقہ کار تیار کیا جا سکے۔_

- **[پولی گون <span dir="ltr">zkEVM</span>](https://polygon.technology/solutions/polygon-zkevm)** - _ایتھیریم مین نیٹ پر ایک لامركزی <span dir="ltr">ZK Rollup</span> ہے جو ایک صفر علم ایتھیریم ورچوئل مشین (<span dir="ltr">zkEVM</span>) پر کام کر رہا ہے جو ایتھیریم ٹرانزیکشنز کو شفاف طریقے سے انجام دیتا ہے، بشمول صفر علم ثبوت کی توثیق کے ساتھ سمارٹ کنٹریکٹ۔_

- **[<span dir="ltr">Scroll</span>](https://scroll.io/blog/zkEVM)** - _<span dir="ltr">Scroll</span> ایک ٹیک پر مبنی کمپنی ہے جو ایتھیریم کے لیے ایک مقامی <span dir="ltr">zkEVM</span> لیئر ۲ (<span dir="ltr">l2</span>) حل بنانے پر کام کر رہی ہے۔_

- **[<span dir="ltr">Taiko</span>](https://taiko.xyz)** - _<span dir="ltr">Taiko</span> ایک لامركزی، ایتھیریم کے مساوی <span dir="ltr">ZK-rollup</span> ہے (ایک [ٹائپ ۱ <span dir="ltr">ZK-EVM</span>](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))۔_

- **[زی کے سنک](https://docs.zksync.io/)** - _<span dir="ltr">ZKsync Era</span> ایک <span dir="ltr">EVM</span> سے مطابقت رکھنے والا <span dir="ltr">ZK Rollup</span> ہے جسے <span dir="ltr">Matter Labs</span> نے بنایا ہے، جو اس کے اپنے <span dir="ltr">zkEVM</span> سے چلتا ہے۔_

- **[سٹارک نیٹ](https://starkware.co/starknet/)** - _سٹارک نیٹ ایک <span dir="ltr">EVM</span> سے مطابقت رکھنے والا لیئر ۲ (<span dir="ltr">l2</span>) اسکیلنگ حل ہے جسے <span dir="ltr">StarkWare</span> نے بنایا ہے۔_

- **[<span dir="ltr">Morph</span>](https://www.morphl2.io/)** - _<span dir="ltr">Morph</span> ایک ہائبرڈ رول اپ اسکیلنگ حل ہے جو لیئر ۲ (<span dir="ltr">l2</span>) حالت کے چیلنج کے مسئلے کو حل کرنے کے لیے <span dir="ltr">zk-proof</span> کا استعمال کرتا ہے۔_

- **[<span dir="ltr">Linea</span>](https://linea.build)** - _<span dir="ltr">Linea</span> ایک ایتھیریم کے مساوی <span dir="ltr">zkEVM</span> لیئر ۲ (<span dir="ltr">l2</span>) ہے جسے کنسینسس نے بنایا ہے، جو ایتھیریم ایکو سسٹم کے ساتھ مکمل طور پر ہم آہنگ ہے۔_

## <span dir="ltr">ZK-rollups</span> پر مزید مطالعہ {#further-reading-on-zk-rollups}

- [صفر علم رول اپس کیا ہیں؟](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
- [صفر علم رول اپس کیا ہیں؟](https://alchemy.com/blog/zero-knowledge-rollups)
- [ایتھیریم رول اپس کے لیے عملی گائیڈ](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
- [<span dir="ltr">STARKs</span> بمقابلہ <span dir="ltr">SNARKs</span>](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
- [<span dir="ltr">zkEVM</span> کیا ہے؟](https://www.alchemy.com/overviews/zkevm)
- [<span dir="ltr">ZK-EVM</span> کی اقسام: ایتھیریم کے مساوی، <span dir="ltr">EVM</span> کے مساوی، ٹائپ ۱، ٹائپ ۴، اور دیگر خفیہ الفاظ](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
- [<span dir="ltr">zkEVM</span> کا تعارف](https://hackmd.io/@yezhang/S1_KMMbGt)
- [<span dir="ltr">ZK-EVM</span> لیئر ۲ (<span dir="ltr">l2s</span>) کیا ہیں؟](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M)
- [شاندار <span dir="ltr">zkEVM</span> وسائل](https://github.com/LuozhuZhang/awesome-zkevm)
- [زیڈ کے اسنارک اندرونی طور پر کیسے کام کرتے ہیں](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
- [<span dir="ltr">SNARKs</span> کیسے ممکن ہیں؟](https://vitalik.eth.limo/general/2021/01/26/snarks.html)

## ٹیوٹوریلز: ایتھیریم پر رازداری اور صفر علم {#tutorials}

- [خفیہ حالت کے لیے صفر علم کا استعمال](/developers/tutorials/secret-state/) _– آن چین خفیہ گیم کی حالت کو برقرار رکھنے کے لیے <span dir="ltr">ZK</span> ثبوت اور آف چین سرور کے اجزاء کا استعمال کیسے کریں۔_
- [اسٹیلتھ پتوں کا استعمال](/developers/tutorials/stealth-addr/) _– کیسے <span dir="ltr">ERC-5564</span> اسٹیلتھ پتے کرپٹوگرافک کلید اخذ کرنے کا استعمال کرتے ہوئے گمنام <span dir="ltr">ETH</span> کی منتقلی کو فعال کرتے ہیں۔_
- [ویب۲ تصدیق کے لیے ایتھیریم کا استعمال](/developers/tutorials/ethereum-for-web2-auth/) _– ایتھیریم والیٹ کے دستخطوں کو <span dir="ltr">SAML</span> پر مبنی ویب۲ تصدیقی نظام کے ساتھ کیسے مربوط کریں۔_