بحث مقیاسپذیری در شبکههای لایه یک و به خصوص اتریوم از زمان پیدایش بلاکچینها مطرح بوده است. با افزایش تقاضا برای اشغال فضای هر بلاک با رونق استفاده از تکنولوژی بلاکچین، قیمت آن به طور فزایندهای بالا رفته است. همچنین زمان بالای قطعی شدن بلوک و نرخ پایین تراکنش بر حسب زمان در قیاس با سیستمهایی متمرکز همچون ویزا (Visa)، دیگر مشکلاتی است که بر سر راه شبکههای بلاکچینی برای بدل شدن به سیستم پرداختی حقیقتا جهانی قرار دارد. از بین راهکارهای مقیاسپذیری، رولآپها جایگاه ویژهای دارند. رولآپها به دو دسته آپتیمیستیک و بینیاز از دانش (Zero-Knowledge) تقسیم میشوند. راهکار zkSync یکی از دو رولآپ مهم مبتنی بر گواههای بینیاز از دانش است که در راستای مقیاسپذیرتر کردن شبکه اتریوم فعال هستند.
در ادامه این مطلب با نحوه عمل راهکار zkSync آشنا خواهیم شد. همچنین از امنیت و هزینه استفاده از زیکی سینک خواهیم گفت. با میهن بلاکچین همراه باشید.
رول آپ zkSync چیست؟
zkSync پروتکلی بینیاز از اعتماد برای انجام تراکنشهای کمهزینه و مقیاسپذیر بر روی شبکه اتریوم است که از تکنولوژی رولآپ بینیاز از دانش (zero-knowledge Rollup) بهره میبرد. شبکه اتریوم شبکهای یکپارچه (monolithic) است چرا که عملیات اجماع، اجرا و دسترسی به دادهها بر روی یک شبکه انجام میشود و تمامی نودها به شکل همزمان این وظایف را به عهده دارند. برای بهبود مقیاسپذیری، اتریوم به سمت ماژولار شدن حرکت میکند و بخشی از وظایف آن به رولآپها تفویض خواهد شد. در این راستا، لایه یک بر روی کاری به راستی برای آن مناسب است – یعنی اجماع – تمرکز خواهد کرد و وظیفه اجرا و ذخیرهسازی و فراهم آوردن دادهها به رولآپها واگذار خواهد شد. این پروتکل با فراهم آوردن گواههای بینیاز از دانش و ذخیره آن به همراه دادههای تراکنشها بر روی لایه یک، امنیت موجودی کاربران را تامین میکند. به نحوی که در صورتی که اگر کاربری ارزی را به این لایه انتقال دهد و یک سال بعد بازگردد و در طی این مدت تمامی ولیدیتورهای این شبکه از کار افتاده باشند، همچنان راهی برای او وجود خواهد داشت تا بتواند سرمایه خود را به لایه یک بازگرداند.
zkSync چگونه کار میکند؟
این رولآپ مبتنی بر تکنولوژی گواه بینیاز از دانش و به طور دقیقتر نوع zk-SNARK آن است. پیشتر در سری مقالات کریپتو با ویتالیک، با این تکنولوژی خاص آشنا شدیم و نحوه ساخت اثباتهای ریاضی و فراهم کردن آن به شخص ثالث را دیدیم. برای مطالعه بیشتر این مفاهیم، مقالات زیر مرور کنید:
پس از مطالعه مقالات بالا، احتمالا ایدهای کلی در خصوص نحوه فعالیت این تکنولوژی رمزنگاری رسیدهاید. این فناوری به شکلی سادهتر این چنین عمل میکند:
- کاربران تراکنشها را امضا کرده و برای اعتبارسنجها میفرستند.
- اعتبارسنجها هزاران تراکنش را در یک بلوک تجمیع کرده و هش ریشه (root hash) این حالت (state) جدید را به همراه گواه رمزنگاری شده این تغییر (که این گواه از نوع SNARK است) به قرارداد هوشمندی بر روی شبکه اصلی میفرستد. این گواه ثابت مینماید که این حالت جدید به راستی نتیجه تغییر حالت پیشین طی عملیاتی مشخص است.
- به همراه گواه بینیاز از دانش، دلتای تغییر حالت (اطلاعات اندکی از هر تغییر) بر روی شبکه اصلی ثبت میشود که میتوان به راحتی آن را با متد calldata فراخوانی کرد. این مساله به هر کس اجازه میدهد که بتواند در هر لحظه حالت را بازسازی نماید.
- گواه ارائه شده و دلتای تغییر حالت توسط قرارداد هوشمند صحتسنجی و تایید میشود. این چنین میتوان از راستی و صحت تمامی تراکنشهای موجود در بلاک و موجود بودن اطلاعات مربوط به آنها (data availability)، اطمینان حاصل کرد.
اعتبارسنجی مجموعهای از تراکنشها بسیار ارزانتر از هر تراکنش به صورت مجزاست. همچنین با نگهداری بخشی از اطلاعات به شکل خارج از زنجیره، هزینه باز هم کاهش میباید. بنابراین میتوان انتظار کاهش هزینه تراکنشها تا صد برابر حالت معمول در لایه یک را داشت.
همچنین نرخ تراکنش تا ۲۰۰ برابر میتواند افزایش پیدا کند و به بیش از ۲۰۰۰ تراکنش در ثانیه برسد. این عدد با محدودیت گس ۱۲.۵ میلیونی در هر بلوک به ثبت رسیده است بنابراین با مقدار ۱۵ میلیونی فعلی، میتوان انتظار داشت که بیشتر شده باشد.
برخی از ویژگیهای این راهکار به شرح زیر است:
- اعتبارسنجها هیچگاه نمیتوانند حالت سیستم را تغییر داده یا سرمایه کاربران را به سرقت برند (بر خلاف راهکار سایدچین)
- کاربران حتی در صورت از دسترس خارج شدن اعتبارسنجها میتوانند سرمایه خود را به لایه یک انتقال دهند چرا که دادهها تماما به شکل خارج از زنجیره نگهداری نمیشوند (بر خلاف راهکار پلاسما)
- آنلاین بودن کاربران یا شخص ثالث قابل اعتماد برای اطمینان از صحت انجام عملیات و جلوگیری از تقلب لازم نیست (بر خلاف راهکارهای آپتیمیستیک)
قطعیت کامل تراکنشها در راهکار zkSync منوط به ثبت شدن تراکنشها در لایه یک است و بنابراین چیزی در حدود ده دقیقه به طول می انجامد (که کمتر از زمان دو هفتهای برخی از راهکارهای ضد تقلب آپتیمیستیک است) اما با توجه به اینکه تراکنشهای تجمیع شده zkSync با پرداخت هزینه بیشتر به ماینرها همواره به شکل اولویتدار در شبکه اصلی ثبت میشوند، به محض تولید گواه SNARK برای آن، در رابط کاربری تغییرات اعمال میشود هر چند به کاربر اطلاع داده میشود که این تراکنش هنوز در شبکه اصلی تایید نشده است تا کاربرانی که میخواهند اطمینان بیشتری داشته باشند، تا تایید نهایی صبر نمایند. تایید اولیه در سیستم کمتر از یک دقیقه به طول میانجامد.
امنیت راهکار zkSync
در خصوص امنیت این راهکار پیشتر اشارهای داشتیم. امنیت این سیستم مبنتنی بر فناوری zk-SNARK و به طور دقیقتر PLONK است. تکنولوژی رمزنگاری PLONK زاده تحقیقات آریل گابیزون (Ariel Gabizon) و زک ویلیامسون (Zach Williamson) است. فرضیات امنیتی و ساختار قابل اعتماد ایجاد شده توسط پروتکل zkSync به نحوی است که:
- کاربران نیازی به نظارت بر روی شبکه ندارند.
- کلیدهای خصوصی را میتوان به شکل سرد نگهداری کرد.
- اعتبارسنجها به هیچ نحوی نمیتوان حالت شبکه را به دلخواه تغییر دهند یا سرمایه کاربران به سرقت برند.
- کاربران میتوانند سرمایه خود را بدون نیاز به همکاری اعتبارسنجها به شبکه اصلی بازگردانند.
در خصوص نکته آخر کمی بیشتر توضیح خواهیم داد؛ اگر تراکنش یکی از کاربران به هر دلیلی (سانسور و غیره) توسط اعتبارسنجها مورد اعتنا قرار نگیرد، کاربر میتواند درخواست خود را مستقیما در شبکه اصلی ثبت نماید. با این سازوکار، درخواست او وارد صف ویژهای به نام صف اولویت (Priority Queue) میشود. اعتبارسنجها موظفند که به این درخواستها طی پنجره زمانی کوتاهی (حداکثر یک هفته) رسیدگی کنند. در صورت امتناع آنها، سیستم به شکل خودکار وارد فاز خروج (Exodus) میشود. در این حالت هر کاربر میتواند با فرستادن درخواستی در شبکه اصلی، به شکلی آنی سرمایه خود را خارج نماید. این فرایند یک بار به شکلی عملی در شبکه تستی راپستن در تاریخ ۲۲ آوریل آزمایش شد.
میزان تمرکز zkSync
در طیف تمرکز، این راهکار را فعلا میتوان راهکاری غیرحضانتی با اپراتورهایی متمرکز که بدون نیاز به پیشفرض اعتماد فعالیت میکنند، دانست. در حال حاضر اپراتورهای محاسباتی zkSync تحت کنترل بنیاد غیرانتفاعی Stichting ZK Sync هستند که در کشور هلند ثبت شده است و طبق ساختار در نظر گرفته شده، نزدیک به نقطه سر به سری فعالیت میکند و به دنبال منفعیت مالی نیست. در آینده انتظار میرود با اضافه شدن اعتبارسنجهای بیشتر، شبکه به سوی غیرمتمرکز شدن بیشتر پیش رود.
پشتیبانی از توکنهای بیهمتا
این راهکار از NFTها پشتیبانی میکند. حتی میتوان چندین توکن بیهمتا را تجمیع کرد و طی یک فراخوانی مینت کرد. امکانات جالبی همچون معاوضه دو NFT با یکدیگر نیز به طور پیشفرض در ویژگیها وجود دارد.
پشتیبانی از مبادلههای اتمیک و سفارشهای محدود
یکی دیگر از ویژگیهای جذاب این راهکار، پشتیبانی بومی از تراکنشهای اتمیک بین دو حساب است. کاربران با امضای دو درخواست تراکنش که موارد معامله در آن ذکر شده است، میتوانند از حصول نتیجه توافق شده مطمئن باشند. ویژگی جذاب دیگر پشتیبانی از سفارشهای محدود (Limit Order) در این پروتکل است. این خصوصیت، امکان فراهم کردن چنین ویژگی را برای پروتکلهای دیفایی که به این پلتفرم کوچ خواهند کرد، سادهتر مینماید.
توکنها و هزینهها در zkSync
لیست توکنهایی که فعلا در این راهکار لیست شدهاند را میتوانید از این لینک مشاهده کنید. این راهکار مقیاسپذیری هنوز توکن خود را ارائه نکرده است اما بنا بر اعلام این تیم، این اتفاق رخ خواهد داد. با ارائه توکن، میتوان از آن برای استیک کردن در شبکه و بر روی اعتبارسنجهای مختلف استفاده کرد.
نکته هیجان انگیز دیگری که در این پروتکل وجود دارد، امکان پرداخت هزینهها به وسیله توکنی به جز کوین بومی شبکه (اتر) است. برای مثال اگر قصد انتقال مقداری دای (DAI) به مقصد حساب دوستتان را دارید، میتوانید بینیاز به اتر (طبیعتا برای انتقال سرمایه به لایه دو احتیاج به اتر دارید) این کار را انجام دهید و کارمزد را با دای پرداخت کنید. برای توکنهایی که بازار پررونقی ندارند، میتواند هزینه را با توکنی دیگر پرداخت کرد.
هزینهها در zkSync به دو بخش تقسیم میشود؛ بخشی مربوط به عملیات خارج از زنجیره است که چیزی حدود یک دهم سنت تمام میشود و بخشی دیگر مربوط به هزینههای درون زنجیرهای است که وابسته به قیمت گس است. با این حال میتوان با کسری از هزینه لایه یک (بین یک بیستم تا یک صدم هزینه لایه یک) انتقال را انجام داد.
پشتیبانی از قراردادهای هوشمند
zkSync به دنبال ایجاد فضایی چند زبانه، امن، تورینگ کامل و بهینه برای قراردادهای هوشمند است. مدل قراردادهای هوشمند zkSync بر مبنای شبکه اتریوم بنا شده است؛ بنابراین استفاده از حلقههای نامحدود، آرایههایی با طولهای مختلف، بردارها و پشته امکانپذیر است. قراردادهای هوشمند میتوانند یکدیگر را فراخوانی کنند. zkEVM ماشین مجازی این شبکه است که قراردادهای هوشمند را اجرا میکند. رویکرد فعلی این پروتکل، پورت کردن برنامهها با کامپایلری است که تهیه شده است. بدین ترتیب برنامههایی که پیشتر با زبان سالیدیتی نوشته شدهاند، میتوانند بدون مشکل به این اکوسیستم پورت شوند. به جز این راهکار، آنها زبانی به اسم زینک (Zinc) نیز تهیه کردهاند که شباهت زیادی به راست (Rust) دارد.
با استفاده از کامپایلر سالیدیتی این پروتکل، نسخه دوم پروتکل یونی سواپ موفق شد که بدون مشکل در تست نت این شبکه راهاندازی شود و در معرض آزمون کاربران و دولوپرها قرار گیرد.
حریم خصوصی در zkSync چگونه است؟
هماکنون تراکنشها در این شبکه مشابه اتریوم در معرض دید همگان قرار دارد. هر کس میتواند فرستنده، گیرنده، مبلغ و دیگر جزییات تراکنش را مشاهده کند. برقراری سیستمی که بتواند حریم خصوصی را در عین حفظ هزینه اندک تراکنش حفظ کند، کاری بسیار مشکل است چرا که هزینههای سربار محاسباتی افزایش قابل ملاحظهای خواهند کرد. تمرکز فعلی این مجموعه بر افزایش مقیاسپذیری و سپس کار بر روی این معضل است. این مساله در نقشه راه آینده این پروتکل گنجانده شده است.
چه کیف پولهایی از زیکیسینک پشتیبانی میکنند؟
فارغ از اینکه شخصی حساب خود را در زد کی سینک ایجاد کرده باشد یا نه، میتوانید به آدرس اتریومی او توکنی ارسال کنید و او قادر خواهد بود پس از ایجاد حساب، به آن دسترسی داشته باشد. لیست بالا، لیستی از کیف پولهاست که با این پروتکل هماهنگی کامل دارند و قادر به امضای تراکنشها هستند. اگر بخواهید آدرسی را به وسیله یک برنامه کنترل کنید، تنها احتیاج به این خواهید داشت که بتوانید با آن امضا کنید، یا به شکل مستقیم یا از طریق EIP1271 که استانداردی است که به کمک آن میتوان از صحت امضای قراردادهای هوشمند که به شکل پیفرض نمیتوانند امضا کنند، مطمئن شد.
در صورتی که به هر دلیلی والت شما مورد پشتیبانی قرار نگیرد یا قرارداد هوشمند شما قادر به استفاده از EIP1271 نباشد، همواره این امکان وجود دارد که بتوانید سرمایه حساب خود را به لایه یک منتقل کنید.
نقشه راه zkSync
برخی از مواردی که در برنامه آتی این پروتکل قرار دارد به شرح زیر است:
- اجرای سازوکاری برای لیست شدن توکنهای جدید بدون نیاز به اجازه
- ادامه تعامل با والتهای مختلف برای افزودن آنها
- تعامل با صرافیها برای گنجاندن امکان برداشت/واریز از/به لایه دو
- گام برداشتن به سوی غیرمتمرکز شدن با ایجاد پروتکلی مبنی بر گواه اثبات سهام
- ضرب توکن zkSync
جمعبندی
این چنین به نظر میرسد که آینده متعلق به رولآپها و راهکارهای لایه دو و افزایش مقیاسپذیری است و شبکههای لایه یک به عنوان بستری امن، غیرمتمرکز و ضد سانسور برای ثبت اطلاعات مهم و حل دعاوی کاربرد خواهد داشت. در بین انواع راههای مقیاسپذیری، تکنولوژی بینیاز از دانش راهی بدیع و امن را ارائه میدهد. یکی از مهمترین مشکلات این تکنولوژی (در قیاس با تکنولوژی رقیب ضد تقلب آپتیمیستیک) در ابتدای توسعه، سختی تطبیقپذیری قراردادهای هوشمند با این پارادایم متفاوت بود که همانطور که مطالعه کردید، لحظه به لحظه به حل کامل نزدیکتر میشود. در میان راهکارهای مبتنی بر گواه بینیاز از دانش، zkSync یکی از مهمترین مجموعههای فعال است و توانسته است حمایت خوبی از جانب پروتکلهای فعال کسب نماید. باید دید در نبرد تکنولوژیها و پروتکلها، کدام یک موفق میشود که سهم بیشتری از بازار را به خود اختصاص دهد.
تجربه شما در استفاده از راهکارهای لایه دو چیست؟ ایا تاکنون از zkSync استفاده کردهاید؟ به آینده کدامیک خوشبین هستید؟ نظرات خود را با ما به اشتراک بگذارید.