در چند سال اخیر پیداکردن راهحلهای جدید برای بهبود مقیاسپذیری اتریوم به یک بخش بسیار رقابتی در صنعت رمزارزها تبدیل شده و مفهوم ریاضی “اثبات با دانش صفر” بهعنوان یک روش رمزنگاری جالبتوجه و البته پیچیده اخیراً موردتوجه شرکتهای بلاکچینی قرار گرفته است. در این یادداشت، به دنیای انقلابی zkSync میپردازیم و کشف میکنیم که چگونه میتواند دست برتر را در جنون سرعت تراکنشهای اتریومی داشته باشد.
به گزارش اکوایران، شرکت آلمانی مَتِر لبز (Matter Labs) توسعهدهندهٔ زیکی سینک بهعنوان یکی از پیشتازان این صنعت توانست در اواخر سال ۲۰۱۹ یک نمونه اولیه برای بهبود مقیاسپذیری اتریوم مبتنی بر سیستم گواهی اثبات با دانشِ صفر Zero Knowledge Proof یا همان ZKP معرفی و در ژوئن ۲۰۲۰ به کاربران ارائه کند. راهحل زیکی سینک را میتوان اولین راهحل مقیاسپذیری لایه دوم دانست که هم از نظر امنیت در سطح ایمنی لایه اول اتریوم است و هم از زیستبوم قراردادهای هوشمند بهره میبرد.
نیازسنجی و تقاضای بازار
بلاکچینهای لایه یک به دلیل ساختار فنی همواره با مشکل عدم مقیاسپذیری مناسب مواجه بودهاند. مقیاسپذیری به این معناست که شبکه قابلیت پردازش تراکنشهای بیشتر را در صورت نیاز داشته باشد و با کندی روبرو نشود. ازاینرو در بخش توسعه، شبکههای غیرمتمرکز همچون اتریوم با وجود مزایای بسیار، در مقایسه با شبکههای پرداخت متمرکز همچون Visa (با توان پردازش تا ۲۴٫۰۰۰ تراکنش در ثانیه) حرفی برای گفتن ندارند. هرچند ویتالیک بوترین خالق اتریوم بارها قول افزایش توان پردازش را با بهروزرسانیهای متعدد داده است و بخشی از این وعدهها در اتریوم ۲٫۰ محقق شد بااینحال باوجود گسترش وب ۳ و اپلیکیشنهای غیرمتمرکز، نیاز بهسرعت بیشتر کاملاً احساس میشود و میتوان گفت حداقل در حال حاضر اتریوم بدون راهکارهای لایه دوم خودش عملاً غیرقابلاستفاده خواهد بود. زیکی سینک با روش “اثبات با دانشِ صفرِ غیرتعاملی” یکی از این راهحلهاست.
آشنایی با مفهوم اثبات با دانشِ صفر
الگوریتم اثبات با دانش صفر روشی است که در آن فردِ اثباتکننده میتواند به فردِ تأییدکنندهٔ دیگر ثابت کند که مقدار دقیق K را میداند، بدون اینکه نیاز باشد مقدار K را برای اثبات مدعای خود فاش کند. سه دانشمند به نامهای شفی گلدواسر، سیلویو میکالی و چارلز راکف این ایده را برای اولینبار در اوایل دهه ۱۹۸۰ ارائه کردند. هدف اصلی یک zk-Proof متقاعدکردن تأییدکننده بهدرستی یک ادعا است بدون اینکه هیچ اطلاعاتی غیر از صحت ادعا فاش شود. دو شیوهٔ عمدهٔ تعاملی و غیرتعاملی برای اثبات با دانشِ صفر وجود دارد:
روش اثبات با دانشِ صفر تعاملی
این مفهوم ریاضی پیچیده را میتوان با یک مثال مشهور و بهدور از دنیای اعداد توضیح داد. ذکر این نکته ضروری است که در این مثال و در تمام مثالهای معروف دیگر همچون مثال “غار علیبابا” یک فرد در نقش “اثباتکننده” و یک فرد در نقش “تأییدکننده” قرار میگیرد. حال بیایید شخصی کوررنگ (تأییدکننده) را تصور کنید که دو گوی رنگی به رنگهای آبی و قرمز در دست دارد و شما (اثباتکننده) میخواهید بدون افشای رنگ گویها به او ثابت کنید که رنگ گویها با یکدیگر تفاوت دارد. شما از او میخواهید گویها را در پشت خود بگیرد و بهدلخواه یا آنها را جابهجا کند و یا ثابت نگه دارد. هر بار که فرد کوررنگ گویها را در مقابل شما میگیرد شما در خصوص جابهجایی گویها، تغییر یا عدم تغییر وضعیت به او اطلاع میدهید.
در مرتبهٔ اول، ارائهٔ پاسخ صحیح تصادفی، شانسی برابر با ۵۰ درصد دارد؛ اما با تکرار این کار شانس ارائهٔ پاسخ صحیح بهصورت تصادفی به میزان بسیار زیادی کاهش پیدا میکند و در تکرار نصف میشود. به طور نمونه با ۱۲ مرتبه تکرار، ۰٫۰۲ درصد احتمال ارائه پاسخِ صحیحِ شانسی وجود دارد و هر چه بیشتر تکرار شود این درصد بیشتر به صفر میل میکند.
روش اثبات با دانشِ صفر غیرتعاملی
اثبات با دانشِ صفرِ تعاملی یک گام بزرگ در رمزنگاری و افزایش حریم خصوصی بهحساب میآمد؛ اما به دلیل نیاز به تعامل دو طرفِ اثباتکننده و تایید کننده در این روش، بخشی از اطلاعات هویتی طرفین قابل افشا بود. همچنین تمامی فرایند تنها با پرسشوپاسخ مکرر و آنلاین بودن طرفین امکانپذیر میشد. این موارد سبب دشواری اجرای آن در پروژههای نرمافزاری خصوصاً برای کاربردهای غیرمتمرکز مانند استفاده در بلاکچین میشد. برای حل این مشکل دو محقق با نامهای فیات و شامیر برای اولینبار روش اثبات غیرتعاملی را ابداع کردند که توسط سه دانشمند حوزه رمزنگاری با نامهای بِلوم، فِلدمن و میکالی تکمیل شد.
در اینجا نیز با مثال سودوکو مفهوم اثبات با دانشِ صفرِ غیرتعاملی را بررسی میکنیم. همانطور که میدانیم طبق قوانین در این بازی باید در هر سطر، ستون و مربع کوچک سه در سه، اعداد ۱ تا ۹ بدون تکرار قرار بگیرد. فرض کنید شما میخواهید ثابت کنید که تمام پاسخهای درست را دارید؛ اما از افشای آن جلوگیری میکنید. راهحل به این صورت است که ۲۴۳ کارت شامل ۲۷ کارت با عدد یک، ۲۷ کارت با عدد دو انتخاب کرده و همینطور این کار را تا کارت شماره ۹ ادامه میدهیم. روی خانههایی که از قبل در بازی عدد آنها مشخص شده است، اگر عدد آن مثلاً ۵ است سه کارت ۵ به صورتی که عدد آن مشخص باشد میگذارید. در ادامه روی هر خانه خالی، کارتهای جواب صحیح که خودتان به دست آوردهاید را میگذارید، مثلاً اگر جواب یکخانه ۴ است، کارت ۴ را به پشت میگذارید.
حالا برای اطمینان از درستی پاسخ شما، هر شخصی میتواند یک کارت از ستونها، سطرها یا مربعهای کوچک بردارد. پس ۹ کارت برمیدارد که اگر شامل اعداد ۱ تا ۹ بدون تکرار بود، میتواند از درستی پاسخهای دیگر شما مطمئن شود. در این روش دیگر نیازی به تعامل بین کاربران وجود ندارد.
برخلاف اثباتِ دانشِ صفرِ تعاملی در روش غیرتعاملی تنها به یک دور ارتباط بین اثباتکننده و تایید کننده نیاز است. در این روش با استفاده از یک الگوریتم خاص، پروتکل تعیین شده برای اثبات با دانش صفر تکمیل میشود. این اثبات به تایید کننده فرستاده میشود و تایید کننده میتواند با بررسی آن تایید کند که اثباتکننده به اطلاعات حقیقی صحیح دسترسی دارد یا خیر. با کاهش ارتباط بین تایید کننده و اثباتکننده روش اثبات با دانش صفر غیرتعاملی را میتوان در پروژههای بلاکچینی استفاده کرد.
چرا روش جمع آوری با دانشِ صفر اهمیت دارد؟
پروژههای لایه دوم دیگری توانستهاند با ارائهٔ راهحلهای مختلف موجب بهبود مقیاسپذیری اتریوم شوند. اما در جایگاه قیاس همهٔ آنها مثل هم نیستند و از نظر امنیت و سرعت پردازش تراکنش در واحد ثانیه (TPS) با یکدیگر متفاوتاند. در اینجا به چند ویژگی بنیادی zkSync نسبت به سایر روشها خواهیم پرداخت:
– بر خلاف راهکار سایدچین، اعتبارسنجها بههیچوجه نمیتوانند حالت سیستم (آخرین وضعیت درست) را تغییر داده یا سرمایه کاربران را به سرقت ببرند.
– بر خلاف راهکار پلاسما کاربران حتی در صورت عدم همکاری یا از دسترس خارجشدن اعتبارسنجها میتوانند سرمایه خود را به لایه یک انتقال دهند چرا که دادهها تماماً به شکل خارج از زنجیره نگهداری نمیشوند.
– به دلیل استفاده از روش جمعآوری با دانشِ صفرِ غیرتعاملی، بر خلاف راهکارهای آپتیمیستیک آنلاین بودن کاربران یا تأییدکنندهها برای اطمینان از صحت انجام عملیات و جلوگیری از تقلب لازم نیست همچنین احتیاجی به هیچ دوره انتظاری برای بررسی تراکنشها نیست.
– رولآپهای زیکی قراردادهای هوشمند را مستقیم بر روی شبکه اتریوم اجرا نمیکنند. این کار باعث میشود تراکنشها و فراخوانیها در zkEVM که چندین برابر سریعتر است انجام شود.
آشنایی با zkSync
zkSync یک راهحل لایه ۲ برای بهبود مقیاسپذیری شبکهٔ اتریوم است که از فناوری جمعآوریِ دانشِ صفر (ZK-rollup) استفاده میکند. این فناوری تراکنشهای سریعتر و ارزانتری را برای شبکهٔ اتریوم به ارمغان میآورد و درعینحال امنیت شبکه را بهوسیلهٔ خودِ شبکه اتریوم برای کاربران فراهم میکند. ابتدا zkSync پلتفرم نسخه ۱٫۰ خود را در سال ۲۰۲۰ راهاندازی کرد. این نسخه از قراردادهای هوشمند پشتیبانی نمیکرد. دومین نسخه در اوایل سال ۲۰۲۳ راهاندازی شد.
zkEVM چیست؟
در فوریه ۲۰۲۳، مَتِر لبز برای توسعه و فراگیری بیشتر نسخه ۲٫۰ را به zkSync Era و نسخه ۱٫۰ را به zkSync Lite تغییر نام داد. zkSync Era در حال حاضر بر بهبودِ پلِ ZK سازگار با ماشین مجازی اتریوم به نام zkEVM تمرکز کرده است. زیکِی سینک از قابلیتهای قرارداد هوشمند پشتیبانی میکند. در قراردادهای هوشمند توسعهیافته بر بستر ماشین مجازی زیکِی میتوان از دو زبان برنامهنویسی سالیدیتی و زینک استفاده کرد. زینک زبان برنامهنویسی اختصاصی این شبکه است. این همگامسازی موفقیتِ بزرگی برای این پروژه محسوب میشود چرا که افزایش توان پردازش به ۲٫۰۰۰ تا ۱۰۰٫۰۰۰ تراکنش، بدون ایجاد بستر توسعه اپلیکیشنهای غیرمتمرکز، کمتر اهمیت پیدا میکرد.
شرکت مَتِر لبز با موفقیت در این عرصه ناآشنا نیست. در طول دو سال گذشته، zkSync Lite جایگاه خود را بهعنوان پیشرو در خدمات پرداخت ارزان و ایمن تثبیت کرده است. افزایش توان پردازشی به حداقل ۲۰۰۰ تراکنش نسبت به ۱۵ الی ۲۵ تراکنش در اتریوم گواهی بر این موضوع است. این بلاکچین لایه دوم موفق به کاهش ۵۰ برابری هزینهها و پردازش بیش از ۳۳ میلیون تراکنش (تا این لحظه) شده است.
آینده متعلق به چه رویکردی است؟
نمیتوان گفت که بلاکچینهای لایه دو بهطورقطع و برای همیشه به فعالیت خود ادامه میدهند. شاید روزی فرابرسد که با بهروزرسانیهای بعدی اتریوم، کمتر نیاز به استفاده از راهحلهای لایه دوم باشد و بهمرور این روشها منسوخ شوند. از طرفی رویکرد دیگری که در جامعه رمزارزی حال حاضر جهان وجود دارد اتریوم و درکل بلاکچینهای لایه اول را به سمت مباحث بنیادیتر همچون وضع قوانین کلی، برقراری امنیت و داوری در دعاوی سوق میدهد تا تایید تراکنش و امور جزئی. در واقع به عقیدهٔ بسیاری: “چیزی که درست کار میکند نیازی به دستکاری ندارد” و بلاکچینهای لایه دو از جمله زیکِیسینک در حال حاضر درست کار میکنند.
- نویسنده: اکوایران