zkGalaxy کے لیے ایک ڈویلپر کی گائیڈ

zkGalaxy کے لیے ایک ڈویلپر کی گائیڈ

تعارف

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
کارکردگی اور مطابقت کے درمیان zkEVMs کے لیے Vitalik کی تجارت

یہ zkEVM کو سپورٹ کرنے کے طریقوں میں فرق کرنے کے لیے ایک انتہائی مفید ہوورسٹک ہے۔ تاہم، zkEVMs صفر علمی ایپلی کیشنز بنانے کے تمام ممکنہ طریقوں کا ذیلی سیٹ ہیں۔ ایک پروگرامر کے لیے جو zk کمپیوٹیشن کی منفرد خصوصیات کا فائدہ اٹھانا چاہتا ہے، یعنی اختصار، صفر علم، اور درستگی، ایک zkEVM بہترین انتخاب نہیں ہوسکتا ہے۔ ڈویلپر ٹولز کے پورے سیٹ کو ترتیب دے کر، میں ایک گائیڈ فراہم کرنے کی امید کرتا ہوں جو آپ کی درخواست کے لیے صحیح zk اسٹیک کے ارد گرد فیصلہ سازی کے عمل میں مدد کرتا ہے۔

پچھلے ایک یا دو سالوں میں، zk ٹولز میں بہت زیادہ ترقی ہوئی ہے۔ وہ ایک ایسے مقام پر پہنچ رہے ہیں جہاں عام سافٹ ویئر ڈویلپرز خوفناک بنیادی ریاضی اور انجینئرنگ کی گہری سمجھ کے بغیر zk کی طاقتور خصوصیات کا فائدہ اٹھا سکتے ہیں۔ دوسری طرف، پاور استعمال کرنے والوں کے لیے ٹولز کا پھیلاؤ ہوا ہے جو zk ماہرین کو zk اسٹیک پر انتہائی عمدہ کنٹرول فراہم کرتا ہے۔

تجریدی پیچیدگی کی طاقت

جدید سافٹ ویئر تجرید کی ان گنت تہوں پر بنایا گیا ہے تاکہ ماہرین کی پیداواری صلاحیت کو زیادہ سے زیادہ بنایا جا سکے۔ انجینئرنگ میں تجرید کے بہت سے فوائد ہیں جو کسی حد تک بدیہی ہیں - ایک ویب ڈویلپر کو یہ سمجھنے کی ضرورت نہیں ہے کہ آپریٹنگ سسٹم گہرائی میں کیسے کام کرتے ہیں۔ 

اچھی، دوبارہ قابل استعمال تجریدی تہوں کی تعمیر کی کلید ایک پرت کی پیچیدگی کو سمیٹنا ہے اور پھر استعمال کرنے کے لیے اسٹیک میں اونچی تہوں کے لیے سادہ، لیکن اظہار خیال کرنے والے انٹرفیس فراہم کرنا ہے۔ صحیح طریقے سے ہو گیا، یہ مہارت اور علم کے مختلف شعبوں کے حامل ڈویلپرز کو اسٹیک میں مفید ٹولز بنانے کے قابل بناتا ہے۔

کوئی تعجب کی بات نہیں، یہی اصول zk سسٹمز پر لاگو ہوتے ہیں، اور یہ تجریدی پرتیں اتنی پختہ ہوتی جا رہی ہیں کہ ایک zk نوآموز ان کا استعمال شروع کر سکتا ہے اور آج ایپلی کیشنز بنانا شروع کر سکتا ہے۔

زیڈ کے ٹیک اسٹیک
ہر پرت پر کچھ مثالی ٹولز/ٹیکنالوجی کے ساتھ zk اسٹیک

نچلی سطح کے زیڈ کے ڈیولپمنٹ

آرک ورکس

آرک ورکس Rust لائبریریوں کا ایک ماحولیاتی نظام ہے جو zkSNARK ایپلی کیشن کے ذیلی اجزاء کا موثر اور محفوظ نفاذ فراہم کرتا ہے۔ Arkworks دیگر موجودہ لائبریریوں کے ساتھ مشترکات کو دوبارہ نافذ کیے بغیر zk ایپلیکیشن کے لیے سافٹ ویئر اسٹیک کو اپنی مرضی کے مطابق بنانے کے لیے ڈویلپرز کے لیے ضروری انٹرفیس فراہم کرتا ہے۔

آرک ورکس سے پہلے، ایک نئی zk ایپلیکیشن بنانے کا واحد طریقہ یہ تھا کہ ہر چیز کو شروع سے بنایا جائے۔ کسٹم بلٹ، عمودی طور پر مربوط ٹولز پر Arkworks-rs کے اہم فوائد لچک کی سطح، ڈپلیکیٹڈ انجینئرنگ میں کمی، اور آڈیٹنگ کی کوششوں میں کمی ہے۔ اجزاء کے درمیان آرک ورکس کی سمجھدار انٹرفیس لائنیں اپ گریڈیبلٹی کی رفتار کی اجازت دیتی ہیں جو ٹیموں کو شروع سے ہر چیز کو دوبارہ بنانے پر مجبور کیے بغیر zk ٹیکنالوجیز میں جدت کی تیز رفتار کے درمیان اسٹیک کو متعلقہ رکھ سکتی ہے۔

یہ کون ہے؟

آرک ورکس ان منصوبوں کے لیے ہے جنہیں پورے zk سافٹ ویئر اسٹیک پر ٹھیک کنٹرول کی ضرورت ہے، لیکن وہ شروع سے ہی تمام بے کار ٹکڑوں کو بنانا نہیں چاہتے ہیں۔ اگر آپ سرکٹ DSL کے کسٹم ورژن پر غور کر رہے ہیں کیونکہ، مثال کے طور پر، آپ ایک نئے پروف سسٹم کا پروٹو ٹائپ کر رہے ہیں لیکن کمٹمنٹ سکیم یا متعلقہ بیضوی وکر کے بارے میں یقین نہیں رکھتے ہیں، تو آرک ورکس آپ کو مشترکہ انٹرفیس کے ساتھ کئی آپشنز کے درمیان تیزی سے تبادلہ کرنے کی اجازت دے گا۔ شروع سے شروع کرنے کے بجائے.

پیشہ

  • ماڈیولرٹی کے ذریعے لچک
  • کوڈ کی کم نقل
    • کم انجینئرنگ لاگت
    • کم آڈٹ/بگ سطح کا علاقہ
  • بڑے ری فیکٹرنگ کے بغیر کسی بھی جزو کو اپ گریڈ کریں۔
  • تیزی سے تیار ہوتے zk ماحول میں نئے پرائمیٹوز کے ساتھ تجربہ کرنا آسان ہے۔

خامیاں

  • مکمل سافٹ ویئر اسٹیک کی گہری سمجھ کی ضرورت ہے۔
    • اگر مناسب طریقے سے نہ سمجھا جائے تو بہت زیادہ کنٹرول پاؤں کی بندوقوں کا باعث بن سکتا ہے۔
  • دانے دار کنٹرول کے لیے اسٹیک کی تمام سطحوں پر مہارت کی ضرورت ہوتی ہے۔
    • آرک ورکس کچھ سمجھدار ڈیفالٹس فراہم کرتا ہے۔

zk ڈومین مخصوص زبانیں (DSL)

کسی کمپیوٹیشن کے بارے میں ثبوت بنانے کے لیے، پہلے اس کمپیوٹیشن کو اس شکل میں ظاہر کیا جانا چاہیے جسے zkSNARK سسٹم سمجھ سکے۔ کئی ڈومین مخصوص زبانوں نے پروگرامنگ لینگوئجز بنائی ہیں جو ایپلیکیشن ڈویلپرز کو اپنی کمپیوٹیشن کو اس طرح بیان کرنے کی اجازت دیتی ہیں۔ یہ شامل ہیں Aztec Noir, Starknet کی قاہرہسرکومزوکریٹس، اور ایلیو کا لیو دوسروں کے درمیان. بنیادی ثبوت کا نظام اور ریاضی کی تفصیلات عام طور پر ایپلیکیشن ڈویلپر کے سامنے نہیں آتیں۔

ڈویلپر کا تجربہ

zkApp ڈویلپرز کو ڈومین کے ساتھ مخصوص زبانوں میں اپنے پروگرام لکھنے میں ماہر ہونا چاہیے۔ ان میں سے کچھ زبانیں بہت واقف پروگرامنگ زبانوں کی طرح نظر آتی ہیں، جبکہ دیگر کو سیکھنا کافی مشکل ہو سکتا ہے۔ آئیے ان میں سے چند کو توڑتے ہیں:

قاہرہ - Starknet پر ایپس بنانے کے لیے Starkware DSL ضروری ہے۔ قاہرہ کی مخصوص اسمبلی زبان میں مرتب کرتا ہے جس کی تشریح قاہرہ zkVM سے کی جا سکتی ہے۔

زوکریٹس ZoKrates عام SNARK ضروریات کے لیے ایک ٹول کٹ ہے جس میں سرکٹس لکھنے کے لیے ایک اعلیٰ سطحی زبان بھی شامل ہے۔ ZoKrates میں منحنی خطوط، ثابت کرنے والی اسکیم، اور بیک اینڈ کے ارد گرد کچھ لچک بھی ہے، جس سے devs کو سادہ CLI دلیل کے ذریعے ہاٹ سویپ کرنے کی اجازت ملتی ہے۔

سرکوم - سرکام سرکٹس کی تعمیر کے لیے ایک مقصد سے تیار کردہ زبان ہے۔ فی الحال، یہ پیداوار میں سرکٹس کے لیے ڈی فیکٹو زبان ہے۔ زبان خاص طور پر ایرگونومک نہیں ہے۔ زبان خود آپ کو اس حقیقت سے شدت سے آگاہ کرتی ہے کہ آپ سرکٹ لکھ رہے ہیں۔

لیو - لیو کو ایلیو بلاکچین کی زبان کے طور پر تیار کیا گیا تھا۔ لیو میں کچھ زنگ نما نحو ہے اور یہ خاص طور پر بلاک چین کے اندر ریاستی منتقلی کے لیے بنایا گیا ہے۔

Noir - زنگ سے متاثر نحو۔ خود زبان کے بجائے IR کے ارد گرد تعمیر کیا گیا ہے، جس کا مطلب ہے کہ اس کا صوابدیدی فرنٹ اینڈ ہو سکتا ہے۔ 

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
Aztec Noir کمپائلیشن اسٹیک، خاص طور پر، ماڈیولر فن تعمیر کا حامل ہے۔

یہ کون ہے؟

کوئی بھی ایپلیکیشن ڈویلپر جو اپنی ایپلی کیشن میں zk کی منفرد خصوصیات سے فائدہ اٹھانا چاہتا ہے۔ ان میں سے کچھ زبانوں کو ZCash اور Starknet جیسی زنجیروں کے ذریعے اربوں ڈالر منتقل کرنے کے ساتھ جنگ ​​کا تجربہ کیا گیا ہے۔ اگرچہ ہم جن پراجیکٹس پر بات کریں گے ان میں سے کچھ پروڈکشن کے استعمال کے لیے بالکل تیار نہیں ہیں، ان میں سے کسی ایک زبان میں اپنے سرکٹس کو لکھنا فی الحال بہترین حکمت عملی ہے، جب تک کہ آپ کو بہتر کنٹرولز کی ضرورت نہ ہو جو Arkworks جیسی ٹول کٹ فراہم کرتی ہے۔

پیشہ

  • صارفین کو zk کی بنیادی تفصیلات کو سمجھنے کی ضرورت نہیں ہے۔
  • آج دستیاب ہے کچھ پیداواری تجربے کے ساتھ
  • زنجیر پر قابل تصدیق
  • ماحولیاتی نظام اجناسٹک

خامیاں

  • صارفین کو ایک نیا DSL سیکھنے کی ضرورت ہے۔
  • ان میں سے ہر ایک زبان کے ارد گرد سائل ٹولنگ اور سپورٹ
  • بنیادی ثابت کرنے والے اسٹیک پر کوئی کنٹرول نہیں ہے (ابھی کے لئے)

ایک zkEVM کا بنیادی مقصد Ethereum ریاست کی منتقلی اور درستگی کے ایک مختصر صفر علمی ثبوت کا استعمال کرتے ہوئے اس کی صداقت کو ثابت کرنا ہے۔ جیسا کہ Vitalik کی پوسٹ میں ذکر کیا گیا ہے، ٹھیک ٹھیک اختلافات اور متعلقہ تجارتی تعلقات کے ساتھ ایسا کرنے کے کئی طریقے ہیں۔ 

ان سب کے درمیان بنیادی تکنیکی فرق بالکل وہی ہے جہاں لینگویج اسٹیک میں کمپیوٹیشن کو ایک فارم (ریتھ میٹائزیشن) میں تبدیل کیا جاتا ہے جسے ثابت کرنے والے نظام میں استعمال کیا جا سکتا ہے۔ کچھ zkEVMs میں، یہ اعلیٰ سطحی زبانوں (Solidity, Vyper, Yul) میں ہوتا ہے، جب کہ دیگر طریقے ای وی ایم کو اوپکوڈ سطح تک ثابت کرنے کی کوشش کرتے ہیں۔ ان نقطہ نظروں کے درمیان تجارت وائٹلک کی پوسٹ میں گہرائی سے احاطہ کیا گیا تھا، لیکن میں اس کا خلاصہ ایک جملے میں کروں گا: اسٹیک میں جتنی کم تبدیلی/ریتھ میٹائزیشن ہوگی، کارکردگی کا جرمانہ اتنا ہی بڑا ہوگا۔

زیڈ کے میں ثابت کرنے کے لیے ای وی ایم اوپکوڈز کیوں مہنگے ہیں؟

ورچوئل مشین کے لیے ثبوت بنانے میں سب سے بڑا چیلنج یہ ہے کہ سرکٹ کا سائز متناسب طور پر بڑھتا ہے ہر عمل میں آنے والی ہدایات کے لیے تمام ممکنہ ہدایات کے سائز کے۔ ایسا اس لیے ہوتا ہے کیونکہ سرکٹ نہیں جانتا کہ ہر پروگرام میں کن ہدایات پر عمل کیا جائے گا، اس لیے اسے ان سب کو سپورٹ کرنے کی ضرورت ہے۔

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
یونیورسل سرکٹس میں، ہر عملدرآمد شدہ ہدایات کی لاگت تمام معاون ہدایات کے مجموعے کے متناسب ہوتی ہے۔

عملی طور پر اس کا مطلب یہ ہے کہ آپ سب سے مہنگی ممکنہ ہدایات کے لیے (کارکردگی کی قیمت میں) ادائیگی کرتے ہیں، یہاں تک کہ جب آپ صرف آسان ترین ہدایات پر عمل کر رہے ہوں۔ اس سے عامیت اور کارکردگی کے درمیان براہ راست تجارت ہوتی ہے- جیسا کہ آپ عامیت کے لیے مزید ہدایات شامل کرتے ہیں، آپ اس کے لیے ادائیگی کرتے ہیں ہر ہدایت آپ ثابت کرتے ہیں!

یہ یونیورسل سرکٹس کے ساتھ ایک بنیادی مسئلہ ہے، لیکن اس کے ساتھ ٹیکنالوجیز میں نئی ​​پیش رفت IVC (بڑھتی ہوئی قابل تصدیق کمپیوٹ) کی طرح، اس حد کو کمپیوٹیشن کو چھوٹے حصوں میں توڑ کر بہتر کیا جا سکتا ہے جن میں سے ہر ایک کے پاس خصوصی، چھوٹے سب سرکٹس ہیں۔

آج کے zkEVM نفاذ اس مسئلے کے اثرات کو کم کرنے کے لیے مختلف حکمت عملیوں کا استعمال کرتے ہیں… مثال کے طور پر، zkSync زیادہ مہنگے آپریشنز (زیادہ تر کرپٹوگرافک پری کمپائلز جیسے ہیشز اور ای سی ڈی ایس اے) کو الگ الگ سرکٹس میں ثابت کرنے والے سرکٹ کو الگ الگ سرکٹس میں اکٹھا کر دیتا ہے۔ snark recursion کے ذریعے ختم. zkSync نے یہ نقطہ نظر اس وقت اختیار کیا جب انہیں معلوم ہوا کہ ان کے اخراجات کی اکثریت چند پیچیدہ ہدایات سے آرہی ہے۔

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
لین دین کے اخراجات چند مہنگے آپریشنز پر حاوی ہیں۔

بنیادی طور پر، زیادہ ای وی ایم کے مساوی انسٹرکشن سیٹ کو ثابت کرنا زیادہ مہنگا ہونے کی وجہ یہ ہے کہ ای وی ایم کو زیڈ کے کمپیوٹیشن کے لیے ڈیزائن نہیں کیا گیا تھا۔ ای وی ایم کو پہلے اسٹیک میں چھوڑنے سے zkEVMs کو انسٹرکشن سیٹس پر چلنے کی اجازت ملتی ہے جو zk کے لیے زیادہ موزوں ہیں، اور اس طرح ثابت کرنا سستا ہے۔

یہ کون ہے؟

zkEVM کے لیے مثالی کسٹمرز سمارٹ کنٹریکٹ ایپلی کیشنز ہیں جنہیں L1 Ethereum پر دستیاب چیزوں کے مقابلے میں سستی لین دین کے آرڈرز کی ضرورت ہے۔ ضروری نہیں کہ ان ڈویلپرز کے پاس شروع سے zk ایپلیکیشنز لکھنے کی مہارت یا بینڈوتھ ہو۔ لہذا، وہ اپنی درخواستیں اعلیٰ سطح کی زبانوں میں لکھنے کو ترجیح دیتے ہیں جن سے وہ واقف ہیں، جیسے سولیڈیٹی۔ 

اتنی زیادہ ٹیمیں اسے کیوں بنا رہی ہیں؟

پیمانہ Ethereum فی الحال zk ٹیکنالوجی کی سب سے زیادہ مانگی جانے والی ایپلی کیشن ہے۔

ایک zkEVM ایک Ethereum اسکیلنگ حل ہے جو رگڑ کے بغیر بھیڑ کے مسئلے کو کم کرتا ہے جو L1 dApp ڈویلپرز کو محدود کرتا ہے۔

ڈویلپر کا تجربہ

ایک zkEVM کا مقصد ایک ایسے ڈویلپر کے تجربے کی حمایت کرنا ہے جو موجودہ Ethereum کی ترقی کے جتنا ممکن ہو قریب ہو۔ مکمل سولیڈیٹی سپورٹ کا مطلب ہے کہ ٹیموں کو متعدد کوڈ بیس بنانے اور برقرار رکھنے کی ضرورت نہیں ہے۔ یہ مکمل طور پر کرنا کسی حد تک غیر عملی ہے کیونکہ zkEVMs کو مناسب وقت میں مناسب سائز کے ثبوت پیدا کرنے کے قابل ہونے کے لیے کچھ مطابقت کی تجارت کرنے کی ضرورت ہے۔

فوری کیس اسٹڈی: zkSync بمقابلہ اسکرول

zkSync اور Scroll کے درمیان بنیادی فرق یہ ہے کہ کہاں/کب اسٹیک میں وہ ریاضی کی کارکردگی کا مظاہرہ کرتے ہیں - یعنی، وہ عام EVM تعمیرات سے SNARK کے موافق نمائندگی میں تبدیل ہوتے ہیں۔ zkSync کے لیے، ایسا اس وقت ہوتا ہے جب وہ YUL بائیک کوڈ کو اپنی مرضی کے مطابق zk انسٹرکشن سیٹ میں تبدیل کرتے ہیں۔ سکرول کے لیے، یہ آخر میں ہوتا ہے، جب اصل ایگزیکیوشن ٹریس اصل ای وی ایم آپکوڈز کے ساتھ تیار ہوتا ہے۔

لہذا، zkSync کے لیے، جب تک zk بائیک کوڈ تیار نہیں ہو جاتا، سب کچھ EVM کے ساتھ بات چیت کرنے جیسا ہے۔ اسکرول کے لیے، سب کچھ ایک جیسا ہے جب تک کہ اصل بائیک کوڈ پر عمل نہ کیا جائے۔ یہ ایک لطیف فرق ہے، جو سپورٹ کے لیے کارکردگی کو ختم کرتا ہے۔ مثال کے طور پر، zkSync EVM بائیک کوڈ ٹولز کو سپورٹ نہیں کرے گا جیسے ڈیبگر آؤٹ آف دی باکس، کیونکہ یہ بالکل مختلف بائی کوڈ ہے۔ جبکہ اسکرول کو انسٹرکشن سیٹ سے اچھی کارکردگی حاصل کرنے میں زیادہ دشواری ہوگی، یہ zk کے لیے ڈیزائن نہیں کیا گیا تھا۔ دونوں حکمت عملیوں کے فائدے اور نقصانات ہیں اور بالآخر بہت سے خارجی عوامل ہیں جو ان کی نسبتی کامیابی کو متاثر کریں گے۔

zkLLVM سرکٹ کمپائلر

💡 اس کے نام کے باوجود، LLVM VM (ورچوئل مشین) نہیں ہے۔ LLVM کمپائلر ٹولز کے ایک سیٹ کا نام ہے جو ایک انٹرمیڈیٹ نمائندہ (IR) کے ذریعہ لنگر انداز ہوتا ہے جو کہ لینگویج agnostic ہے۔

= صفر؛ فاؤنڈیشن (نام کے بارے میں، یہ a ایس کیو ایل انجیکشن مذاق اگر آپ سوچ رہے ہیں) ایک کمپائلر بنا رہا ہے جو کسی بھی LLVM فرنٹ اینڈ لینگویج کو ایک انٹرمیڈیٹ نمائندگی میں تبدیل کر سکتا ہے جسے SNARK میں ثابت کیا جا سکتا ہے۔ zkLLVM کو موجودہ LLVM انفراسٹرکچر کی توسیع کے طور پر تعمیر کیا گیا ہے، ایک صنعتی معیاری ٹول چین جو بہت سی اعلیٰ سطحی زبانوں جیسے Rust، C، C++ وغیرہ کو سپورٹ کرتا ہے۔

یہ کیسے کام کرتا ہے

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
zkLLVM فن تعمیر کا کچا خاکہ

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

یہ 2 اجزاء وہ سب ہیں جو ثبوت پیدا کرنے کے لیے ضروری ہیں۔ ایک صارف نظریاتی طور پر خود ایک ثبوت تیار کر سکتا ہے، لیکن چونکہ یہ کسی حد تک مخصوص کمپیوٹیشنل کام ہے، اس لیے وہ کسی اور کو، جس کے پاس ہارڈ ویئر ہے، اس کے لیے ادائیگی کرنا چاہیں گے۔ اس ہم منصبی دریافت کے طریقہ کار کے لیے، =nil; فاؤنڈیشن نے ایک 'پروف مارکیٹ' بھی قائم کی ہے جہاں پروررز ان صارفین کے لیے حساب کو ثابت کرنے کے لیے لڑتے ہیں جو انھیں ایسا کرنے کے لیے ادائیگی کریں گے۔ یہ مفت مارکیٹ متحرک ثابت کرنے والے سب سے قیمتی کاموں کو بہتر بنانے کا باعث بنے گی۔

تجارت آف

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

دوسرا ٹریڈ آف کلاسک خلاصہ بمقابلہ کنٹرول ہے۔ وہ صارفین جو استعمال میں آسان اس انٹرفیس کو لینے کے لیے تیار ہیں وہ بنیادی خفیہ نگاری کے پرائمیٹوز پر کنٹرول ترک کر رہے ہیں۔ بہت سے صارفین کے لیے، یہ ایک بہت ہی درست تجارت ہے، کیونکہ یہ اکثر بہتر ہوتا ہے کہ خفیہ نگاری کے ماہرین کو آپ کے لیے یہ فیصلے کرنے دیں۔

پیشہ

  • صارف اعلیٰ سطح کی مانوس زبانوں میں کوڈ لکھ سکتے ہیں۔
  • تمام zk انٹرنل صارفین سے دور ہیں۔
  • کسی مخصوص 'VM' سرکٹ پر انحصار نہیں کرتا جو اضافی اوور ہیڈ کا اضافہ کرتا ہے۔

خامیاں

  • ہر پروگرام کا ایک مختلف سرکٹ ہوتا ہے۔ اصلاح کرنا مشکل ہے۔ (ثبوت مارکیٹ جزوی طور پر اس کو حل کرتی ہے)
  • اندرونی zk لائبریریوں کو تبدیل/اپ گریڈ کرنا غیر معمولی ہے (فورکنگ کی ضرورت ہے)

ایک zkVM تمام zk ورچوئل مشینوں کے سپر سیٹ کو بیان کرتا ہے، جب کہ ایک zkEVM ایک مخصوص قسم کی zkVM ہے، جو آج اس کے پھیلاؤ کی وجہ سے ایک الگ موضوع کے طور پر بحث کے قابل تھا۔ کچھ اور پراجیکٹس ہیں جو کہ مزید عمومی zkVMs بنانے پر کام کر رہے ہیں جو کہ ISAs پر مبنی ہیں اس کے علاوہ bespoke crypto VMs۔

EVM کو ثابت کرنے کے بجائے، سسٹم ایک مختلف انسٹرکشن سیٹ آرکیٹیکچر (ISA) کو ثابت کر سکتا ہے، جیسے کہ RISC-V یا WASM نئے VM میں۔ دو منصوبے جو ان عمومی zkVMs پر کام کر رہے ہیں وہ ہیں RISC زیرو اور zkWASM۔ آئیے یہاں RISC زیرو میں تھوڑا سا غوطہ لگاتے ہیں تاکہ یہ ظاہر کیا جا سکے کہ یہ حکمت عملی کیسے کام کرتی ہے اور اس کے کچھ فوائد/نقصانات۔ 

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
رسک زیرو پروف جنریشن ہائی لیول آرکیٹیکچر

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

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

یہ مشابہت zk ثبوت پیدا کرنے کی کارکردگی کے لیے بہت اچھی طرح سے رکھتی ہے۔ جیسا کہ پہلے زیر بحث آیا، جب zk میں ایک ایگزیکیوشن ٹریس ثابت کرتے ہیں، تو آپ ٹریس میں موجود ہر آئٹم کے لیے تمام ہدایات کی لاگت کی رقم ادا کرتے ہیں، اس لیے آسان اور کم کل ہدایات بہتر ہیں۔

یہ کیسے کام کرتا ہے

ایک ڈویلپر کے نقطہ نظر سے، RISC زیرو کا استعمال zk ثبوتوں کو ہینڈل کرنے کے لیے ایسا ہی ہے جیسا کہ بیک اینڈ سرور آرکیٹیکچر کو ہینڈل کرنے کے لیے AWS Lambda فنکشنز کا استعمال کرنا ہے۔ ڈیولپرز صرف کوڈ لکھ کر RISC زیرو یا AWS Lambda کے ساتھ تعامل کرتے ہیں اور سروس تمام بیک اینڈ پیچیدگی کو سنبھالتی ہے۔

RISC زیرو کے لیے، ڈویلپرز Rust یا C++ لکھتے ہیں (بالآخر کوئی بھی چیز جو RISC-V کو نشانہ بناتی ہے)۔ اس کے بعد نظام تالیف کے دوران تیار کردہ ELF فائل لیتا ہے اور اسے VM سرکٹ کے ان پٹ کوڈ کے طور پر استعمال کرتا ہے۔ ڈویلپرز صرف ثابت کو کال کرتے ہیں جو ایک رسید واپس کرتی ہے (جس میں ایگزیکیوشن ٹریس کا zk ثبوت ہوتا ہے) آبجیکٹ جسے کوئی بھی کہیں سے بھی 'verify' کال کرسکتا ہے۔ ڈویلپر کے نقطہ نظر سے، یہ سمجھنے کی ضرورت نہیں ہے کہ zk کیسے کام کرتا ہے، بنیادی نظام اس تمام پیچیدگی کو سنبھالتا ہے۔

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
Risc زیرو انٹرن؟

پیشہ

  • استعمال میں آسان. zk ایپلی کیشنز بنانے کے لیے کسی بھی پروگرامر کے لیے دروازہ کھولتا ہے۔
  • سنگل سرکٹ جس کے لیے پرورز مہارت حاصل کر سکتے ہیں۔
    • حملے کے لیے سطح کا رقبہ بھی کم، اور آڈٹ کے لیے کم
  • کسی بھی بلاکچین کے ساتھ ہم آہنگ، آپ صرف ثبوت پوسٹ کرتے ہیں۔

خامیاں

  • اس طرح کے عام انٹرفیس کو سپورٹ کرنے کے لیے بہت زیادہ اوور ہیڈ (پروف سائز اور جنریشن کی رفتار میں) لیتا ہے
  • موجودہ لائبریریوں کے لیے وسیع حمایت حاصل کرنے کے لیے پروف جنریشن تکنیک میں نمایاں بہتری کی ضرورت ہے۔

پہلے سے تعمیر شدہ دوبارہ قابل استعمال سرکٹس

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

مثال کے طور پر، ٹورنیڈو کیش کے سرکٹس کو a کے لیے دوبارہ استعمال کیا جا سکتا ہے۔ نجی ایئر ڈراپ ایپلی کیشن یا ایک نجی ووٹنگ کی درخواست. Manta اور Semaphore اس طرح کے عام سرکٹ گیجٹس کی ایک پوری ٹول کٹ بنا رہے ہیں جو بنیادی zk moon math کی بہت کم یا کوئی سمجھ کے بغیر سولیڈیٹی معاہدوں میں استعمال کی جا سکتی ہے۔

گائیڈ - اپنے اسٹیک کا انتخاب

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

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
zkGalaxy کے لیے ایپلیکیشن ڈویلپر کی گائیڈ

zk ایپ دیو چیٹ شیٹ

1. کم درجے کی اسنارک لائبریریاں

کب استعمال کریں: 

  • آپ کو پورے پروور اسٹیک پر ٹھیک کنٹرول کی ضرورت ہے۔
  • عام اجزاء کو دوبارہ بنانے سے بچنا چاہتے ہیں۔
  • آپ مختلف امتزاج کے ساتھ تجربہ کرنا چاہتے ہیں۔ اسکیموں، منحنی خطوط اور دیگر نچلی سطح کو ثابت کرنے کا پرائمری

کب استعمال نہ کریں:

  • آپ اعلیٰ سطحی ثابت کرنے والے انٹرفیس کی تلاش میں ایک نوآموز ہیں۔

اختیارات: 


3. zk کمپائلرز

کب استعمال کریں: 

  • یونیورسل سرکٹ کا اوور ہیڈ لینے کو تیار نہیں۔
  • واقف زبانوں میں سرکٹس لکھنا چاہتے ہیں۔ 
  • انتہائی حسب ضرورت سرکٹ کی ضرورت ہے۔

کب استعمال نہ کریں: 

  • بنیادی کرپٹوگرافک پرائمیٹوز کو کنٹرول کرنا چاہتے ہیں۔
  • ایک سرکٹ کی ضرورت ہے جو پہلے ہی بہت زیادہ بہتر ہو چکا ہے۔

اختیارات:


5. zkVM

کب استعمال کریں: 

  • اعلیٰ سطحی زبان میں کوڈ لکھنا چاہتے ہیں۔ 
  • اس پھانسی کی درستگی کو ثابت کرنے کی ضرورت ہے۔ 
  • ایک تصدیق کنندہ سے اس عمل کے کچھ آدانوں کو چھپانے کی ضرورت ہے۔
  • zk میں بہت کم یا کوئی مہارت نہیں ہے۔

کب استعمال نہ کریں:

  • انتہائی کم تاخیر والے ماحول میں (یہ اب بھی سست ہے)
  • آپ کے پاس ایک بہت بڑا پروگرام ہے (ابھی کے لیے)

اختیارات:

2. zk DSLs

کب استعمال کریں: 

  • آپ کو ایک نئی زبان لینے میں آسانی ہے۔
  • کچھ جنگی آزمائشی زبانیں استعمال کرنا چاہتے ہیں۔
  • کم سے کم سرکٹ سائز کی ضرورت ہے، تجریدوں کو چھوڑنے کے لیے تیار ہے۔

کب استعمال نہ کریں: 

  • ثابت کرنے والے بیک اینڈ پر ٹھیک کنٹرول کی ضرورت ہے (ابھی کے لیے، کچھ DSLs کے لیے بیک اینڈ کو تبدیل کر سکتا ہے)

اختیارات:


4. zkEVM

کب استعمال کریں: 

  • آپ کے پاس ایک ڈی ایپ ہے جو پہلے سے ہی EVM پر کام کرتی ہے۔
  • آپ کو اپنے صارفین کے لیے سستی لین دین کی ضرورت ہے۔ 
  • آپ ایک نئی سلسلہ میں تعیناتی کی کوشش کو کم کرنا چاہتے ہیں۔
  • صرف zk (کمپریشن) کی succinctness پراپرٹی کا خیال رکھیں

کب استعمال نہ کریں: 

  • آپ کو کامل ای وی ایم مساوات کی ضرورت ہے۔
  • آپ کو zk کی پرائیویسی پراپرٹی کی ضرورت ہے۔ 
  • آپ کے پاس غیر بلاکچین استعمال کا کیس ہے۔ 

اختیارات: 


6. پہلے سے تعمیر شدہ دوبارہ قابل استعمال سرکٹس

کب استعمال کریں: 

  • آپ کے پاس ایک سمارٹ کنٹریکٹ ایپلی کیشن ہے جو عام zk بلڈنگ بلاکس پر انحصار کرتی ہے، جیسے مرکل کی شمولیت
  • آپ کے پاس بنیادی zk چیزوں میں بہت کم یا کوئی مہارت نہیں ہے۔

کب استعمال نہ کریں۔:

  • آپ کی انتہائی خصوصی ضروریات ہیں۔
  • آپ کے استعمال کا کیس پہلے سے تعمیر شدہ سرکٹس کے ذریعہ تعاون یافتہ نہیں ہے۔ 

اختیارات: 

نتیجہ

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

مجھے امید ہے کہ میں نے آپ کو، متجسس سافٹ ویئر ڈویلپر کو قائل کر لیا ہے کہ آپ آج ہی اپنی ایپلی کیشنز میں zk کا استعمال شروع کر سکتے ہیں۔ ہیکنگ مبارک ہو 🙂

zkGalaxy PlatoBlockchain ڈیٹا انٹیلی جنس کے لیے ایک ڈویلپر کی گائیڈ۔ عمودی تلاش۔ عی
آپ کس چیز کا انتظار کر رہے ہیں، کچھ zk ایپس بنائیں

افشا: Blockchain Capital اوپر مذکور کئی پروٹوکولز میں سرمایہ کار ہے۔

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

ٹائم اسٹیمپ:

سے زیادہ بلاکچین کیپٹل