جانتے ہوئے کہ Aztec L2 پر پرائیویٹ اور پبلک ایکزیکشن کو کیسے ملا رہا ہے

سیکھنے کا موادicon

ازٹیک (AZTEC) کے ساتھ سیکھیں: ایتھریم L2 پر پرائیویسی فرسٹ اسمارٹ کنٹریکٹس

تعارف: ازٹیک ایک پرائیویسی فرسٹ لیئر 2 ہے جو ڈویلپرز کو اسمارٹ کنٹریکٹس بنانے کی اجازت دیتی ہے جن میں پرائیویٹ اور پبلک اسٹیٹ اور پرائیویٹ اور پبلک ایکزیکشن ہوتا ہے، جس سے "چنڈی پرائیویسی" ایپس ممکن ہوتی ہیں جو عام DeFi کی طرح محسوس ہوتی ہیں—بنا کسی چیز کو آن چین پر ظاہر کیے۔

ازٹیک کیا ہے؟

ازٹیک ایک لیئر 2 نیٹ ورک ہے جو ڈیزائن کے لحاظ سے خفیہ رکھنے پر توجہ دیتا ہے، جبکہ ضرورت پڑنے پر عوامی ترکیب کو بھی سپورٹ کرتا ہے۔
اصل خیال آسان ہے:
  • حساس صارف ایکشنز (بیلنس، شناخت، ارادہ، حکمت عملی) کے لیے نجی انجمن اور نجی حالت
  • وہ چیزیں جن کے لیے عالمی طور پر قابل دیکھنے کی ضرورت ہو (عوامی مایہ، عوامی معاہدہ منطق، مشترکہ حالت) کے لیے عوامی انجام اور عوامی حالت۔
اس لیے کہ “تمام عوامی” یا “تمام نجی” کا انتخاب کرنے کے بجائے، ازٹیک ہائبرڈ ایپس کو سپورٹ کرتا ہے۔

ازٹیک پر ایک لین دین کیسے کام کرتی ہے

ایزٹیک اجرائیہ کو دو الگ الگ ماحولوں میں تقسیم کرتا ہے:
  1. پرائیویٹ ایکزیکشن ماحول (PXE) — صارف کی طرف سے چلتا ہے

پرائیویٹ فنکشنز PXE (جسے "پکسی" کہا جاتا ہے) کے اندر کلائنٹ سائیڈ پر ایکزیکیٹ ہوتی ہیں تاکہ پرائیویسی کو زیادہ سے زیادہ بڑھایا جا سکے۔
پی ایکس ای:
  • انفرادی فنکشنز کو مقامی طور پر انجام دیتا ہے
  • کلیدیں اور نوٹس رکھتا ہے
  • پرائیویٹ آپریشنز کے لیے زیرو نالج پروفز جنریٹ کرتا ہے
  • یہ aztec.js (TypeScript) میں شامل ہے، جسے Node یا براؤزر میں چلایا جا سکتا ہے
  1. عوامی VM (AVM) — ازٹیک نوڈس پر چلتا ہے

عوامی فنکشنز Aztec ورچوئل میشین (AVM) پر نیٹ ورک پر ایکزیکیوٹ ہوتے ہیں، جو EVM کے ساتھ تصوری طور پر مشابہ ہیں (اس لیے “گیس کی کارکردگی کا انٹیوشن” سالڈیٹی کی طرح زیادہ لاگو ہوتا ہے)۔

طریقہ کار کا اجراء (اہم)

ایک لین دین نجی → عوامی کی طرف بہتی ہے:
  • خصوصی فنکشنز عوامی فنکشنز کو بعد میں چلانے کے لیے درج کر سکتے ہیں۔
  • عوامی فنکشنز نجی فنکشنز کو کال نہیں کر سکتے۔
یہ الگ کرنا عمدہ طور پر کیا گیا ہے: عوامی نیٹ ورک کو انفرادی اجراء میں "داخل نہیں ہونا چاہیے"۔

خصوصی بمقابلہ عوامی حالت: نوٹس، نلیفائرز، اور درخت

ایزٹیک مختلف خصوصیت کے مطابق مختلف اسٹیٹ ماڈلز استعمال کرتا ہے:

انفرادی حالت = UTXO اسٹائل کے “نوٹس”

خصوصی حالت نوٹس کے طور پر محفوظ ہوتی ہے (UTXO جیسے ڈیٹا کے ٹکڑے)۔ چیزوں کو خفیہ رکھنے کے لیے:
  • نوٹس کو ایک صرف اضافی UTXO درخت میں شامل کیا جاتا ہے
  • جب کوئی نوٹ "خیر کیا جاتا ہے/حذف کیا جاتا ہے" تو ایک نلیفائر بنایا جاتا ہے
  • نالیفائرز الگ نالیفائر درخت میں محفوظ ہوتے ہیں
یہ نیٹ ورک کو نوٹس کے نجی مواد کو ظاہر کیے بغیر "صرف ایک بار خرچ کیا جائے" کا اطلاق کرنے کی اجازت دیتا ہے۔

عوامی حالت = اکاؤنٹ جیسا عوامی اسٹوریج

عوامی حالت ایتھریم کی طرح زیادہ سلوک کرتی ہے:
  • ایک عوامی ڈیٹا درخت میں محفوظ ہے
  • براہ راست اپڈیٹ کیا گیا اور آن چین دکھائی دیتا ہے
ڈیولپر کا نتیجہ:
  • خصوصی ریاست کا کام = پابندیاں + نلیفائرز (ڈیٹا کو ظاہر کیے بغیر درستگی ثابت کریں)
  • عوامی حالت کا کام = ب без تغیرات (عام بلاک چین اسٹوریج کا رویہ)

اکاؤنٹ ایبسترکشن: ہر اکاؤنٹ ایک اسمارٹ کنٹریکٹ ہے

ازٹیک کے پروٹوکول لیول پر نیٹیو اکاؤنٹ ایبسترکشن ہے:
  • کوئی EOA نہیں ہیں (کوئی سادہ “کی پیئر اکاؤنٹس” نہیں)
  • ہر اکاؤنٹ ایک اسمارٹ کنٹریکٹ ہے
  • ڈیولپرز اپنے اپنے قواعد تعریف کر سکتے ہیں:
    • توثیق (دستخط، متعدد دستخط، پاس کیز، کسٹم منطق)
    • دستوراتِ اجازت (حدود، اجازتیں، جلسہ کلیدیں)
    • nonce / ری پلے حفاظت
    • فیس ادا کرنے کی حکمت عملی ( مختلف ٹوکنز میں فیس ادا کریں، سپانسر ماڈلز وغیرہ)

یہ DoS („_validation is expensive“ مسئلہ) کے خلاف کیسے مدد کرتا ہے

ازٹیک کا ماڈل پیچیدہ تصدیق کو کلائنٹ-سائیڈ پر منتقل کرتا ہے:
  • گاہک درستگی کا ZK ثبوت تصدیق اور جنریٹ کرتا ہے کہ “تصدیق کامیاب رہی”
  • سیکوئینسر ایک مسلسل سائز کا ثبوت تصدیق کرتا ہے
  • تو تصدی�� کی پیچیدگی نیٹ ورک کی تصدیق کے اخراجات کو بڑھا نہیں دیتی
یہ چین کو سست نہیں کرتے ہوئے "پاور صارف" اکاؤنٹ منطق فراہم کرتا ہے۔

ایزٹیک اکاؤنٹس میں کلیدیں (پرائیویسی فوکسڈ)

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

توثیق کنندگان: "بے حد منظوریوں" سے زیادہ محفوظ

ازٹیک خطرناک “انفائنٹی اپروول” پیٹرن کو توثیق کنندگان (AuthWit) کے ساتھ بدل دیتا ہے:
  • ہمیشہ کے لیے بے حد اجازت دینے کے بجائے،
  • صارفین مخصوص پیرامیٹرز کے ساتھ مخصوص ایکشنز کو اجازت دیتے ہیں
یہ مستقل منظوری کے خطرے کو کم کرنے کے لیے ڈیزائن کیا گیا ہے جبکہ اچھا صارف تجربہ (بیچنگ، آٹومیشن) فراہم کرتا ہے۔

نوار کے ساتھ ازٹیک پر تعمیر کریں

ازٹیک اسمارٹ کنٹریکٹس Noir میں لکھے جاتے ہیں، جو پروویبل پروگرامز/کنٹریکٹس لکھنے کے لیے ZK فوکسڈ زبان ہے۔ دستاویزات سے ایک اہم انتباہ: پرائیویٹ فنکشنز کو ایسے طریقے سے لکھا جا سکتا ہے جو ناکارہ طور پر بےOptimised ہو، کیونکہ ثبوت دینے کا پرفارمنس انٹیویشن عام اجراء سے مختلف ہوتا ہے—اس لیے "پرفارمنٹ کے ساتھ Noir لکھنا" سیکھنا اہم ہے۔