زیرو نالج پروفز کیا ہیں؟
زیرو نالج پروف کسی بیان کو ظاہر کیے بغیر اس کی درستگی ثابت کرنے کا ایک طریقہ ہے۔ 'ثابت کنندہ' (prover) وہ فریق ہے جو کسی دعوے کو ثابت کرنے کی کوشش کر رہا ہے، جبکہ 'تصدیق کنندہ' (verifier) دعوے کی توثیق کرنے کا ذمہ دار ہے۔
زیرو نالج پروفز پہلی بار 1985 کے ایک مقالے، "The knowledge complexity of interactive proof systems (opens in a new tab)" میں سامنے آئے جو زیرو نالج پروفز کی ایک ایسی تعریف فراہم کرتا ہے جو آج کل وسیع پیمانے پر استعمال ہوتی ہے:
زیرو نالج پروٹوکول ایک ایسا طریقہ ہے جس کے ذریعے ایک فریق (ثابت کنندہ) دوسرے فریق (تصدیق کنندہ) کو یہ ثابت کر سکتا ہے کہ کوئی چیز درست ہے، بغیر کوئی معلومات ظاہر کیے سوائے اس حقیقت کے کہ یہ مخصوص بیان درست ہے۔
زیرو نالج پروفز میں سالوں کے دوران بہتری آئی ہے اور اب انہیں کئی حقیقی دنیا کی ایپلی کیشنز میں استعمال کیا جا رہا ہے۔
ہمیں زیرو نالج پروفز کی ضرورت کیوں ہے؟
زیرو نالج پروفز نے اپلائیڈ کرپٹوگرافی میں ایک اہم پیش رفت کی نمائندگی کی، کیونکہ انہوں نے افراد کے لیے معلومات کی سیکیورٹی کو بہتر بنانے کا وعدہ کیا۔ غور کریں کہ آپ کسی دوسرے فریق (مثلاً، سروس پرووائیڈر) کو کوئی دعویٰ (مثلاً، "میں X ملک کا شہری ہوں") کیسے ثابت کر سکتے ہیں۔ آپ کو اپنے دعوے کی حمایت کے لیے "ثبوت" فراہم کرنے کی ضرورت ہوگی، جیسے کہ قومی پاسپورٹ یا ڈرائیونگ لائسنس۔
لیکن اس نقطہ نظر کے ساتھ مسائل ہیں، خاص طور پر پرائیویسی کی کمی۔ تھرڈ پارٹی سروسز کے ساتھ شیئر کی جانے والی ذاتی طور پر قابل شناخت معلومات (PII) مرکزی ڈیٹا بیسز میں محفوظ کی جاتی ہیں، جو ہیکس کا شکار ہو سکتی ہیں۔ شناخت کی چوری کے ایک اہم مسئلہ بننے کے ساتھ، حساس معلومات شیئر کرنے کے لیے پرائیویسی کی حفاظت کرنے والے مزید ذرائع کے مطالبات بڑھ رہے ہیں۔
زیرو نالج پروفز دعووں کی درستگی ثابت کرنے کے لیے معلومات ظاہر کرنے کی ضرورت کو ختم کر کے اس مسئلے کو حل کرتے ہیں۔ زیرو نالج پروٹوکول بیان (جسے 'گواہ' یا 'witness' کہا جاتا ہے) کو ان پٹ کے طور پر استعمال کرتا ہے تاکہ اس کی درستگی کا ایک مختصر ثبوت تیار کیا جا سکے۔ یہ ثبوت مضبوط ضمانتیں فراہم کرتا ہے کہ کوئی بیان درست ہے، بغیر اس معلومات کو بے نقاب کیے جو اسے بنانے میں استعمال ہوئی تھی۔
ہماری پچھلی مثال پر واپس جائیں تو، آپ کو اپنی شہریت کا دعویٰ ثابت کرنے کے لیے واحد ثبوت زیرو نالج پروف کی ضرورت ہے۔ تصدیق کنندہ کو صرف یہ چیک کرنا ہوتا ہے کہ آیا ثبوت کی کچھ خصوصیات درست ہیں تاکہ یہ یقین ہو سکے کہ بنیادی بیان بھی درست ہے۔
زیرو نالج پروفز کے استعمال کے کیسز
گمنام ادائیگیاں
کریڈٹ کارڈ کی ادائیگیاں اکثر متعدد فریقین کو نظر آتی ہیں، جن میں پیمنٹ پرووائیڈر، بینک، اور دیگر دلچسپی رکھنے والے فریقین (مثلاً، حکومتی حکام) شامل ہیں۔ اگرچہ مالیاتی نگرانی کے غیر قانونی سرگرمیوں کی نشاندہی کرنے کے فوائد ہیں، لیکن یہ عام شہریوں کی پرائیویسی کو بھی نقصان پہنچاتی ہے۔
کرپٹو کرنسیز کا مقصد صارفین کو نجی، پیئر ٹو پیئر ٹرانزیکشنز کرنے کا ذریعہ فراہم کرنا تھا۔ لیکن زیادہ تر کرپٹو کرنسی ٹرانزیکشنز پبلک بلاک چینز پر کھلے عام نظر آتی ہیں۔ صارف کی شناختیں اکثر فرضی ناموں پر مبنی ہوتی ہیں اور یا تو جان بوجھ کر حقیقی دنیا کی شناختوں سے منسلک ہوتی ہیں (مثلاً، Twitter یا GitHub پروفائلز پر ETH ایڈریسز شامل کر کے) یا بنیادی آن اور آف چین ڈیٹا کے تجزیے کا استعمال کرتے ہوئے حقیقی دنیا کی شناختوں سے منسلک کی جا سکتی ہیں۔
مکمل طور پر گمنام ٹرانزیکشنز کے لیے مخصوص "پرائیویسی کوائنز" ڈیزائن کیے گئے ہیں۔ پرائیویسی پر مرکوز بلاک چینز، جیسے Zcash اور Monero، ٹرانزیکشن کی تفصیلات کو چھپاتی ہیں، جن میں بھیجنے والے/وصول کرنے والے کے ایڈریسز، اثاثے کی قسم، مقدار، اور ٹرانزیکشن کی ٹائم لائن شامل ہیں۔
پروٹوکول میں زیرو نالج ٹیکنالوجی کو شامل کر کے، پرائیویسی پر مرکوز نیٹ ورکس کو ٹرانزیکشن ڈیٹا تک رسائی کی ضرورت کے بغیر ٹرانزیکشنز کی توثیق کرنے کی اجازت دیتے ہیں۔ EIP-7503 (opens in a new tab) ایک مجوزہ ڈیزائن کی مثال ہے جو Ethereum بلاک چین پر قدر کی مقامی نجی منتقلی کو فعال کرے گا۔ تاہم، سیکیورٹی، ریگولیٹری، اور UX خدشات کے مرکب کی وجہ سے ایسی تجاویز پر عمل درآمد کرنا مشکل ہے۔
زیرو نالج پروفز کو پبلک بلاک چینز پر ٹرانزیکشنز کو گمنام بنانے کے لیے بھی لاگو کیا جا رہا ہے۔ اس کی ایک مثال Tornado Cash ہے، جو ایک ڈی سینٹرلائزڈ، نان کسٹوڈیئل سروس ہے جو صارفین کو Ethereum پر نجی ٹرانزیکشنز کرنے کی اجازت دیتی ہے۔ Tornado Cash ٹرانزیکشن کی تفصیلات کو مبہم کرنے اور مالیاتی پرائیویسی کی ضمانت دینے کے لیے زیرو نالج پروفز کا استعمال کرتا ہے۔ بدقسمتی سے، چونکہ یہ "آپٹ ان" (opt-in) پرائیویسی ٹولز ہیں، اس لیے یہ غیر قانونی سرگرمیوں سے وابستہ ہیں۔ اس پر قابو پانے کے لیے، پرائیویسی کو بالآخر پبلک بلاک چینز پر ڈیفالٹ بننا ہوگا۔ Ethereum پر پرائیویسی کے بارے میں مزید جانیں۔
شناخت کا تحفظ
موجودہ شناختی مینجمنٹ سسٹمز ذاتی معلومات کو خطرے میں ڈالتے ہیں۔ زیرو نالج پروفز حساس تفصیلات کی حفاظت کرتے ہوئے افراد کو شناخت کی توثیق کرنے میں مدد کر سکتے ہیں۔
زیرو نالج پروفز خاص طور پر ڈی سینٹرلائزڈ شناخت کے تناظر میں مفید ہیں۔ ڈی سینٹرلائزڈ شناخت (جسے 'سیلف سوورین شناخت' بھی کہا جاتا ہے) فرد کو ذاتی شناخت کنندگان تک رسائی کو کنٹرول کرنے کی صلاحیت دیتی ہے۔ اپنی ٹیکس ID یا پاسپورٹ کی تفصیلات ظاہر کیے بغیر اپنی شہریت ثابت کرنا اس بات کی ایک اچھی مثال ہے کہ زیرو نالج ٹیکنالوجی کس طرح ڈی سینٹرلائزڈ شناخت کو فعال کرتی ہے۔
ZKP + شناخت عملی طور پر: Ethereum پر بھوٹان کی نیشنل ڈیجیٹل ID (NDI)
شناختی مینجمنٹ سسٹمز کے لیے ZKP استعمال کرنے کی ایک حقیقی دنیا کی مثال بھوٹان کی نیشنل ڈیجیٹل ID (NDI) کا نظام ہے، جو Ethereum پر بنایا گیا ہے۔ بھوٹان کا NDI شہریوں کو کرپٹوگرافک طور پر اپنے بارے میں حقائق ثابت کرنے کی اجازت دینے کے لیے ZKPs کا استعمال کرتا ہے، جیسے "میں ایک شہری ہوں" یا "میری عمر 18 سال سے زیادہ ہے،" بغیر ان کی ID پر موجود حساس ذاتی ڈیٹا کو ظاہر کیے۔
بھوٹان NDI کے بارے میں مزید جانیں ڈی سینٹرلائزڈ شناخت کی کیس اسٹڈی میں۔
انسانیت کا ثبوت (Proof of Humanity)
آج کل زیرو نالج پروفز کے عملی استعمال کی سب سے زیادہ استعمال ہونے والی مثالوں میں سے ایک World ID پروٹوکول (opens in a new tab) ہے، جسے "AI کے دور کے لیے ایک عالمی ڈیجیٹل پاسپورٹ" سمجھا جا سکتا ہے۔ یہ لوگوں کو ذاتی معلومات ظاہر کیے بغیر یہ ثابت کرنے کی اجازت دیتا ہے کہ وہ منفرد افراد ہیں۔ یہ Orb نامی ڈیوائس کے ذریعے حاصل کیا جاتا ہے، جو کسی شخص کی آنکھ کی پتلی (iris) کو اسکین کرتا ہے اور ایک آئرس کوڈ تیار کرتا ہے۔ آئرس کوڈ کو چیک اور تصدیق کیا جاتا ہے تاکہ اس بات کی تصدیق ہو سکے کہ وہ شخص حیاتیاتی طور پر ایک منفرد انسان ہے۔ تصدیق کے بعد، صارف کی ڈیوائس پر تیار کردہ ایک شناختی کمٹمنٹ (جو بائیو میٹرک ڈیٹا سے منسلک یا اخذ نہیں کی گئی) کو بلاک چین پر ایک محفوظ فہرست میں شامل کیا جاتا ہے۔ پھر، جب بھی صارف یہ ثابت کرنا چاہتا ہے کہ وہ ایک تصدیق شدہ انسان ہے – چاہے سائن ان کرنے، ووٹ دینے، یا دیگر کارروائیاں کرنے کے لیے – وہ ایک زیرو نالج پروف تیار کر سکتا ہے جو فہرست میں ان کی رکنیت کی تصدیق کرتا ہے۔ زیرو نالج پروف استعمال کرنے کی خوبصورتی یہ ہے کہ صرف ایک بیان ظاہر ہوتا ہے: یہ شخص منفرد ہے۔ باقی سب کچھ نجی رہتا ہے۔
World ID کا انحصار Ethereum فاؤنڈیشن کی PSE ٹیم (opens in a new tab) کے تیار کردہ Semaphore پروٹوکول (opens in a new tab) پر ہے۔ Semaphore کو زیرو نالج پروفز تیار کرنے اور ان کی تصدیق کرنے کے لیے ایک ہلکے پھلکے لیکن طاقتور طریقے کے طور پر ڈیزائن کیا گیا ہے۔ یہ صارفین کو یہ ثابت کرنے دیتا ہے کہ وہ کسی گروپ کا حصہ ہیں (اس صورت میں، تصدیق شدہ انسان) بغیر یہ دکھائے کہ وہ گروپ کے کون سے رکن ہیں۔ Semaphore انتہائی لچکدار بھی ہے، جو شناخت کی تصدیق، ایونٹس میں شرکت، یا اسناد کی ملکیت جیسے وسیع معیار کی بنیاد پر گروپس بنانے کی اجازت دیتا ہے۔
تصدیق (Authentication)
آن لائن سروسز استعمال کرنے کے لیے آپ کی شناخت اور ان پلیٹ فارمز تک رسائی کے حق کو ثابت کرنے کی ضرورت ہوتی ہے۔ اس کے لیے اکثر ذاتی معلومات فراہم کرنے کی ضرورت ہوتی ہے، جیسے نام، ای میل ایڈریسز، تاریخ پیدائش، وغیرہ۔ آپ کو لمبے پاس ورڈز بھی یاد رکھنے پڑ سکتے ہیں یا رسائی کھونے کا خطرہ مول لینا پڑ سکتا ہے۔
تاہم، زیرو نالج پروفز پلیٹ فارمز اور صارفین دونوں کے لیے تصدیق کو آسان بنا سکتے ہیں۔ ایک بار جب پبلک ان پٹس (مثلاً، پلیٹ فارم کی صارف کی رکنیت کی تصدیق کرنے والا ڈیٹا) اور پرائیویٹ ان پٹس (مثلاً، صارف کی تفصیلات) کا استعمال کرتے ہوئے ZK-پروف تیار ہو جاتا ہے، تو صارف سروس تک رسائی کی ضرورت پڑنے پر اپنی شناخت کی تصدیق کے لیے اسے آسانی سے پیش کر سکتا ہے۔ اس سے صارفین کے لیے تجربہ بہتر ہوتا ہے اور تنظیموں کو صارف کی معلومات کی بڑی مقدار کو ذخیرہ کرنے کی ضرورت سے آزاد کرتا ہے۔
قابل تصدیق کمپیوٹیشن
قابل تصدیق کمپیوٹیشن بلاک چین ڈیزائنز کو بہتر بنانے کے لیے زیرو نالج ٹیکنالوجی کی ایک اور ایپلی کیشن ہے۔ قابل تصدیق کمپیوٹنگ ہمیں قابل تصدیق نتائج کو برقرار رکھتے ہوئے کمپیوٹیشن کو کسی دوسری ہستی کو آؤٹ سورس کرنے کی اجازت دیتی ہے۔ ہستی نتیجہ کے ساتھ ایک ثبوت جمع کراتی ہے جو اس بات کی تصدیق کرتا ہے کہ پروگرام کو صحیح طریقے سے چلایا گیا تھا۔
قابل تصدیق کمپیوٹیشن سیکیورٹی کو کم کیے بغیر بلاک چینز پر پروسیسنگ کی رفتار کو بہتر بنانے کے لیے اہم ہے۔ اسے سمجھنے کے لیے Ethereum کو اسکیل کرنے کے مجوزہ حلوں میں فرق جاننے کی ضرورت ہے۔
آن چین اسکیلنگ سلوشنز، جیسے شارڈنگ، کو بلاک چین کی بنیادی تہہ (base layer) میں وسیع ترمیم کی ضرورت ہوتی ہے۔ تاہم، یہ نقطہ نظر انتہائی پیچیدہ ہے اور عمل درآمد میں غلطیاں Ethereum کے سیکیورٹی ماڈل کو نقصان پہنچا سکتی ہیں۔
آف چین اسکیلنگ سلوشنز کو بنیادی Ethereum پروٹوکول کو دوبارہ ڈیزائن کرنے کی ضرورت نہیں ہے۔ اس کے بجائے وہ Ethereum کی بنیادی تہہ پر تھرو پٹ کو بہتر بنانے کے لیے آؤٹ سورسڈ کمپیوٹیشن ماڈل پر انحصار کرتے ہیں۔
عملی طور پر یہ اس طرح کام کرتا ہے:
-
ہر ٹرانزیکشن پروسیس کرنے کے بجائے، Ethereum ایگزیکیوشن کو ایک الگ چین پر منتقل کر دیتا ہے۔
-
ٹرانزیکشنز پروسیس کرنے کے بعد، دوسری چین نتائج واپس کرتی ہے تاکہ انہیں Ethereum کی اسٹیٹ پر لاگو کیا جا سکے۔
یہاں فائدہ یہ ہے کہ Ethereum کو کوئی ایگزیکیوشن نہیں کرنی پڑتی اور اسے صرف آؤٹ سورسڈ کمپیوٹیشن کے نتائج کو اپنی اسٹیٹ پر لاگو کرنے کی ضرورت ہوتی ہے۔ اس سے نیٹ ورک کی بھیڑ کم ہوتی ہے اور ٹرانزیکشن کی رفتار بھی بہتر ہوتی ہے (آف چین پروٹوکولز تیز تر ایگزیکیوشن کے لیے آپٹیمائز کرتے ہیں)۔
چین کو آف چین ٹرانزیکشنز کو دوبارہ ایگزیکیوٹ کیے بغیر ان کی توثیق کرنے کے لیے ایک طریقہ درکار ہے، ورنہ آف چین ایگزیکیوشن کی قدر ختم ہو جاتی ہے۔
یہیں پر قابل تصدیق کمپیوٹیشن کام آتی ہے۔ جب کوئی نوڈ Ethereum کے باہر ٹرانزیکشن ایگزیکیوٹ کرتا ہے، تو وہ آف چین ایگزیکیوشن کی درستگی ثابت کرنے کے لیے ایک زیرو نالج پروف جمع کراتا ہے۔ یہ ثبوت (جسے کہا جاتا ہے) اس بات کی ضمانت دیتا ہے کہ ٹرانزیکشن درست ہے، جس سے Ethereum کو کسی کے تنازعہ کھڑا کرنے کا انتظار کیے بغیر نتیجہ کو اپنی اسٹیٹ پر لاگو کرنے کی اجازت ملتی ہے۔
زیرو نالج رول اپس اور ویلیڈیمز دو آف چین اسکیلنگ سلوشنز ہیں جو محفوظ اسکیل ایبلٹی فراہم کرنے کے لیے ویلڈیٹی پروفز کا استعمال کرتے ہیں۔ یہ پروٹوکولز ہزاروں ٹرانزیکشنز آف چین ایگزیکیوٹ کرتے ہیں اور Ethereum پر تصدیق کے لیے ثبوت جمع کراتے ہیں۔ ثبوت کی تصدیق ہونے کے بعد ان نتائج کو فوری طور پر لاگو کیا جا سکتا ہے، جس سے Ethereum کو بنیادی تہہ پر کمپیوٹیشن بڑھائے بغیر مزید ٹرانزیکشنز پروسیس کرنے کی اجازت ملتی ہے۔
Layer 2 اسکیلنگ کے علاوہ، زیرو نالج ثبوت خود Ethereum L1 بلاک کی عمل آوری کی تصدیق بھی کر سکتے ہیں۔ L1 کی تصدیق کے لیے zkEVM تصدیق کنندگان کو تمام ٹرانزیکشنز کو دوبارہ چلانے کے بجائے ایک ثبوت کی جانچ کر کے بلاکس کی تصدیق کرنے کی اجازت دے گا -- جس سے تصدیق کنندہ کے ہارڈویئر کی ضروریات کو بڑھائے بغیر گیس کی حد کو بڑھانا ممکن ہو جائے گا۔
آن چین ووٹنگ میں رشوت ستانی اور ملی بھگت کو کم کرنا
بلاک چین ووٹنگ اسکیموں میں بہت سی سازگار خصوصیات ہیں: وہ مکمل طور پر قابل آڈٹ ہیں، حملوں کے خلاف محفوظ ہیں، سنسرشپ کے خلاف مزاحم ہیں، اور جغرافیائی رکاوٹوں سے آزاد ہیں۔ لیکن آن چین ووٹنگ اسکیمیں بھی ملی بھگت کے مسئلے سے محفوظ نہیں ہیں۔
"دوسروں کو دھوکہ دے کر، فریب دے کر، اور گمراہ کر کے کھلے مقابلے کو محدود کرنے کے لیے ہم آہنگی" کے طور پر بیان کی گئی، ملی بھگت کسی بدنیتی پر مبنی ایکٹر کی طرف سے رشوت کی پیشکش کر کے ووٹنگ پر اثر انداز ہونے کی شکل اختیار کر سکتی ہے۔ مثال کے طور پر، Alice کو Bob سے بیلٹ پر option B کے لیے ووٹ دینے کے لیے رشوت مل سکتی ہے حالانکہ وہ option A کو ترجیح دیتی ہے۔
رشوت ستانی اور ملی بھگت کسی بھی ایسے عمل کی تاثیر کو محدود کرتی ہے جو ووٹنگ کو سگنلنگ میکانزم کے طور پر استعمال کرتا ہے (خاص طور پر جہاں صارفین یہ ثابت کر سکتے ہیں کہ انہوں نے کیسے ووٹ دیا)۔ اس کے اہم نتائج ہو سکتے ہیں، خاص طور پر جہاں ووٹ نایاب وسائل کی تقسیم کے ذمہ دار ہوں۔
مثال کے طور پر، کواڈریٹک فنڈنگ میکانزمز (opens in a new tab) مختلف عوامی فلاحی پروجیکٹس کے درمیان مخصوص آپشنز کے لیے ترجیح کی پیمائش کرنے کے لیے عطیات پر انحصار کرتے ہیں۔ ہر عطیہ ایک مخصوص پروجیکٹ کے لیے "ووٹ" کے طور پر شمار ہوتا ہے، اور زیادہ ووٹ حاصل کرنے والے پروجیکٹس کو میچنگ پول سے زیادہ فنڈز ملتے ہیں۔
آن چین ووٹنگ کا استعمال کواڈریٹک فنڈنگ کو ملی بھگت کا شکار بناتا ہے: بلاک چین ٹرانزیکشنز پبلک ہوتی ہیں، اس لیے رشوت دینے والے رشوت لینے والے کی آن چین سرگرمی کا معائنہ کر سکتے ہیں تاکہ یہ دیکھ سکیں کہ انہوں نے کیسے "ووٹ" دیا۔ اس طرح کواڈریٹک فنڈنگ کمیونٹی کی مجموعی ترجیحات کی بنیاد پر فنڈز مختص کرنے کا ایک موثر ذریعہ نہیں رہتی۔
خوش قسمتی سے، MACI (Minimum Anti-Collusion Infrastructure) جیسے نئے سلوشنز آن چین ووٹنگ (مثلاً، کواڈریٹک فنڈنگ میکانزمز) کو رشوت ستانی اور ملی بھگت کے خلاف مزاحم بنانے کے لیے زیرو نالج پروفز کا استعمال کر رہے ہیں۔ MACI اسمارٹ کانٹریکٹس اور اسکرپٹس کا ایک مجموعہ ہے جو ایک مرکزی منتظم (جسے "کوآرڈینیٹر" کہا جاتا ہے) کو ووٹوں کو جمع کرنے اور نتائج کا حساب لگانے کی اجازت دیتا ہے بغیر اس کی تفصیلات ظاہر کیے کہ ہر فرد نے کیسے ووٹ دیا۔ اس کے باوجود، یہ تصدیق کرنا اب بھی ممکن ہے کہ ووٹوں کی گنتی صحیح طریقے سے کی گئی تھی، یا اس بات کی تصدیق کرنا کہ کسی خاص فرد نے ووٹنگ راؤنڈ میں حصہ لیا تھا۔
MACI زیرو نالج پروفز کے ساتھ کیسے کام کرتا ہے؟
شروع میں، کوآرڈینیٹر Ethereum پر MACI کانٹریکٹ کو ڈیپلائے کرتا ہے، جس کے بعد صارفین ووٹنگ کے لیے سائن اپ کر سکتے ہیں (اسمارٹ کانٹریکٹ میں اپنی پبلک کی (public key) رجسٹر کر کے)۔ صارفین اسمارٹ کانٹریکٹ کو اپنی پبلک کی کے ساتھ انکرپٹ کردہ پیغامات بھیج کر ووٹ ڈالتے ہیں (ایک درست ووٹ پر صارف کی شناخت سے وابستہ تازہ ترین پبلک کی کے ساتھ دستخط ہونے چاہئیں، دیگر معیارات کے علاوہ)۔ اس کے بعد، ووٹنگ کی مدت ختم ہونے پر کوآرڈینیٹر تمام پیغامات پروسیس کرتا ہے، ووٹوں کی گنتی کرتا ہے، اور آن چین نتائج کی تصدیق کرتا ہے۔
MACI میں، زیرو نالج پروفز کا استعمال کمپیوٹیشن کی درستگی کو یقینی بنانے کے لیے کیا جاتا ہے تاکہ کوآرڈینیٹر کے لیے ووٹوں کو غلط طریقے سے پروسیس کرنا اور نتائج کا حساب لگانا ناممکن ہو جائے۔ یہ کوآرڈینیٹر سے ZK-SNARK پروفز تیار کرنے کا مطالبہ کر کے حاصل کیا جاتا ہے جو اس بات کی تصدیق کرتے ہیں کہ a) تمام پیغامات کو صحیح طریقے سے پروسیس کیا گیا تھا b) حتمی نتیجہ تمام درست ووٹوں کے مجموعے سے مطابقت رکھتا ہے۔
اس طرح، فی صارف ووٹوں کی تفصیل شیئر کیے بغیر (جیسا کہ عام طور پر ہوتا ہے)، MACI گنتی کے عمل کے دوران شمار کیے گئے نتائج کی سالمیت کی ضمانت دیتا ہے۔ یہ خصوصیت بنیادی ملی بھگت کی اسکیموں کی تاثیر کو کم کرنے میں مفید ہے۔ ہم Bob کی طرف سے Alice کو کسی آپشن کے لیے ووٹ دینے کے لیے رشوت دینے کی پچھلی مثال کا استعمال کر کے اس امکان کو تلاش کر سکتے ہیں:
- Alice اسمارٹ کانٹریکٹ کو اپنی پبلک کی بھیج کر ووٹ دینے کے لیے رجسٹر ہوتی ہے۔
- Alice Bob سے رشوت کے بدلے
option Bکے لیے ووٹ دینے پر راضی ہوتی ہے۔ - Alice
option Bکے لیے ووٹ دیتی ہے۔ - Alice خفیہ طور پر اپنی شناخت سے وابستہ پبلک کی کو تبدیل کرنے کے لیے ایک انکرپٹڈ ٹرانزیکشن بھیجتی ہے۔
- Alice نئی پبلک کی کا استعمال کرتے ہوئے
option Aکے لیے ووٹ دینے والا ایک اور (انکرپٹڈ) پیغام اسمارٹ کانٹریکٹ کو بھیجتی ہے۔ - Alice Bob کو ایک ٹرانزیکشن دکھاتی ہے جو ظاہر کرتی ہے کہ اس نے
option Bکے لیے ووٹ دیا (جو کہ غلط ہے کیونکہ پبلک کی اب سسٹم میں Alice کی شناخت سے وابستہ نہیں ہے) - پیغامات پروسیس کرتے وقت، کوآرڈینیٹر Alice کے
option Bکے ووٹ کو چھوڑ دیتا ہے اور صرفoption Aکے ووٹ کو شمار کرتا ہے۔ لہذا، Bob کی Alice کے ساتھ ملی بھگت کرنے اور آن چین ووٹ میں ہیرا پھیری کرنے کی کوشش ناکام ہو جاتی ہے۔
MACI کا استعمال کرنے کے لیے کوآرڈینیٹر پر بھروسہ کرنے کی ضرورت ہوتی ہے کہ وہ رشوت دینے والوں کے ساتھ ملی بھگت نہ کرے یا خود ووٹرز کو رشوت دینے کی کوشش نہ کرے۔ کوآرڈینیٹر صارف کے پیغامات کو ڈکرپٹ کر سکتا ہے (ثبوت بنانے کے لیے ضروری ہے)، تاکہ وہ درست طریقے سے تصدیق کر سکیں کہ ہر شخص نے کیسے ووٹ دیا۔
لیکن ان صورتوں میں جہاں کوآرڈینیٹر ایماندار رہتا ہے، MACI آن چین ووٹنگ کے تقدس کی ضمانت دینے کے لیے ایک طاقتور ٹول کی نمائندگی کرتا ہے۔ یہ کواڈریٹک فنڈنگ ایپلی کیشنز (مثلاً، clr.fund (opens in a new tab)) کے درمیان اس کی مقبولیت کی وضاحت کرتا ہے جو ہر فرد کے ووٹنگ کے انتخاب کی سالمیت پر بہت زیادہ انحصار کرتی ہیں۔
MACI کے بارے میں مزید جانیں (opens in a new tab)۔
زیرو نالج پروفز کیسے کام کرتے ہیں؟
زیرو نالج پروف آپ کو کسی بیان کے مندرجات کو شیئر کیے بغیر یا یہ ظاہر کیے بغیر کہ آپ نے سچائی کیسے دریافت کی، کسی بیان کی سچائی ثابت کرنے کی اجازت دیتا ہے۔ اسے ممکن بنانے کے لیے، زیرو نالج پروٹوکولز ایسے الگورتھمز پر انحصار کرتے ہیں جو کچھ ڈیٹا کو ان پٹ کے طور پر لیتے ہیں اور آؤٹ پٹ کے طور پر 'درست' (true) یا 'غلط' (false) واپس کرتے ہیں۔
زیرو نالج پروٹوکول کو درج ذیل معیارات کو پورا کرنا چاہیے:
-
مکمل پن (Completeness): اگر ان پٹ درست ہے، تو زیرو نالج پروٹوکول ہمیشہ 'درست' واپس کرتا ہے۔ لہذا، اگر بنیادی بیان درست ہے، اور ثابت کنندہ اور تصدیق کنندہ ایمانداری سے کام کرتے ہیں، تو ثبوت کو قبول کیا جا سکتا ہے۔
-
مضبوطی (Soundness): اگر ان پٹ غلط ہے، تو نظریاتی طور پر زیرو نالج پروٹوکول کو 'درست' واپس کرنے کے لیے بے وقوف بنانا ناممکن ہے۔ لہذا، ایک جھوٹا ثابت کنندہ کسی ایماندار تصدیق کنندہ کو یہ یقین دلانے کے لیے دھوکہ نہیں دے سکتا کہ ایک غلط بیان درست ہے (سوائے امکان کے ایک چھوٹے سے مارجن کے)۔
-
زیرو نالج (Zero-knowledge): تصدیق کنندہ کسی بیان کے بارے میں اس کی درستگی یا غلط ہونے کے علاوہ کچھ نہیں سیکھتا (انہیں بیان کا "زیرو نالج" ہوتا ہے)۔ یہ ضرورت تصدیق کنندہ کو ثبوت سے اصل ان پٹ (بیان کے مندرجات) اخذ کرنے سے بھی روکتی ہے۔
بنیادی شکل میں، زیرو نالج پروف تین عناصر پر مشتمل ہوتا ہے: گواہ (witness)، چیلنج (challenge)، اور جواب (response)۔
-
گواہ (Witness): زیرو نالج پروف کے ساتھ، ثابت کنندہ کچھ پوشیدہ معلومات کا علم ثابت کرنا چاہتا ہے۔ خفیہ معلومات ثبوت کا "گواہ" ہے، اور ثابت کنندہ کا گواہ کے بارے میں فرض کیا گیا علم سوالات کا ایک مجموعہ قائم کرتا ہے جس کا جواب صرف وہی فریق دے سکتا ہے جسے معلومات کا علم ہو۔ اس طرح، ثابت کنندہ تصادفی طور پر ایک سوال کا انتخاب کر کے، جواب کا حساب لگا کر، اور اسے تصدیق کنندہ کو بھیج کر ثابت کرنے کا عمل شروع کرتا ہے۔
-
چیلنج (Challenge): تصدیق کنندہ تصادفی طور پر سیٹ سے ایک اور سوال چنتا ہے اور ثابت کنندہ سے اس کا جواب دینے کو کہتا ہے۔
-
جواب (Response): ثابت کنندہ سوال قبول کرتا ہے، جواب کا حساب لگاتا ہے، اور اسے تصدیق کنندہ کو واپس کرتا ہے۔ ثابت کنندہ کا جواب تصدیق کنندہ کو یہ چیک کرنے کی اجازت دیتا ہے کہ آیا واقعی پہلے والے کو گواہ تک رسائی حاصل ہے۔ اس بات کو یقینی بنانے کے لیے کہ ثابت کنندہ آنکھیں بند کر کے اندازہ نہیں لگا رہا ہے اور اتفاق سے صحیح جوابات حاصل نہیں کر رہا ہے، تصدیق کنندہ پوچھنے کے لیے مزید سوالات چنتا ہے۔ اس تعامل کو کئی بار دہرانے سے، ثابت کنندہ کے گواہ کے علم کو جعلی بنانے کا امکان نمایاں طور پر کم ہو جاتا ہے جب تک کہ تصدیق کنندہ مطمئن نہ ہو جائے۔
مندرجہ بالا ایک 'انٹرایکٹو زیرو نالج پروف' کی ساخت کو بیان کرتا ہے۔ ابتدائی زیرو نالج پروٹوکولز انٹرایکٹو پرونگ کا استعمال کرتے تھے، جہاں کسی بیان کی درستگی کی تصدیق کے لیے ثابت کنندگان اور تصدیق کنندگان کے درمیان آگے پیچھے مواصلت کی ضرورت ہوتی تھی۔
ایک اچھی مثال جو یہ واضح کرتی ہے کہ انٹرایکٹو پروفز کیسے کام کرتے ہیں وہ Jean-Jacques Quisquater کی مشہور علی بابا کے غار کی کہانی (opens in a new tab) ہے۔ کہانی میں، Peggy (ثابت کنندہ) Victor (تصدیق کنندہ) کو یہ ثابت کرنا چاہتی ہے کہ وہ جادوئی دروازہ کھولنے کا خفیہ جملہ جانتی ہے بغیر اس جملے کو ظاہر کیے۔
نان انٹرایکٹو زیرو نالج پروفز
اگرچہ انقلابی، انٹرایکٹو پرونگ کی افادیت محدود تھی کیونکہ اس کے لیے دونوں فریقین کا دستیاب ہونا اور بار بار بات چیت کرنا ضروری تھا۔ یہاں تک کہ اگر کوئی تصدیق کنندہ ثابت کنندہ کی ایمانداری کا قائل ہو گیا ہو، تو ثبوت آزادانہ تصدیق کے لیے دستیاب نہیں ہوگا (ایک نئے ثبوت کی گنتی کے لیے ثابت کنندہ اور تصدیق کنندہ کے درمیان پیغامات کے ایک نئے سیٹ کی ضرورت ہوتی ہے)۔
اس مسئلے کو حل کرنے کے لیے، Manuel Blum، Paul Feldman، اور Silvio Micali نے پہلے نان انٹرایکٹو زیرو نالج پروفز (opens in a new tab) تجویز کیے جہاں ثابت کنندہ اور تصدیق کنندہ کے پاس ایک مشترکہ کلید (shared key) ہوتی ہے۔ یہ ثابت کنندہ کو خود معلومات فراہم کیے بغیر کچھ معلومات (یعنی گواہ) کے بارے میں اپنے علم کا مظاہرہ کرنے کی اجازت دیتا ہے۔
انٹرایکٹو پروفز کے برعکس، نان انٹرایکٹو پروفز میں شرکاء (ثابت کنندہ اور تصدیق کنندہ) کے درمیان مواصلت کے صرف ایک راؤنڈ کی ضرورت ہوتی ہے۔ ثابت کنندہ زیرو نالج پروف کی گنتی کے لیے خفیہ معلومات کو ایک خاص الگورتھم میں منتقل کرتا ہے۔ یہ ثبوت تصدیق کنندہ کو بھیجا جاتا ہے، جو ایک اور الگورتھم کا استعمال کرتے ہوئے چیک کرتا ہے کہ ثابت کنندہ خفیہ معلومات جانتا ہے۔
نان انٹرایکٹو پرونگ ثابت کنندہ اور تصدیق کنندہ کے درمیان مواصلت کو کم کرتی ہے، جس سے ZK-پروفز زیادہ موثر ہو جاتے ہیں۔ مزید برآں، ایک بار جب کوئی ثبوت تیار ہو جاتا ہے، تو یہ کسی اور کے لیے (مشترکہ کلید اور تصدیق کے الگورتھم تک رسائی کے ساتھ) تصدیق کرنے کے لیے دستیاب ہوتا ہے۔
نان انٹرایکٹو پروفز نے زیرو نالج ٹیکنالوجی کے لیے ایک پیش رفت کی نمائندگی کی اور آج استعمال ہونے والے پرونگ سسٹمز کی ترقی کو فروغ دیا۔ ہم ذیل میں ان ثبوت کی اقسام پر تبادلہ خیال کرتے ہیں:
زیرو نالج پروفز کی اقسام
ZK-SNARKs
ZK-SNARK Zero-Knowledge Succinct Non-Interactive Argument of Knowledge کا مخفف ہے۔ ZK-SNARK پروٹوکول میں درج ذیل خصوصیات ہیں:
-
زیرو نالج (Zero-knowledge): ایک تصدیق کنندہ کسی بیان کے بارے میں کچھ اور جانے بغیر اس کی سالمیت کی توثیق کر سکتا ہے۔ تصدیق کنندہ کو بیان کے بارے میں صرف یہ علم ہوتا ہے کہ آیا یہ درست ہے یا غلط۔
-
مختصر (Succinct): زیرو نالج پروف گواہ سے چھوٹا ہوتا ہے اور اس کی تیزی سے تصدیق کی جا سکتی ہے۔
-
نان انٹرایکٹو (Non-interactive): ثبوت 'نان انٹرایکٹو' ہے کیونکہ ثابت کنندہ اور تصدیق کنندہ صرف ایک بار بات چیت کرتے ہیں، انٹرایکٹو پروفز کے برعکس جن میں مواصلت کے متعدد راؤنڈز کی ضرورت ہوتی ہے۔
-
دلیل (Argument): ثبوت 'مضبوطی' کی ضرورت کو پورا کرتا ہے، لہذا دھوکہ دہی کا امکان انتہائی کم ہے۔
-
علم کا (Of Knowledge): زیرو نالج پروف خفیہ معلومات (گواہ) تک رسائی کے بغیر نہیں بنایا جا سکتا۔ ایک ثابت کنندہ کے لیے جس کے پاس گواہ نہیں ہے، ایک درست زیرو نالج پروف کی گنتی کرنا مشکل ہے، اگر ناممکن نہیں۔
پہلے ذکر کی گئی 'مشترکہ کلید' سے مراد وہ پبلک پیرامیٹرز ہیں جنہیں ثابت کنندہ اور تصدیق کنندہ ثبوت تیار کرنے اور ان کی تصدیق کرنے میں استعمال کرنے پر متفق ہوتے ہیں۔ پبلک پیرامیٹرز (جنہیں اجتماعی طور پر Common Reference String (CRS) کہا جاتا ہے) تیار کرنا ایک حساس عمل ہے کیونکہ پروٹوکول کی سیکیورٹی میں اس کی اہمیت ہے۔ اگر CRS تیار کرنے میں استعمال ہونے والی اینٹروپی (بے ترتیبی) کسی بے ایمان ثابت کنندہ کے ہاتھ لگ جائے، تو وہ جھوٹے ثبوتوں کی گنتی کر سکتے ہیں۔
ملٹی پارٹی کمپیوٹیشن (MPC) (opens in a new tab) پبلک پیرامیٹرز تیار کرنے میں خطرات کو کم کرنے کا ایک طریقہ ہے۔ متعدد فریقین ایک ٹرسٹڈ سیٹ اپ تقریب (opens in a new tab) میں حصہ لیتے ہیں، جہاں ہر شخص CRS تیار کرنے کے لیے کچھ بے ترتیب اقدار کا حصہ ڈالتا ہے۔ جب تک ایک ایماندار فریق اینٹروپی کے اپنے حصے کو تباہ کر دیتا ہے، ZK-SNARK پروٹوکول کمپیوٹیشنل مضبوطی کو برقرار رکھتا ہے۔
ٹرسٹڈ سیٹ اپس کے لیے صارفین کو پیرامیٹر جنریشن میں شرکاء پر بھروسہ کرنے کی ضرورت ہوتی ہے۔ تاہم، ZK-STARKs کی ترقی نے ایسے پرونگ پروٹوکولز کو فعال کیا ہے جو نان ٹرسٹڈ سیٹ اپ کے ساتھ کام کرتے ہیں۔
ZK-STARKs
ZK-STARK Zero-Knowledge Scalable Transparent Argument of Knowledge کا مخفف ہے۔ ZK-STARKs ZK-SNARKs سے ملتے جلتے ہیں، سوائے اس کے کہ وہ ہیں:
-
اسکیل ایبل (Scalable): جب گواہ کا سائز بڑا ہوتا ہے تو ZK-STARK ثبوت تیار کرنے اور ان کی تصدیق کرنے میں ZK-SNARK سے تیز ہوتا ہے۔ STARK پروفز کے ساتھ، گواہ کے بڑھنے کے ساتھ ثابت کنندہ اور تصدیق کے اوقات میں صرف تھوڑا سا اضافہ ہوتا ہے (SNARK ثابت کنندہ اور تصدیق کنندہ کے اوقات گواہ کے سائز کے ساتھ لکیری طور پر بڑھتے ہیں)۔
-
شفاف (Transparent): ZK-STARK ٹرسٹڈ سیٹ اپ کے بجائے ثابت کرنے اور تصدیق کے لیے پبلک پیرامیٹرز تیار کرنے کے لیے عوامی طور پر قابل تصدیق بے ترتیبی پر انحصار کرتا ہے۔ اس طرح، وہ ZK-SNARKs کے مقابلے میں زیادہ شفاف ہیں۔
ZK-STARKs ZK-SNARKs سے بڑے ثبوت تیار کرتے ہیں جس کا مطلب ہے کہ ان میں عام طور پر تصدیق کے زیادہ اوور ہیڈز ہوتے ہیں۔ تاہم، ایسے معاملات ہیں (جیسے بڑے ڈیٹاسیٹس کو ثابت کرنا) جہاں ZK-STARKs ZK-SNARKs سے زیادہ لاگت کے لحاظ سے موثر ہو سکتے ہیں۔
زیرو نالج پروفز استعمال کرنے کے نقصانات
ہارڈویئر کے اخراجات
زیرو نالج پروفز تیار کرنے میں بہت پیچیدہ حسابات شامل ہوتے ہیں جو مخصوص مشینوں پر بہترین طریقے سے انجام دیے جاتے ہیں۔ چونکہ یہ مشینیں مہنگی ہوتی ہیں، اس لیے یہ اکثر عام افراد کی پہنچ سے باہر ہوتی ہیں۔ مزید برآں، جو ایپلی کیشنز زیرو نالج ٹیکنالوجی استعمال کرنا چاہتی ہیں انہیں ہارڈویئر کے اخراجات کو مدنظر رکھنا چاہیے—جس سے آخری صارفین کے لیے اخراجات بڑھ سکتے ہیں۔
ثبوت کی تصدیق کے اخراجات
ثبوتوں کی تصدیق کے لیے بھی پیچیدہ کمپیوٹیشن کی ضرورت ہوتی ہے اور ایپلی کیشنز میں زیرو نالج ٹیکنالوجی کو نافذ کرنے کے اخراجات بڑھ جاتے ہیں۔ یہ لاگت خاص طور پر کمپیوٹیشن ثابت کرنے کے تناظر میں متعلقہ ہے۔ مثال کے طور پر، ZK-rollups Ethereum پر ایک ZK-SNARK ثبوت کی تصدیق کے لیے ~ 500,000 گیس ادا کرتے ہیں، جبکہ ZK-STARKs کے لیے اس سے بھی زیادہ فیس درکار ہوتی ہے۔
اعتماد کے مفروضے
ZK-SNARK میں، Common Reference String (پبلک پیرامیٹرز) ایک بار تیار کی جاتی ہے اور ان فریقین کے لیے دوبارہ استعمال کے لیے دستیاب ہوتی ہے جو زیرو نالج پروٹوکول میں حصہ لینا چاہتے ہیں۔ پبلک پیرامیٹرز ایک ٹرسٹڈ سیٹ اپ تقریب کے ذریعے بنائے جاتے ہیں، جہاں شرکاء کو ایماندار فرض کیا جاتا ہے۔
لیکن صارفین کے لیے شرکاء کی ایمانداری کا اندازہ لگانے کا واقعی کوئی طریقہ نہیں ہے اور صارفین کو ڈویلپرز کی بات پر یقین کرنا پڑتا ہے۔ ZK-STARKs اعتماد کے مفروضوں سے آزاد ہیں کیونکہ اسٹرنگ تیار کرنے میں استعمال ہونے والی بے ترتیبی عوامی طور پر قابل تصدیق ہے۔ اس دوران، محققین پرونگ میکانزمز کی سیکیورٹی بڑھانے کے لیے ZK-SNARKs کے لیے نان ٹرسٹڈ سیٹ اپس پر کام کر رہے ہیں۔
کوانٹم کمپیوٹنگ کے خطرات
ZK-SNARK انکرپشن کے لیے ایلیپٹک کریو کرپٹوگرافی (elliptic curve cryptography) کا استعمال کرتا ہے۔ اگرچہ ایلیپٹک کریو ڈسکریٹ لوگارتھم کے مسئلے کو فی الحال ناقابل حل فرض کیا جاتا ہے، لیکن کوانٹم کمپیوٹرز کی ترقی مستقبل میں اس سیکیورٹی ماڈل کو توڑ سکتی ہے۔
ZK-STARK کو کوانٹم کمپیوٹنگ کے خطرے سے محفوظ سمجھا جاتا ہے، کیونکہ یہ اپنی سیکیورٹی کے لیے صرف کولیشن ریزسٹنٹ ہیش فنکشنز (collision-resistant hash functions) پر انحصار کرتا ہے۔ ایلیپٹک کریو کرپٹوگرافی میں استعمال ہونے والے پبلک-پرائیویٹ کی پیئرنگز کے برعکس، کولیشن ریزسٹنٹ ہیشنگ کوانٹم کمپیوٹنگ الگورتھمز کے لیے توڑنا زیادہ مشکل ہے۔
مزید مطالعہ
- زیرو نالج پروفز کے استعمال کے کیسز کا جائزہ (opens in a new tab) — Privacy and Scaling Explorations Team
- SNARKs بمقابلہ STARKS بمقابلہ Recursive SNARKs (opens in a new tab) — Alchemy Overviews
- ایک زیرو نالج پروف: بلاک چین پر پرائیویسی کو بہتر بنانا (opens in a new tab) — Dmitry Lavrenov
- zk-SNARKs — ایک حقیقت پسندانہ زیرو نالج مثال اور گہرا غوطہ (opens in a new tab) — Adam Luciano
- ZK-STARKs — قابل تصدیق اعتماد پیدا کریں، یہاں تک کہ کوانٹم کمپیوٹرز کے خلاف بھی (opens in a new tab) — Adam Luciano
- zk-SNARKs کیسے ممکن ہیں اس کا ایک تخمینی تعارف (opens in a new tab) — Vitalik Buterin
- زیرو نالج پروفز (ZKPs) سیلف سوورین شناخت کے لیے گیم چینجر کیوں ہیں (opens in a new tab) — Franklin Ohaegbulam
- EIP-7503 کی وضاحت: ZK پروفز کے ساتھ Ethereum پر نجی منتقلی کو فعال کرنا (opens in a new tab) — Emmanuel Awosika
- ZK کارڈ گیم: ZK کے بنیادی اصول اور حقیقی زندگی کے استعمال کے کیسز سیکھنے کے لیے گیم (opens in a new tab) - ZK-Cards
صفحہ کی آخری اپ ڈیٹ: 23 فروری، 2026