شبکه آزتک فعالیتهای خصوصی لایه دوم اتریوم را از طریق طراحی متمرکز بر حفظ حریم خصوصی خود و با استفاده از اثباتهای دانش صفر تضمین میکند. این امکان را برای کاربران فراهم میآورد تا تراکنشها و قراردادهای هوشمند روی زنجیره را بدون افشای عمومی اطلاعات خود انجام دهند. با ترکیب امنیت شبکه اصلی اتریوم و حفظ حریم خصوصی افزایشیافته، آزتک برنامههای غیرمتمرکز خصوصی را تسهیل میکند.
چالش حریم خصوصی در بلاکچینهای عمومی
وعده بنیادین فناوری بلاکچین، شفافیت و تغییرناپذیری است. هر تراکنش، هر تعامل با قرارداد هوشمند و هر انتقال دارایی در یک دفتر کل عمومی ثبت میشود که برای هر کسی که به اینترنت متصل است، قابل دسترسی است. اگرچه این شفافیت برای امنیت، حسابرسی و بینیازی به اعتماد (Trustlessness) در یک سیستم غیرمتمرکز حیاتی است، اما ذاتاً چالش بزرگی برای حریم خصوصی ایجاد میکند. در بلاکچینهای عمومی مانند اتریوم، هویت کاربران معمولاً مستعار (Pseudonymous) است و به جای نامهای واقعی، به آدرسهای کیف پول الفبایی-عددی متصل میشود. با این حال، این نام مستعار اغلب شکننده است. ابزارهای پیشرفته تجزیه و تحلیل دادهها میتوانند تراکنشها را به هم مرتبط کنند، الگوها را شناسایی کنند و حتی با اتصال فعالیتهای کیف پول به اطلاعات عمومی یا سرویسهای متمرکز، هویت افراد را فاش کنند.
پیامدهای این شفافیت فراگیر، چندوجهی و نگرانکننده است:
- نظارت مالی: هر حرکت مالی، از پرداختهای کوچک گرفته تا سرمایهگذاریهای بزرگ، به صورت عمومی قابل مشاهده است. این سطح از افشاگری میتواند توسط بازیگران مخرب، رقبا یا حتی سیستمهای نظارتی دولتی مورد سوءاستفاده قرار گیرد.
- از دست رفتن تعویضپذیری (Fungibility): اگر تاریخچه یک دارایی دیجیتال قابل ردیابی باشد، راه برای «سرمایههای آلوده» باز میشود. داراییهایی که در فعالیتهای غیرقانونی درگیر بودهاند (حتی به صورت ناخواسته)، ممکن است در لیست سیاه قرار گیرند یا ارزش کمتری پیدا کنند؛ این امر اصل تعویضپذیری (اینکه همه واحدهای یک ارز باید قابل جایگزینی با یکدیگر باشند) را تضعیف میکند.
- بهرهبرداری از دادهها: دادههای تراکنشهای عمومی را میتوان برای استنتاج عادات خرج کردن، استراتژیهای سرمایهگذاری و حتی روابط شخصی، جمعآوری و تحلیل کرد که منجر به بهرهبرداری احتمالی از دادهها یا حملات هدفمند میشود.
- مانع پذیرش سازمانی: شرکتها و نهادهای مالی سنتی تحت مقررات سختگیرانه حریم خصوصی (مانند GDPR یا HIPAA) فعالیت میکنند و برای تراکنشها، دادههای مشتریان و استراتژیهای اختصاصی خود به محرمانگی نیاز دارند. ماهیت عمومی اکثر بلاکچینها مانع بزرگی برای پذیرش گسترده امور مالی غیرمتمرکز (DeFi) و وب۳ توسط آنهاست.
- پیشدستی در معامله (Front-running) و دستکاری بازار: در دیفای (DeFi)، ممپولهای عمومی (تراکنشهای در انتظار تایید) را میتوان برای یافتن سفارشهای بزرگ یا معاملات سودآور اسکن کرد؛ این موضوع منجر به ظهور رباتهای فرانت-رانر میشود که از این عدم تقارن اطلاعاتی سوءاستفاده میکنند.
برای باز کردن پتانسیل کامل اپلیکیشنهای غیرمتمرکز و توانمندسازی یک اقتصاد دیجیتال واقعاً خصوصی، راهکارهایی برای محافظت از اطلاعات حساس و در عین حال حفظ یکپارچگی قابل تأیید بلاکچین مورد نیاز است. این دقیقاً همان شکافی است که شبکههای لایه ۲ متمرکز بر حریم خصوصی مانند شبکه آزتک (Aztec Network) قصد دارند آن را پر کنند.
معرفی شبکه آزتک: یک لایه ۲ اتریوم با اولویت حریم خصوصی
شبکه آزتک (Aztec Network) به عنوان یک بلاکچین پیشگام لایه ۲ (L2) ظاهر شده است که از پایه با اولویت قرار دادن حریم خصوصی طراحی شده است. آزتک که بر روی امنیت قدرتمند شبکه اصلی اتریوم فعالیت میکند، به دنبال آشتی دادن شفافیت ذاتی بلاکچینهای عمومی با ضرورت محرمانگی کاربران است. مأموریت اصلی آن، امکانپذیر ساختن تراکنشهای خصوصی و قراردادهای هوشمند است تا اطمینان حاصل شود که کاربران میتوانند بدون قرار دادن جزئیات حرکات مالی یا تعاملات اپلیکیشنی خود در معرض دید عموم، در فعالیتهای زنجیرهای (On-chain) شرکت کنند.
آزتک در هسته خود به عنوان یک رولآپ دانش-صفر (ZK-Rollup) عمل میکند. این معماری به طور استراتژیک بخش عمدهای از پردازش تراکنش و محاسبات را از شبکه اصلی اتریوم (لایه ۱) به یک شبکه لایه ۲ مجزا و کارآمدتر منتقل میکند. نکته حیاتی این است که آزتک به جای ارسال تکتک تراکنشها به اتریوم، هزاران تراکنش خصوصی را در یک دسته (Batch) واحد دستهبندی میکند. برای تمام این دسته، یک «اثبات دانش-صفر» رمزنگاریشده تولید میشود. این اثبات به صورت رمزنگاری معتبر بودن تمام تراکنشهای موجود در آن دسته را تأیید میکند، بدون اینکه هیچ یک از دادههای زیربنایی آنها را فاش کند. تنها این اثبات، به همراه یک بهروزرسانی مختصر از «ریشه وضعیت» (State Root) لایه ۲، به شبکه اصلی اتریوم ارسال و در آنجا تأیید میشود.
این ترکیب هوشمندانه چندین مزیت حیاتی را به همراه دارد:
- حریم خصوصی ارتقا یافته: مبالغ تراکنش، آدرسهای فرستنده/گیرنده و ورودیهای قرارداد هوشمند به صورت رمزنگاریشده باقی مانده و از دید عموم پنهان میمانند.
- مقیاسپذیری: آزتک با تجمیع بسیاری از تراکنشها در یک تراکنش واحد، بار داده و بار محاسباتی روی اتریوم را به میزان قابل توجهی کاهش میدهد و به مقیاسپذیری کلی شبکه کمک میکند.
- ارثبری امنیت از اتریوم: از آنجایی که اعتبار تغییرات وضعیت آزتک توسط اثباتهای رمزنگاریشدهای که در اتریوم تأیید میشوند لنگر انداخته شده است، این شبکه از ضمانتهای امنیتی قوی و مقاومت در برابر سانسور لایه ۱ بهره میبرد.
آزتک اساساً یک لایه محاسباتی خصوصی برای اتریوم فراهم میکند و اجازه میدهد اپلیکیشنهای غیرمتمرکز (dApps) با محرمانگی درونی ساخته شوند؛ امری که پارادایم جدیدی را برای وب۳ باز میکند که در آن حریم خصوصی یک پیشفرض است، نه یک گزینه ثانویه.
مکانیزم اصلی: اثباتهای دانش-صفر (ZKPs)
بنیان تکنولوژیک قابلیتهای حریم خصوصی شبکه آزتک، اثباتهای دانش-صفر (ZKPs) است. این بدویات (Primitives) رمزنگاری انقلابی هستند زیرا به یک طرف («اثباتکننده») اجازه میدهند به طرف دیگر («تأییدکننده») ثابت کند که یک گزاره درست است، بدون اینکه هیچ اطلاعاتی در مورد خود گزاره به جز صحت آن فاش کند.
اثباتهای دانش-صفر چیستند؟
در سطحی کلان، اثبات دانش-صفر روشی است که از طریق آن یک اثباتکننده میتواند دانش خود را در مورد یک تکه اطلاعات محرمانه («شاهد» یا Witness) به یک تأییدکننده نشان دهد، بدون اینکه خودِ راز را فاش کند. تصور کنید دوستی دارید که دچار کوررنگی است و میخواهید بدون گفتن نام رنگها، به او ثابت کنید که دو توپ رنگهای متفاوتی دارند. میتوانید توپها را پشت سر خود ببرید، جای آنها را عوض کنید و دوباره به دوستتان نشان دهید. اگر آنها واقعاً رنگهای متفاوتی داشته باشند، شما همیشه میتوانید بگویید کدام یک عوض شده است. دوست شما اطمینان پیدا میکند که توپها واقعاً متفاوت هستند، اما هرگز متوجه رنگ واقعی آنها نمیشود.
در زمینه بلاکچین، ZKPها شامل عملیات ریاضی پیچیدهای هستند که در آن:
- گزاره (Statement): چیزی است که باید درست بودن آن ثابت شود (مثلاً: «من سرمایه کافی برای انجام این انتقال را دارم» یا «این قرارداد هوشمند به درستی اجرا شده است»).
- شاهد (Witness): اطلاعات محرمانهای است که اثباتکننده میداند و باعث درستی گزاره میشود (مثلاً تراز دقیق حساب یا ورودیهای خصوصی به قرارداد هوشمند).
- اثبات (Proof): شواهد رمزنگاریشدهای است که توسط اثباتکننده و با استفاده از شاهد تولید شده و سپس برای تأییدکننده ارسال میشود.
ویژگیهای کلیدی که یک سیستم ZKP قدرتمند را تعریف میکنند عبارتند از:
- کامل بودن (Completeness): اگر گزاره درست باشد و اثباتکننده صادق باشد، تأییدکننده همیشه متقاعد خواهد شد.
- صحت (Soundness): اگر گزاره نادرست باشد، یک اثباتکننده متقلب نمیتواند تأییدکننده را متقاعد کند که گزاره درست است (این کار از نظر محاسباتی غیرممکن است).
- دانش-صفر (Zero-Knowledge): تأییدکننده به جز حقیقت داشتن گزاره، هیچ چیز دیگری درباره شاهد نمیآموزد.
چگونه ZKPها حریم خصوصی را در آزتک ممکن میکنند
در شبکه آزتک، ZKPها موتوری هستند که فعالیتهای بلاکچین عمومی را به تعاملات خصوصی تبدیل میکنند. نحوه عملکرد آنها در عمل به این صورت است:
- تولید تراکنش خارج از زنجیره: وقتی کاربری یک تراکنش خصوصی را در آزتک آغاز میکند (مثلاً ارسال توکن یا تعامل با یک پروتکل دیفای خصوصی)، کلاینت محلی آنها تمام جزئیات حساس مانند فرستنده، گیرنده، مبلغ و تعاملات خاص قرارداد را رمزگذاری میکند.
- تولید اثبات محلی: کلاینت کاربر با استفاده از کلیدهای خصوصی خود، یک اثبات دانش-صفر کوچک در سمت کاربر تولید میکند. این اثبات تأیید میکند که:
- کاربر مالک سرمایهای است که قصد خرج کردن آن را دارد.
- تراکنش طبق قوانین پروتکل معتبر است (مثلاً دو بار خرج کردن صورت نگرفته و مبالغ مثبت هستند).
- وضعیت رمزگذاریشده جدید (مثلاً ترازهای جدید) با تراکنش سازگار است.
- نکته حیاتی این است که این اثبات این حقایق را بدون فاش کردن مبالغ واقعی یا شرکتکنندگان تأیید میکند.
- دستهبندی توسط ارائهدهندگان رولآپ: این اثباتهای انفرادی تولید شده توسط کلاینت و تراکنشهای رمزگذاریشده مربوط به آنها، برای شرکتکنندگان شبکه به نام «ارائهدهندگان رولآپ» (یا ترتیبدهندگان/اثباتکنندگان) ارسال میشوند. ارائهدهندگان رولآپ تعداد زیادی از این تراکنشهای خصوصی را جمعآوری میکنند.
- تولید اثبات دستهای: ارائهدهنده رولآپ این تراکنشها و اثباتهای انفرادی را تجمیع کرده و سپس یک اثبات دانش-صفر واحد و بزرگتر برای کل دسته تولید میکند. این اثبات دستهای گواهی بر اعتبار تمام تراکنشهای موجود در آن دسته است.
- تأیید روی زنجیره: تنها همین اثبات دستهای فشرده و یک بهروزرسانی کوچک وضعیت به قرارداد لایه ۱ آزتک در اتریوم ارسال میشود. قرارداد اتریوم سپس این اثبات را تأیید میکند. اگر اثبات معتبر باشد، قرارداد لایه ۱ ریشه وضعیت آزتک را بهروز میکند؛ ریشهای که یک تعهد رمزنگاریشده به کل وضعیت لایه ۲ است.
از طریق این فرآیند، شبکه اصلی اتریوم تنها اثبات رمزنگاریشدهای را میبیند که نشان میدهد مجموعهای از تغییرات وضعیت معتبر و محافظتکننده از حریم خصوصی در آزتک رخ داده است. جزئیات خاص اینکه چه کسی با چه کسی و با چه مبلغی معامله کرده است، رمزگذاریشده و از دید عموم پنهان باقی میماند و تنها برای شرکتکنندگان مجاز قابل مشاهده است. این امر به زیبایی قابلیت تأیید یک بلاکچین عمومی را با محرمانگی یک سیستم خصوصی پیوند میدهد.
پیادهسازی خاص ZKP در آزتک: PLONK و Noir
شبکه آزتک فقط از هر سیستم ZKP استفاده نمیکند؛ بلکه انتخابهای معماری خاصی را برای بهینهسازی کارایی، امنیت و تجربه توسعهدهندگان انجام داده است. اینها شامل بهرهگیری از سیستم اثبات PLONK و توسعه زبان برنامهنویسی Noir است.
PLONK: سیستم اثبات
شبکه آزتک به طور قابل توجهی از PLONK به عنوان سیستم زیربنایی اثبات دانش-صفر خود استفاده میکند. PLONK یک سیستم ZKP مدرن و بسیار کارآمد است که مزایای قابل توجهی نسبت به ساختارهای قدیمیتر دارد.
ویژگیها و مزایای کلیدی PLONK در بستر آزتک:
- راهاندازی جهانی (Universal Setup): برخلاف برخی سیستمهای دیگر ZKP (مانند Groth16) که برای هر مدار جدید نیاز به یک مراسم راهاندازی مورد اعتماد (Trusted Setup) جداگانه دارند، PLONK از یک راهاندازی «جهانی و قابل بهروزرسانی» استفاده میکند. این بدان معناست که پس از یک بار راهاندازی اولیه، همان کلید اثبات میتواند برای هر مداری استفاده شود، تا زمانی که اندازه مدار از یک حداکثر تعریفشده فراتر نرود. این کار توسعه و استقرار قراردادهای هوشمند خصوصی جدید را به شدت ساده میکند.
- بهبود زمان اثباتکننده: PLONK به طور کلی زمانهای اثبات سریعتری را نسبت به سیستمهای قبلی ارائه میدهد که برای کاهش بار محاسباتی تولید اثبات برای دستههای بزرگ تراکنش حیاتی است. تولید سریعتر اثبات به معنای نهایی شدن سریعتر تراکنش و تجربه کاربری روانتر است.
- حجم اثبات کوچکتر: اثباتهای PLONK نسبتاً فشرده هستند، به این معنی که دادههای کمتری باید در شبکه اصلی اتریوم ثبت شود. این امر به کاهش هزینههای تراکنش در لایه ۱ و افزایش مقیاسپذیری کمک میکند.
- مناسب برای بازگشتی بودن (Recursion-Friendly): اگرچه مستقیماً برای هر تراکنش انفرادی استفاده نمیشود، اما PLONK برای ZKPهای بازگشتی بسیار مناسب است. این یعنی یک ZKP میتواند اعتبار ZKP دیگری را ثابت کند و تجمیع بسیار کارآمد اثباتها را ممکن سازد؛ تکنیکی که برای رولآپ کردن هزاران تراکنش در یک اثبات واحد لایه ۱ حیاتی است. معماری آزتک به این تجمیع بازگشتی اثباتها متکی است.
آزتک با پذیرش PLONK اطمینان حاصل میکند که زیرساخت حریم خصوصی آن بر پایه یک فونداسیون رمزنگاری پیشرفته ساخته شده است که هم قدرتمند و هم پربازده است.
Noir: زبان جهانی با قابلیت ZK
ساخت مدارهای اثبات دانش-صفر به طور سنتی بسیار پیچیده است و به تخصص عمیق رمزنگاری و درک دقیق محدودیتهای ریاضی نیاز دارد. برای رفع این مانع بزرگ، شبکه آزتک زبان Noir را توسعه داده و متنباز کرد؛ یک زبان اختصاصی دامنه (DSL) که مخصوص نوشتن برنامههای مبتنی بر ZK طراحی شده است.
اهمیت Noir برای آزتک و اکوسیستم گستردهتر ZK را نمیتوان نادیده گرفت:
- انتزاع مناسب برای توسعهدهندگان: Noir بخش زیادی از پیچیدگی رمزنگاری زیربنایی ZKPها را انتزاع (Abstract) میکند. توسعهدهندگان میتوانند برنامهها را با سینتکسی آشنا و بصری (شبیه به Rust یا سایر زبانهای مدرن) بنویسند، بدون اینکه نیاز داشته باشند مدارهای محاسباتی را به صورت دستی تعریف کنند.
- کامپایلر به مدارهای ZK: Noir به عنوان یک زبان سطح بالا عمل میکند که به مدارهای محاسباتی - نمایش سطح پایینی که توسط سیستمهای ZKP مانند PLONK درک میشود - کامپایل میشود.
- زبان جهانی فعالشده با ZK: اگرچه در ابتدا برای آزتک توسعه یافت، اما Noir به گونهای طراحی شده که جهانی باشد، یعنی میتواند برای تولید مدار برای انواع بکاندهای ZKP فراتر از PLONK استفاده شود.
- توانمندسازی قراردادهای هوشمند خصوصی: با Noir، توسعهدهندگان میتوانند منطق قراردادهای هوشمند خصوصی را در آزتک تعریف کنند. این «توابع خصوصی» میتوانند محاسبات را روی دادههای رمزگذاریشده انجام دهند، اثباتهای اجرای صحیح را تولید کنند و وضعیت خصوصی را بهروزرسانی کنند، بدون اینکه ورودیهای حساس را فاش کنند.
- حریم خصوصی یکپارچه: Noir به توسعهدهندگان اجازه میدهد به راحتی مشخص کنند کدام بخش از برنامه آنها باید خصوصی باشد (ورودیها، متغیرهای میانی) و کدام خروجیها میتوانند عمومی باشند.
Noir نقش مهمی در توانمندسازی توسعهدهندگان برای ساخت اپلیکیشنهای غیرمتمرکز خصوصی پیچیده در آزتک ایفا میکند و وظیفه دلهرهآور توسعه ZKP را به یک چالش برنامهنویسی قابل دسترستر تبدیل میکند.
نمای کلی معماری شبکه آزتک
شبکه آزتک به عنوان یک سیستم لایه ۲ پیشرفته عمل میکند که به دقت مهندسی شده تا حریم خصوصی و مقیاسپذیری را فراهم کند و در عین حال پیوند قوی خود را با شبکه اصلی اتریوم حفظ کند. معماری آن شامل چندین جزء کلیدی است که برای تسهیل تراکنشهای خصوصی و اجرای قراردادهای هوشمند با هم همکاری میکنند.
وضعیت خصوصی و وضعیت عمومی
یک مفهوم بنیادین در آزتک، تمایز واضح بین وضعیت خصوصی (Private State) و وضعیت عمومی (Public State) است.
- وضعیت خصوصی: این شامل تمام اطلاعات محرمانه در آزتک، مانند تراز حساب کاربران، مبالغ تراکنش و متغیرهای داخلی قراردادهای هوشمند است. این دادهها با استفاده از کلیدهای کاربران رمزگذاری شده و به گونهای ذخیره میشوند که فقط توسط مالک یا اشخاص مجاز قابل خواندن باشند. یکپارچگی این وضعیت توسط اثباتهای دانش-صفر تضمین میشود.
- وضعیت عمومی: در حالی که آزتک حریم خصوصی را در اولویت قرار میدهد، به یک رابط عمومی نیز نیاز دارد، به ویژه برای تعامل با لایه ۱ اتریوم. وضعیت عمومی عمدتاً شامل ریشه مرکل (Merkle Root) درخت وضعیت خصوصی، متغیرهای عمومی قرارداد هوشمند (مانند موجودی کل توکن) و ورودی/خروجیهای تراکنش عمومی در صورت نیاز است.
آزتک اساساً یک «گاوصندوق داده» خصوصی را در لایه ۲ مدیریت میکند و لایه ۱ اتریوم به عنوان یک «رسید» و «لنگر امنیتی» تغییرناپذیر و قابل تأیید عمومی برای وضعیت آن گاوصندوق عمل میکند.
کلاینت آزتک (رابط کاربری)
کلاینت آزتک رابط اصلی است که کاربران از طریق آن با شبکه تعامل دارند. این کلاینت نشاندهنده کیف پول کاربر و محیط محلی است که عملیاتهای حفظ حریم خصوصی در آن آغاز میشود.
- مدیریت کلید: کلاینت به طور ایمن کلیدهای رمزنگاری کاربر را مدیریت میکند که برای رمزگذاری/رمزگشایی دادههای خصوصی و امضای تراکنشها ضروری هستند.
- نوتهای رمزگذاریشده (Encrypted Notes): داراییهای خصوصی در آزتک به عنوان «نوت» نشان داده میشوند. اینها ساختارهای داده رمزگذاریشدهای هستند که شامل مبلغ، نوع دارایی و مالک هستند. کلاینت مسئول تولید و مدیریت این نوتهاست.
- تولید محلی ZKP: هنگامی که کاربر میخواهد تراکنشی انجام دهد، کلاینت به صورت محلی یک اثبات دانش-صفر کوچک تولید میکند که اعتبار عمل کاربر را بدون فاش کردن جزئیات حساس ثابت میکند.
ارائه دهندگان رولآپ (Sequencers/Provers)
ارائهدهندگان رولآپ اپراتورهای حیاتی در شبکه آزتک هستند. آنها مسئول تجمیع تراکنشهای کاربران و تولید اثباتهای نهایی دانش-صفر هستند که در اتریوم ثبت میشوند.
- جمعآوری و ترتیبگذاری تراکنشها: آنها تراکنشهای خصوصی و اثباتهای انفرادی را از کاربران جمعآوری کرده و آنها را در دستهها (Batches) مرتب میکنند.
- تولید اثبات دستهای: برای هر دسته، ارائهدهنده رولآپ تراکنشها را خارج از زنجیره اجرا کرده، اثباتهای سمت کلاینت را تأیید میکند و سپس یک اثبات دانش-صفر جامع برای کل دسته تولید میکند. این فرآیند از نظر محاسباتی سنگین است و از سختافزارهای قدرتمند بهره میبرد.
- بهروزرسانی ریشه وضعیت: پس از تولید موفق اثبات، ارائهدهنده ریشه وضعیت جدید آزتک را محاسبه میکند.
- ارسال به لایه ۱: در نهایت، ارائهدهنده اثبات دستهای و ریشه وضعیت جدید را به قرارداد لایه ۱ آزتک در اتریوم ارسال میکند.
پل آزتک / قرارداد لایه ۱
قرارداد لایه ۱ آزتک که در شبکه اصلی اتریوم مستقر است، به عنوان لنگر حیاتی عمل میکند که لایه ۲ خصوصی آزتک را به لایه ۱ عمومی و امن متصل میکند.
- تأیید اثبات: وظیفه اصلی آن تأیید اثباتهای دانش-صفر ارسالی توسط ارائهدهندگان رولآپ است. این نهاییترین بازرسی امنیتی است؛ اگر اثباتی نامعتبر باشد، قرارداد آن را رد میکند.
- مدیریت ریشه وضعیت: پس از تأیید موفقیتآمیز، قرارداد ریشه وضعیت رسمی آزتک را بهروز میکند.
- درگاه واریز و برداشت: این قرارداد به عنوان پلی برای داراییهای بین اتریوم و آزتک عمل میکند.
- در دسترس بودن دادهها (Data Availability): اگرچه جزئیات تراکنش خصوصی است، اما قرارداد لایه ۱ اطمینان حاصل میکند که دادههای لازم (مانند خروجیهای رمزگذاریشده) در اتریوم در دسترس باشند تا کاربران همیشه بتوانند وضعیت خود را بازسازی کنند.
جریان تراکنش خصوصی در آزتک
درک نحوه انجام یک تراکنش معمولی در آزتک، تصویر روشنی از مکانیزمهای حفظ حریم خصوصی آن ارائه میدهد. این فرآیند را میتوان به سه مرحله اصلی تقسیم کرد: واریز از اتریوم (L1) به آزتک (L2)، انجام انتقال خصوصی در آزتک و برداشت مجدد به اتریوم.
واریز سرمایه (L1 به L2)
- آغاز واریز در لایه ۱: کاربر اتریوم یا توکن ERC-20 را به قرارداد لایه ۱ آزتک در اتریوم میفرستد. این یک تراکنش عمومی استاندارد است.
- پردازش واریز توسط قرارداد: قرارداد لایه ۱ واریز را ثبت کرده و این رویداد را به شبکه لایه ۲ آزتک اطلاع میدهد.
- تولید نوت رمزگذاریشده در لایه ۲: در لایه ۲ آزتک، مقدار معادلی از سرمایه خصوصی برای کاربر تولید («ضرب») میشود. این سرمایه به صورت یک «نوت» رمزگذاریشده در کلاینت کاربر ظاهر میشود که فقط توسط مالک قابل رمزگشایی و خرج کردن است.
انجام انتقال خصوصی (L2 به L2)
- آغاز تراکنش توسط کاربر: فرستنده تصمیم میگیرد توکنی را به گیرنده منتقل کند. او از کلاینت خود استفاده کرده و کلید عمومی گیرنده و مبلغ را مشخص میکند. تمام این اطلاعات به صورت محلی رمزگذاری شده باقی میمانند.
- مصرف و ایجاد نوت محلی: کلاینت فرستنده نوتهای موجود را شناسایی کرده، آنها را «مصرف» میکند و نوتهای جدیدی (یکی برای گیرنده و یکی برای باقیمانده پول خود فرستنده) ایجاد میکند.
- تولید ZKP سمت کلاینت: کلاینت یک اثبات دانش-صفر تولید میکند که ثابت میکند فرستنده مالک نوتها بوده و مجموع نوتهای ورودی با خروجی برابر است، بدون اینکه هویت طرفین یا مبلغ را فاش کند.
- ارسال تراکنش به ارائهدهنده رولآپ: دادههای رمزگذاریشده و اثبات به یک ترتیبدهنده (Sequencer) ارسال میشود.
- تجمیع و اثبات دستهای: ارائهدهنده رولآپ بسیاری از این تراکنشها را جمعآوری کرده و یک اثبات واحد برای کل دسته تولید میکند.
- ارسال به لایه ۱ و بهروزرسانی وضعیت: اثبات دستهای به قرارداد اتریوم فرستاده میشود.
- تأیید و نهاییسازی: پس از تأیید قرارداد، تراکنش نهایی و تغییرناپذیر تلقی میشود.
- بهروزرسانی کلاینت گیرنده: کلاینت گیرنده با مانیتور کردن شبکه، نوت جدید را با کلید خصوصی خود رمزگشایی کرده و تراز حساب او بهروز میشود.
برداشت سرمایه (L2 به L1)
- آغاز برداشت: کاربر درخواست برداشت به یک آدرس لایه ۱ اتریوم را میدهد.
- تولید ZKP برای برداشت: کلاینت نوتهای خصوصی را در لایه ۲ میسوزاند و اثباتی تولید میکند که نشان میدهد کاربر حق انجام این کار را داشته است.
- پردازش توسط ارائهدهنده رولآپ: درخواست در یک دسته قرار میگیرد.
- تأیید لایه ۱ و آزادسازی سرمایه: پس از تأیید اثبات در اتریوم، قرارداد لایه ۱ داراییها را مستقیماً به آدرس اتریوم مشخص شده توسط کاربر آزاد میکند.
مزایا و پیامدهای معماری حریم خصوصی آزتک
رویکرد آزتک مزایایی فراتر از محرمانگی ساده تراکنشها دارد که میتواند چشمانداز وب۳ را بازتعریف کند:
- بهبود تعویضپذیری (Fungibility): در یک بلاکچین شفاف، تاریخچه هر توکن مشخص است که میتواند به لیست سیاه شدن توکنها منجر شود. حریم خصوصی آزتک باعث میشود همه توکنها پس از تراکنش خصوصی غیرقابل تشخیص از یکدیگر باشند و تعویضپذیری واقعی را بازمیگرداند.
- محرمانگی مالی: فعالیتهای مالی کاربران (ترازها و طرفین معامله) از دید عموم مخفی میماند که با انتظارات سنتی از حریم خصوصی مالی همخوانی دارد.
- پذیرش سازمانی: آزتک با فراهم کردن امکان تعاملات محرمانه، راه را برای ورود سرمایههای کلان سازمانی که تحت قوانین حریم خصوصی هستند به دنیای دیفای باز میکند.
- بهبود تجربه کاربری: حریم خصوصی میتواند تجربه کاربر را ساده کند؛ چرا که کاربران دیگر نگران افشای اطلاعات حساس در هر تعامل با اپلیکیشنها نخواهند بود.
- تقویت مقیاسپذیری: به عنوان یک رولآپ ZK، آزتک بار محاسباتی اتریوم را به شدت کاهش داده و اجازه میدهد تعداد تراکنش بسیار بیشتری در ثانیه پردازش شود.
- توانمندسازی اپلیکیشنهای غیرمتمرکز خصوصی: آزتک کلاس جدیدی از DAppها را ممکن میکند:
- دیفای محرمانه: بازارهای وامدهی و معاملاتی که استراتژیها و پوزیشنها تا زمان تسویه مخفی میمانند.
- رأیگیری خصوصی: حاکمیت زنجیرهای که در آن آرای انفرادی مخفی است اما نتیجه کلی قابل تأیید است.
- مزایدههای قیمت مخفی: مزایدههایی که تا زمان بسته شدن، پیشنهادها پنهان میمانند تا از پیشدستی جلوگیری شود.
چالشها و چشمانداز آینده
سفر آزتک با چالشهایی نیز همراه است:
- پیچیدگی توسعه ZKP: علیرغم وجود زبان Noir، مفاهیم رمزنگاری زیربنایی همچنان پیچیده هستند و آموزش توسعهدهندگان یک تلاش مستمر است.
- عملکرد و هزینه: تولید اثباتهای دانش-صفر از نظر محاسباتی سنگین است که میتواند منجر به هزینههای عملیاتی برای ارائهدهندگان رولآپ شود.
- قابلیت حسابرسی و تطبیق با قوانین: برقراری تعادل بین حریم خصوصی مطلق و نیاز به مبارزه با پولشویی (AML) یک چالش ظریف است. راهکارهایی مانند «حریم خصوصی قابل برنامهنویسی» ممکن است بررسی شوند.
- تمرکززدایی اثباتکنندگان: آزتک در بلندمدت باید به سمت غیرمتمرکز کردن کامل ترتیبدهندگان و اثباتکنندگان حرکت کند تا مقاومت در برابر سانسور را تقویت کند.
با وجود این چالشها، آینده آزتک و لایه ۲های متمرکز بر حریم خصوصی بسیار نویدبخش است. با رشد تقاضا برای حفاظت از دادهها در دنیای دیجیتال، تکنولوژیهایی مانند آزتک برای ساخت یک اکوسیستم وب۳ خصوصی، مقیاسپذیر و فراگیر، نقشی بنیادین ایفا خواهند کرد.