Zero Knowledge Ethereum Virtual Machine یا اثبات با دانش صفر از آن دست فناوری‌هایی است که تحول ایجاد کرده است و حالا در کنار ماشین مجازی اتریوم قرار گرفته است؛ اتفاقی که می‌تواند دستاوردی بزرگ برای اکوسیستم اتریوم و پروژه‌‌های سازگار با ماشین مجازی اتریوم باشد. ایجاد ZKEVM کار بسیار سختی است که به نوعی در گذشته دور از دسترس بود،‌ اما پیشرفت‌های اخیر در اثبات دانش صفر دوباره پروژ‌ه‌ها را به سمت این ماشین مجازی برده است.

مفهوم ZKEVM چیست؟

در یک ماه گذشته سه پلتفرم پالیگان،‌ Scroll و zkSync ادعا کردند که برای اولین بار ZKEVM را توسعه داده‌اند؛ شاید هیچ‌کدام فکر نمی‌کردند که پروژه دیگری هم روی این موضوع کار کرده باشد. ZKEVM مخفف عبارت Zero Knowledge Ethereum Virtual Machine و یک ماشین مجازی است که از اثبات دانش صفر برای بررسی صحت برنامه‌ها استفاده می‌کند.

 

ZKEVM طوری طراحی شده که برای اجرای قراردادهای هوشمند از اثبات دانش صفر پشتیبانی کند و به نوعی بخش از راهکار مقیاس‌پذیری ZK Rollup است. برای این که مفهوم ZKEVM را به خوبی درک کنیم، باید ابتدا با مفاهیمی مثل ماشین مجازی اتریوم، روش اثبات دانش صفر و ZK رول آپ‌ها آشنا شویم.

ماشین مجازی اتریوم چیست؟

اتریوم در اصل یک ماشین حالت مبتنی بر تراکنش است. در علوم کامپیوتر ماشین حالت ماشینی است که با خواندن یک سری ورودی، از حالت قدیمی به حالت جدید انتقال پیدا می‌کند. از زمان بلاک اولیه (Genesis Block)، حالت اتریوم با هر بلاک از تراکنش‌ها تغییر پیدا کرده، تا به حالت فعلی رسیده است. حالت فعلی شامل تمام آدرس‌ها و نقشه حالت‌های آن‌ها است.

 

ماشین مجازی اتریوم یا EVM،‌ مسئول اجرای تراکنش‌ها است. EVM یک محیط زمان اجرا (Runtime) است که در آن قراردادهای هوشمند مستقر در شبکه اتریوم اجرا می‌شود. EVM به عنوان یک کامپیوتر جهانی عمل می‌کند که برنامه‌های غیرمتمرکز در حال اجرا بر روی بلاک چین اتریوم به آن متکی هستند.

 

در صورتی که یک ماشین مجازی بتواند برنامه‌هایی که برای اجرا در محیط EVM ایجاد شده‌اند را اجرا کند، به آن «سازگار با EVM» می‌گوییم.

 

چنین ماشین‌های مجازی می‌توانند قراردادهای هوشمند نوشته شده در Solidity یا سایر زبان‌های سطح بالای مورد استفاده در توسعه اتریوم را اجرا کنند. ZKEVMها با ماشین مجازی اتریوم سازگار هستند؛ زیرا می‌توانند اسمارت کانترکت‌های اتریوم را بدون تغییرات گسترده در منطق اساسی اجرا کنند.

 

روش اثبات با دانش صفر چیست؟

به زبان ساده اثبات با دانش صفر روشی است که در آن یک نفر می‌تواند به نفر دیگر اثبات کند که از موضوعی آگاه است، اما در عین حال آن موضوع را به او نگوید. فرض کنید به یک شخص نابینا می‌خواهید اثبات کنید که دو گویی که در دست دارد،‌ دارای رنگ‌های متفاوت هستند؛ در عین حال رنگ گوی‌ها را نیز نمی‌خواهید به او بگویید.

 

از او می‌خواهید که پشت سرش با هر ترتیبی که می‌خواهد گوی‌ها را جابجا کند و سپس شما به او می‌گویید که آیا او گوی‌ها را جابه‌جا کرده است یا خیر. به طور شانسی، ۵۰ درصد احتمال دارد پاسخ درست بدهید. اگر فرآیند تکرار شود و باز هم درست بگویید، احتمال پاسخ شانسی شما کاهش می‌یابد. با چند مرحله تکرار بدون این که رنگ گوی‌ها را گفته باشید،‌ فرد نابینا مطمئن خواهد شد که رنگ گوی‌ها متفاوت است.

 

الگوریتم Zero Knowledge Proof محرمانگی را افزایش می‌دهد و می‌تواند استفاده شرکت‌ها از بلاکچین را افزایش دهد. بهتر است بدانید که EVM هرگز برای پشتیبانی از اثبات‌ دانش صفر طراحی نشده است؛ این موضوع ساخت ماشین‌های مجازی سازگار با EVM و دانش صفر را دشوار می‌کند. پروژه‌های ZKEVM مختلف، رویکردهای متفاوتی را برای ترکیب EVM با محاسبات اثبات دانش صفر اتخاذ می‌کنند که در بخش بعدی به بررسی آن‌ها می‌پردازیم.

مشکل مقیاس‌پذیری اتریوم بر کسی پوشیده نیست و پروژه‌های مختلفی برای حل این معضل ارائه شده‌اند. در کنار بلاکچین‌های رقیب، راهکارهای لایه ۲ به دنبال افزایش مقیاس‌پذیری خود شبکه اتریوم هستند. آن‌‌ها محاسبات تراکنش‌های کاربران را به فضایی خارج از شبکه اصلی می‌برند، اما در عین حال از امنیت شبکه اتریوم استفاده کرده و داده‌ها را به شکل بسیار فشرده‌تری روی آن ثبت می‌کنند. یکی از روش‌های لایه ۲، رول‌آپ‌ها هستند که به دو دسته Optimistic Rollups و ZK Rrollups تقسیم می‌شوند.

 

پروژه‌هایی که از رول‌آپ Optimistic استفاده می‌کنند مثل آپتیمیزم و آربیتروم، ریشه‌های (Roots)‌ حالت را به صورت دوره‌ای در شبکه اصلی منتشر می‌کنند و برای اطمینان از درستی حالت، به مکانیزم اثبات تقلب (Fraud Proofs) تکیه می‌کنند. در اصل آن‌ها فرض را بر درستی تراکنش‌ها و صداقت اعتبارسنج‌ها می‌گذارند؛ در صورت اثبات خلاف این امر ولیدیتور از مبلغی که استیک کرده است، جریمه خواهد شد.

 

ZK رول آپ‌ها مانند Loopring و Starkware، ریشه‌های حالت را در شبکه اصلی منتشر می‌کنند، با این تفاوت که شامل اثبات‌های اعتبار رمزنگاری نیز می‌شوند. ZK Rollups امنیت بیشتری ارائه داده و سریع‌تر هستند، اما یک چالش برای آن‌‌ها وجود دارد. توسعه‌دهندگان باید در زبان‌های برنامه‌نویسی پیچیده، اقدام به نوشتن مدارها یا چرخه‌های (Circuits) سفارشی کنند. همچنین ایجاد یک تغییر کوچک،‌ ممکن است نیاز به تغییرات گسترده‌ای در Circuit اصلی داشته باشد.

برای مقایسه دو راه‌‌حل مقیاس‌پذیری Optimistic و ZK Rollups، بهتر است سراغ ویتالیک بوترین یکی از بنیان‌گذاران اتریوم برویم. او معتقد است که احتمالا در کوتاه‌مدت، برای محاسبات EVM عمومی، آپتیمیستیک رولاپ‌ها برنده رقابت باشند؛ اما در بلندمدت ZK رول‌آپ‌ها با بهبود تکنولوژی ZK-SNARK در همه سناریوها پیروز خواهند بود. بهبود تکنولوژی ZK-SNARK در صحبت ویتالیک،‌ احتمالا اشاره به موفقیت و پیشرفت ZKEVM دارد.

 

ZK رول آپ‌های اولیه فاقد توانایی اجرای قراردادهای هوشمند بودند و به مبادله توکن‌ها و پرداخت‌های ساده محدود می‌شدند. با معرفی ماشین‌‌های مجازی سازگار با اتریوم و اثبات دانش صفر، پروتکل‌های ZK Rollup می‌توانند از برنامه‌های غیرمتمرکز اتریومی نیز پشتیبانی کنند.



منبع