آنچه در این مقاله خواهید خواند
رول آپ (Rollup) یکی از انواع روشهای برون زنجیرهای (Off-chain) لایه 2 برای بهبود مقیاس پذیری بلاک چین اتریوم است که شامل دو نوع کلی رول آپ دانش صفر یا زیکی رولاپ (ZK Rollup) و آپتیمیستیک رولآپ (Optimstic Rollup) است. رولاپهای زی کی و آپتیمیستیک از نظر نحوه انتشار دادهها روی لایه 1 با یکدیگر تفاوت دارند.
مشکل مقیاس پذیری اتریوم
با افزایش تعداد افراد استفادهکننده از شبکه Ethereum برای فعالیتهایی نظیر خرید اتریوم، توسعه اپلیکیشنهای غیر متمرکز، ساخت بازی، توسعه توکن NFT و موارد بسیار دیگر، این بلاک چین به محدودیتهای ظرفیتی خاص خود رسیده و افزایش هزینه تراکنشها را به دنبال داشته است. این امر، نیاز به توسعه راهحلهای بهبود مقیاس پذیری را پررنگتر کرد.
امروزه، روشهای مختلفی از جمله شاردینگ، کانالهای وضعیت، رول آپ ها و موارد بسیار دیگر برای بهبود مقیاس پذیری اتریوم طراحی، آزمایش و پیادهسازی شده و برای دستیابی به این هدف، رویکردهای مختلفی را در پیش گرفتهاند. هدف اصلی مقیاس پذیری، افزایش سرعت تراکنشها (یعنی زمان نهاییسازی سریعتر) و توان عملیاتی آنها (یعنی تعداد تراکنشهای بیشتر در ثانیه)، بدون فدا کردن تمرکززدایی یا امنیت است؛ سهگانهای که باعنوان “Blockhchain Trilemma” شناخته میشود.
در لایه 1 اتریوم، تقاضای بالای استفاده از بلاک چین، به کاهش سرعت تراکنشها و افزایش کارمزد گس منجر شده است. افزایش ظرفیت این شبکه از نظر سرعت و توان عملیاتی نیز یکی از فاکتورهای بنیادی در پذیرش اتریوم محسوب میشود. با اینکه معیارهای سرعت و توان عملیاتی از اهمیت بالایی برخوردار هستند، اما تمرکززدایی و امنیت راهحلهای مقیاس پذیری برای دستیابی به این اهداف، ضرورت بیشتری دارند. کاهش موانع ورود اپراتورهای نودها نیز برای جلوگیری از حرکت بهسوی تمرکز و قدرت محاسبات ناامن حیاتی است.
انواع راههای بهبود مقیاس پذیری اتریوم
از نظر مفهومی، راهحلهای مقیاس پذیری به دو دسته آن چین (On-chain) یا درون زنجیرهای و آف چین (Off-chain) یا برون زنجیرهای تقسیمبندی میشوند که رول آپ های اتریوم، از نوع راهحل آف چین لایه 2 هستند. در زیر، این دستهبندی و راهحلهای ارائهشده برای بهبود مقیاس پذیری اتریوم را مشاهده میکنید:
راهحلهای آن چین:
راهحلهای درون زنجیرهای نیازمند تغییر پروتکل لایه 1 (شبکه اصلی) اتریوم هستند. در حال حاضر، شاردینگ تمرکز اصلی این نوع روش مقیاسپذیری است.
شاردینگ:
شاردینگ فرآیند تقسیم افقی پایگاه داده برای جداسازی بار روی شبکه است. در اتریوم، شاردینگ با ساخت زنجیرههای جدیدی بهنام «شارد»، باعث کاهش ازدحام و افزایش تعداد تراکنشهای قابل پردازش در ثانیه میشود.
راهحلهای آف چین:
این راهحلها سوای شبکه اصلی لایه 1 پیادهسازی شده و نیازمند تغییر پروتکل فعلی اتریوم نیستند. برخی از این روشها که به آنها راهحلهای لایه 2 میگویند، شامل رول آپ های زیکی و آپتیمیستیک و استیت چنلها یا همان کانال وضعیت هستند. در دیگر روشهای برون زنجیرهای، به ساخت زنجیرههای جدید به گونههای مختلف نیاز است که البته امنیتشان را هم باید خودشان جدای از شبکه اصلی تامین کنند. از جمله این مدلها، ساید چینها، زنجیرههای پلاسما و والیدیوم هستند.
لایه دو (layer 2):
این دسته از راهحلهای برون زنجیرهای، امنیت خود را از شبکه اصلی اتریوم دریافت میکند. در این روشها، در عین بهره بردن از مدل امنیت غیر متمرکز شبکه اصلی اتریوم، تراکنشها خارج از زنجیره اصلی مدیریت میشوند.
- رول آپ (Rollup): رولاپها تراکنشها را خارج از لایه 1 اجرا کرده و دادههای مربوطه را به لایه 1 برگردانده و سپس اجماع روی آن صورت میگیرد.
- استیت چنل یا کانال وضعیت (State Channel): استیت چنلها برای تعامل سریع و رایگان کاربران در بیرون از زنجیره، از قراردادهای چند امضایی استفاده کرده و سپس نهاییسازی تراکنشها روی شبکه اصلی انجام میشود. این روش، کاهش شلوغی، کارمزدها و تاخیرهای شبکه را به دنبال دارد. البته نوع دیگری از استیت چنل به نام پیمنت چنل یا کانال پرداخت (Pament Channel) نیز وجود دارد.
ساید چین (SideChain):
ساید چین یا زنجیره جانبی یک بلاک چین سازگار با ماشین مجازی اتریوم (EVM) است که موازی شبکه اصلی کار میکند.
پلاسما (Plasma):
زنجیره پلاسما یک بلاک چین مجزاست که به زنجیره اصلی اتریوم متصل میشود و مشابه رول آپ های آپتیمستیک از اثبات یا گواههای تقلب (Fraud Proofs) برای حل اختلافها استفاده میکند.
والیدیوم (Validium):
زنجیره والیدیوم نیز همانند رولاپهای دانش صفر از اثبات یا گواههای تصدیق (Validity Proofs) استفاده میکند، اما دادهها روی لایه 1 شبکه اصلی اتریوم ذخیره نمیشوند. این امر میتواند زنجیرههای موازی را ایجاد کرده و بار هر زنجیره والیدیوم را به 10هزار تراکنش در ثانیه برساند.
رول آپ چیست و چگونه کار میکند؟
پیش از پرداختن به مفهوم رول آپها، بهتر است کمی با نحوه کار لایه 1 و راهحلهای لایه 2 آشنا شویم. لایه 1 همان بلاک چین اصلی و پایهای ماست. اتریوم و بیت کوین هر دو از بلاک چینهای لایه یک هستند.
اما لایه دو، یک اصطلاح کلی برای راهحلهای مقیاس پذیری است که تراکنشها را خارج از لایه 1 یک بلاک چین مدیریت کرده و در عین حال، از مزیت امنیت غیر متمرکز قدرتمند شبکه مربوطه نیز بهره میبرد. بنابراین، لایه 2 یک بلاک چین مجزاست که در واقع لایه 1 را گسترش میدهد. اما چگونه این کار را میکند؟
مثلا در اتریوم، یک بلاک چین لایه دو برای داشتن تضمینهای امنیتی و غیر متمرکز، با ثبت مجموعهای از تراکنشها، بهصورت منظم با این بلاک چین ارتباط برقرار میکند. تمامی اینها به هیچ تغییری در پروتکل لایه یک شبکه مربوطه نیاز ندارند. این ویژگی باعث میشود که لایه 1 امنیت، دسترسی داده و تمرکززدایی را مدیریت کرده و لایه 2 به مقیاس پذیری بپردازد.
روشهای لایه دو بار تراکنشی را از لایه یک دور کرده و اثباتهای نهاییشده را به آن برمیگردانند. بنابراین، با حذف این بار تراکنشی از لایه 1، شلوغی لایه پایهای کمتر شده و همهچیز مقیاسپذیرتر خواهد شد.
حالا کاربران با استفاده از رول آپ ها که از جمله روشهای محبوب برای مقیاس پذیری اتریوم هستند، میتوانند هزینه تراکنشها را تا 100 برابر نسبت به لایه 1 کاهش دهند.
رولاپها در واقع به رول و دسته کردن (شبیه به رول کردن شیرینی) یا همون تجمیع تراکنشها در یک تراکنش واحد روی لایه 1 میپردازند. این امر، کارمزد تراکنشهای لایه یک را بین همه افراد حاضر در رول آپ توزیع کرده و باعث ارزانترشدنشان برای تمامی کاربران میشود. تراکنشهای رولاپ نیز خارج از لایه 1 انجام میشوند، اما دادههای آن دوباره به این زنجیره برمیگردند. بنابراین، با انتشار دادههای تراکنشی روی لایه یک، رول آپها از امنیت اتریوم استفاده خواهند کرد.
حال دو رویکرد متفاوت در رول آپها وجود دارد: رول آپ آپتیمیستیک و دانش صفر. این روشها در نحوه انتشار دادهها روی لایه 1 با یکدیگر متفاوتاند.
رول آپ دانش صفر یا زی کی رولآپ (ZK Rollup)
پرداختن دقیق به تمامی جنبههای نحوه کار رول آپهای دانش صفر بسیار تخصصی و از حوصله این بحث خارج است، اما در این قسمت سعی میکنیم به زبانی ساده این فرآیند را تشریح کنیم.
رول آپهای دانش صفر (Zero-knowledge Rollup) تراکنشها را در دستههایی که خارج از زنجیره اجرا میشوند، گروهبندی و تجمیع میکنند. این محاسبات برون زنجیرهای باعث کاهش مقدار داده مورد نیاز برای انتشار روی بلاک چین اصلی میشود. در این حالت، اپراتورهای رول آپ زی کی بهجای ارسال هر تراکنش بهصورت مجزا، خلاصهای از تغییرات لازم به نمایندگی از تمام تراکنشهای داخل یک دسته را ثبت میکنند.
این افراد همچنین با تولید اثباتهای اعتبار یا گواههای تصدیق (Validity Proof – این گواه را با Proof of Authority که آن هم اثبات اعتبار ترجمه میشود اشتباه نگیرید)، درستی این تغییرات را اثبات میکنند. گواه تصدیق با ایجاد تضمین رمزنگاری خود نشان میدهد که تغییرات اعمالشده در وضعیت اتریوم، نتیجه نهایی حقیقی اجرای تمام تراکنشها در گروه مربوطه هستند.
وضعیت رول آپ دانش صفر نیز توسط یک قرارداد هوشمند مستقر روی شبکه اتریوم مشخص میشود. حالا برای بهروزرسانی وضعیت، نودهای رول آپ زی کی باید برای تایید فعالیت خود، یک گواه تصدیق را ثبت کنند. همانطور که گفتیم، گواه تصدیق نوعی تضمین رمزنگاری است که نشان میدهد تغییر وضعیت پیشنهادی توسط رولاپ، واقعا نتیجه اجرای تمام تراکنشهای داخل گروه و دسته مربوطه است. این یعنی رول آپهای زی کی برای نهاییسازی تراکنشها روی اتریوم، بهجای انتشار تمامی دادههای تراکنشها روی زنجیره (نظیر کاری که رولاپ آپتیمیستیک انجام میدهد)، تنها به گواههای تصدیق نیاز دارند.
نحوه تعامل رول آپ زی کی با اتریوم
معماری محوری رول آپ زی کی دارای دو جزء است:
- قرارداد درون زنجیرهای: همانطور که گفتیم، رول آپ دانش صفر توسط قراردادهای هوشمند روی اتریوم کنترل میشود. این عملیات شامل یک قرارداد اصلی است که بلاکهای رول آپ را ذخیره و واریزیها را پیگیری کرده و بر بهروزرسانیها نظارت دارد. یک قرارداد درون زنجیرهای دیگر نیز که به آن قرارداد تاییدکننده (Verifier Contract) میگویند، گواههای دانش صفر ثبتشده توسط تولیدکننده بلاک را اعتبارسنجی میکند. بنابراین، اتریوم نقش لایه پایهای یا «لایه 1» رول آپ زی کی را ایفا میکند.
- ماشین مجازی برون زنجیرهای: با اینکه پروتکل رولاپ زی کی روی اتریوم قرار دارد، اما اجرای تراکنشها و ذخیره وضعیت، روی یک ماشین مجازی اتریوم مجزا و مستقل از EVM اتفاق میافتد. این ماشین مجازی برون زنجیرهای همان محیط اجرای تراکنشها برای رول آپ زی کی است و بهعنوان یک لایه ثانویه یا «لایه 2» برای این پروتکل عمل میکند. گواههای تصدیق تاییدشده روی شبکه اصلی اتریوم نیز تضمینی بر درستی بهروزرسانی وضعیت در ماشین مجازی برون زنجیرهای هستند.
نحوه مقاومت در برابر سانسور در رول آپهای زی کی
اکثر رول آپهای دانش صفر برای اجرای تراکنشها، تولید دستهها و ثبت بلاکها در لایه 1، از اپراتوری به نام «سوپر نود (SuperNode)» استفاده میکنند. با اینکه استفاده از سوپر نود مقرونبهصرفه است، اما ریسک سانسور را هم افزایش میدهد؛ اپراتورهای مخرب رول آپ زی کی با عدم پذیرش تراکنشهای کاربران در دستهها، قادر به سانسور کاربران هستند.
به همین خاطر، رول آپهای دانش صفر بهعنوان یک اقدام امنیتی، به کاربران اجازه میدهند تا در صورت داشتن حس سانسور توسط اپراتور مربوطه، تراکنشهای خود را مستقیما در قرارداد رول آپ روی شبکه اصلی ثبت کنند. این قابلیت بدون نیاز به اجازه اپراتور، راه خروجی از رولاپ زی کی و ورود به اتریوم برای کاربران فراهم میکند.
نحوه کار کارمزدهای رول آپ دانش صفر
همانند شبکه اصلی، میزان کارمزد پرداختی برای تراکنشهای روی رول آپهای زی کی نیز به کارمزد گس بستگی دارد. با این وجود، کارمزدهای گس در لایه 2 عملکرد متفاوتی داشته و تحت تاثیر هزینههای زیر هستند:
- نگارش وضعیت: برای نگارش وضعیت اتریوم (مانند ثبت یک تراکنش روی بلاک چین آن) یک هزینه ثابت وجود دارد. رول آپهای دانش صفر با دستهبندی تراکنشها و توزیع هزینههای ثابت بین چندین کاربر، این هزینه را کاهش میدهند.
- انتشار داده: رولاپهای زی کی برای هر تراکنش روی اتریوم، دادههای وضعیت را بهعنوان “Calldata” منتشر میکنند. کالدیتا جایی است که دادههای داخل درخواستهای خروجی به سمت عملیات قرارداد هوشمند، درون آن ذخیره میشوند. سپس اطلاعات داخل کالدیتا روی بلاک چین منتشر شده و اجازه تغییر مستقلانه ساختار وضعیت رول آپ را به همه افراد میدهد. هزینههای کالدیتا در حال حاضر توسط EIP-1559 مشخص میشود. این هزینه شامل 16 گس برای بایتهای غیر صفر و 4 گس برای بایتهای صفر در هر کالدیتا است. در نهایت، هزینه پرداختی برای هر تراکنش، بر اساس مقدار کالدیتای مورد نیاز جهت انتشار روی زنجیره اصلی مشخص میشود.
- کارمزدهای اپراتور لایه 2: این کارمزد مقداری است که باید بهعنوان جبران هزینههای محاسباتی در فرآیند پردازش تراکنشها، شبیه به کارمزد ماینرهای اتریوم، به اپراتور لایه دو پرداخت شود.
- تولید گواه و تصدیق: اپراتورهای رول آپ زی کی باید برای دستههای تراکنشها به تولید گواه تصدیق بپردازند که حکم مشوق را دارد. تایید گواههای دانش صفر در شبکه اصلی نیز مشمول پرداخت تقریبا 500,000 گس است.
سوای تراکنشهای دستهای، رول آپهای زی کی با فشردهسازی دادههای تراکنشها باعث کاهش کارمزدها میشوند. میتوانید برای مشاهده هزینه آنی و لحظهای استفاده از رولاپهای زی کی و آپتیمیستیک اتریوم، به این لینک مراجعه کنید.
مزایا و معایب رول آپ های زی کی
مزایا | معایب |
گواههای تصدیق درستی تراکنشهای برون زنجیرهای را تضمین کرده و از بهروزرسانی ناردست وضعیت جلوگیری میکنند. | هزینه محاسبه و اعتبارسنجی گواههای تصدیق بالاست و میتواند باعث افزایش کارمزدهای کاربران رول آپها شود. |
بهدلیل تایید بهروزرسانی وضعیت شبکه پس از تایید گواههای تصدیق در لایه 1، نهاییسازی سریعتر تراکنشها را رقم میزند. | ساخت رول آپهای سازگار با ماشین مجازی اتریوم بهخاطر پیچیدگی فناوری دانش صفر، بسیار دشوار است. |
برای تامین امنیت، نه درستی کار فعالین شبکه مشابه آنچه در رول آپ آپتیمیستیک اتفاق میافتد، بر مکانیزم رمزنگاری عمومی متکی است. | تولید گواههای تصدیق به سختافزار تخصصی نیاز دارد که باعث تشویق کنترل متمرکز زنجیره توسط چند حزب خاص میشود. |
دادههای مورد نیاز برای بازیابی وضعیت برون زنجیرهای روی لایه 1 را ذخیره میکند که باعث تضمین امنیت، مقاومت در برابر سانسو و تمرکززدایی میشود. | اپراتورهای متمرکز میتوانند روی ترتیببندی تراکنشها اثر بگذارند. |
فشردهسازی بهتر دادهها میتواند به کاهش هزینه انتشار کالدیتا در اتریوم و حداقلسازی کارمزد رول آپ برای کاربران کمک کند. | نیازمندیهای سخت افزاری میتواند باعث کاهش تعداد فعالین شبکه و افزایش ریسک اپراتورهای مخرب و درنتیجه، انسداد وضعیت رول آپ و سانسور کاربران شود. |
نمونه کاربرد راهحلهای رول آپ زی کی در پروژهها
رول آپهای دانش صفر امروزه در پروژههای مختلفی کاربرد دارند که در این قسمت، به برخی از آنها میپردازیم.
پالیگان هرمز (Polygon Hermez)
هرمز یک پلتفرم لایه 2 است که برای ارائه راهحلهای پرداخت همتابههمتای سریعتر و ارزانتر به کاربران خرد و شرکتها، از رول آپهای زی کی استفاده میکند. این پروژه در مارس 2021 (اسفند 99) راهاندازی شد و طی یک سال توانست علاقه پالیگان که خود یک راهحل لایه 2 است را به خود جلب کند.
در اوایل اوت 2021 ( اواسط مرداد 1400)، پالیگان این پروژه را به قیمت 250 میلیون دلار خریداری کرد و برند آن را به هرمز پالیگان تغییر دارد. پلتفرم هرمز همچنان روی شبکه خود کار میکند، اما شاید با تحولات فنی در آینده، این امر نیز تغییر یابد.
ذات راهحل هرمز در طرح مزایده آن نهفته است که برای پردازش تراکنشها، نودهای هماهنگکننده (Coordinator Node) را انتخاب میکند. برای تبدیل شدن به یک هماهنگکننده، شما باید با استفاده از ارز دیجیتال HEZ محلی این پلتفرم، یک پیشنهاد ارائه کنید. سپس، بخشی از رمز ارزهای شما به انواع سرویسهای اجتماعی در حال اجرا روی اتریوم تعلق میگیرد. در پلتفرم هرمز، این فرآیند پیشنهادگذاری «اثبات اهدا (Proof of Donation)» نام دارد. با اینکه تمام این فرآیند با استفاده از رمز ارز HEZ انجام میشود، اما احتمال استفاده از توکن MATIC محلی شبکه پالیگان در آینده وجود دارد.
اسکایور (Skyware)
اسکایور شرکتی است که دو راهحل رول آپ دانش صفر به نامهای StarkNet و StarkEx را ارائه کرده است. StarkNet پلتفرمی برای توسعه اپلیکیشنهای غیر متمرکز بسیار مقیاس پذیر است و هدف اصلی آن، ارائه میزان بالای مقیاس پذیری به توسعهدهندگان برنامههاست که دستیابی به آن بهتنهایی روی لایه 1 اتریوم امکانپذیر نیست.
محصول دیگر این شرکت بهنام StarkEx نیز یک راهحل لایه 2 است که بازار هدف آن را عمدتا توسعهدهندگان حوزه دیفای و NFTها تشکیل میدهد. برخی از برنامههای استفادهکننده از محصول StarkEx شامل صرافی غیر متمرکز dYdX و پلتفرم ان اف تی Sorare هستند. توسعهدهندگان پروژههای دیفای و ان اف تی همچنین میتوانند با استفاده از محیط آزمایشی StarkEx بهنام Playground، پیش از انتشار به بررسی برنامههای خود بپردازند.
لوپرینگ (Loopring)
لوپرینگ نیز یک راهحل رول آپ زی کی لایه دو است که صرافیهای غیرمتمرکز و دیگر برنامههای پرداخت را هدف قرار داده است. بر اساس ادعای این پلتفرم، با استفاده از لوپرینگ امکان افزایش 1,000 برابری سرعت و کاهش 100 برابری کارمزدها نسبت به اتریوم وجود دارد.
این پلتفرم در سال 2017 معرفی شد و شبکه اصلی آن در سال 2019 کار خود را آغاز کرد. اخیرا نیز یک سری گمانهزنیها درباره ادغام احتمالی لوپرینگ با پلتفرم ان اف تی GameStop مطرح شده است. در این صورت، تمرکز بر حوزه NFT نیز به دیگر اهداف این پلتفرم اضافه خواهد شد.
رول آپ آپتیمیستیک (Optimistic Rollup)
رولاپ آپتیمیستیک رویکرد دیگری در مقیاس پذیری اتریوم است که انتقال محاسبات و ذخیره وضعیت به خارج از شبکه را شامل میشود. رول آپهای آپتیمیستیک تراکنشها را خارج از اتریوم اجرا، اما دادههای مربوطه را بهعنوان کالدیتا در شبکه اصلی منتشر میکنند.
اپراتورهای رول آپ آپتیمیستیک پیش از ثبت تراکنشها روی اتریوم، چندین تراکنش برون زنجیرهای را در یک دسته بزرگتر قرار میدهند. این رویکرد باعث تقسیم هزینههای ثابت بین چندین تراکنش در هر دسته و کاهش کارمزدها برای کاربران نهایی میشود. رول آپهای آپتیمیستیک همچنین از تکنیکهای فشردهسازی برای کاهش مقدار داده منتشرشده روی اتریوم استفاده میکنند.
از آنجایی که فرضیه اولیه رول آپهای آپتیمیستیک معتبر بودن تراکنشهای برون زنجیرهای است و برخلاف رول آپهای زی کی گواه تصدیق دستههای تراکنشهای انتشاریافته روی زنجیره را منتشر نمیکنند، به آنها “Optimistic” میگویند که این لغت در فارسی «خوشبینانه» ترجمه میشود. بنابراین، عدم انتشار گواههای تصدیق برای تراکنشهای برون زنجیرهای در رولاپهای آپتیمیستیک، حسن تمایز آنها نسبت به رول آپهای زی کی است که به انتشار آنها نیاز دارند.
در عوض، رولهای آپتیمیستیک برای شناسایی موارد مربوط به عدم محاسبه درست تراکنشها، به یک طرح ضدتقلب نیاز دارند. پس از ثبت یک دسته تراکنش روی اتریوم، یک پنجره زمانی بهنام «بازه چالش (Challenge Period)» وجود که در آن هر کسی میتواند با محاسبه اثبات یا گواه تقلب (Fraud Proof)، نتایج یک تراکنش رولآپشده را به چالش بکشد.
حال اگر اثبات تقلب مربوطه با موفقیت انجام شود، پروتکل رول آپ دوباره تراکنش(ها) را اجرا کرده و متعاقبا، وضعیت آن را بهروزرسانی میکند. تاثیر دیگر موفقیتآمیز بودن اثبات تقلب این است که فرد مسئول (معرف به Sequencer) در انتخاب تراکنش نادرست در بلاک، جریمه میشود.
اگر هم دسته رول آپ به چالش کشیده نشود (و تمامی تراکنشهای داخل آن بهدرستی اجرا شده باشند)، پس از اتمام بازه چالش، معتبر تلقی شده و روی اتریوم ثبت میشود. در این حالت، دیگران نیز میتوانند به تولید بلاکهای تاییدنشده رولاپ ادامه دهند، اما یک قانون برای این کار وجود دارد: در صورت تولید بلاکهای جدید بر اساس تراکنشهای اجراشده نادرست قبلی، نتایج تراکنشهای جدید نیز معکوس میشوند.
نحوه تعامل رول آپ آپتیمیستیک با اتریوم
همانطور که گفتیم، رول آپهای آپتیمیستیک از راهحلهای مقیاس پذیری برون زنجیرهای هستند که روی اتریوم ساخته شدهاند و از نظر نحوه انتشار داده تراکنشها روی این بلاک چین با رول آپهای زی کی تفاوت دارند.
هر رول آپ آپتیمیستیک توسط مجموعهای از قراردادهای هوشمند روی شبکه اتریوم مدیریت میشود. این رول آپها تراکنشها را خارج از زنجیره اصلی اتریوم پردازش، اما آنها را بهصورت دستهای در یک قرارداد رولآپ درون زنجیرهای منتشر میکنند. همانند خود بلاک چین اتریوم، این سابقه تراکنشها غیر قابل تغییر است و یک «زنجیره رول آپ آپتیمیستیک» را شکل میدهد.
معماری یک رول آپ آپمتیمیستیک شامل اجزاء زیر است:
- قراردادهای درون زنجیرهای: عملیات رول آپهای آپتیمیستیک توسط قراردادهای هوشمند اتریوم کنترل میشود. این عملیات شامل قراردادهایی است که به ذخیره بلاکهای رول آپ، نظارت بر بهروزرسانی وضعیت آن و پیگیری واریزیهای کاربران میپردازد. در این حالت، اتریوم نقش لایه پایهای یا همان «لایه 1» را برای رول آپهای آپتیمیستیک ایفا میکند.
- ماشین مجازی برون زنجیرهای: با وجودی که قرارداد مدیریتکننده پروتکل رولاپ آپتیمیستیک روی اتریوم اجرا میشود، اما این پروتکل خود وظیفه محاسبه و ذخیرهسازی وضعیت روی یک ماشین مجازی مجزا از ماشین مجازی اتریوم (EVM) را بر عهده دارد. این ماشین مجازی برون زنجیرهای همان جایی است که اپلیکیشنها روی آن حضور داشته و تغییرات وضعیت روی آن اعمال میشود؛ این ماشین مجازی بهعنوان یک لایه ثانویه یا همان «لایه 2» برای رول آپ آپتیمیستیک عمل میکند.
از آنجایی که رول آپهای آپتیمیستیک برای اجرای برنامههای نوشتهشده یا کامپایلشده برای EVM طراحی شدهاند، این ماشین مجازی برون زنجیرهای نیز دارای بسیاری از مشخصات ماشین مجازی اتریوم است. علاوه بر این، گواههای تقلب ثبتشده روی زنجیره نیز به شبکه اتریوم اجازه میدهند تا اعتبار تغییرات وضعیت روی ماشین مجازی برون زنجیرهای را تقویت کنند.
از آنجایی که رول آپهای آپتیمیستیک در کنار حضور بهعنوان یک پروتکل مجزا، خصیصههای امنیتیشان از اتریوم گرفته شده، به آنها لقب «راهحلهای مقیاس پذیری هیبرید (دوگانه)» نیز داده شده است. بنابراین در کنار دیگر ویژگیها، اتریوم نیز صحت درستی محاسبات برون زنجیرهای یک رول آپ و دسترسی به دادههای پشت این محاسبات را تضمین میکند. این امر باعث بیشتر شدن امنیت رولاپهای آپتیمیستیک نسبت به پروتکلهای مقیاس پذیری برون زنجیرهای صرف (مانند ساید چینها) میشود که برای تامین امنیت به اتریوم متکی نیستند.
نحوه مقاومت در برابر سانسور در رول آپهای آپتیمیستیک
رول آپهای آپتیمیستیک نیز برای مقاومت در برابر سانسور به اتریوم متکی هستند. در یک رول آپ آپتیمیستیک، یک موجودیت متمرکز (همان اپراتور) مسئول پردازش تراکنشها و ثبت بلاکهای رول آپ در اتریوم است. این فرآیند شامل جزئیات زیر است:
- اپراتور رول آپ میتواند با آفلاین شدن کامل یا عدم تولید بلاکهایی که حاوی یک سری تراکنش خاص در آن هستند، کاربران را سانسور کند.
- اپراتورهای رول آپ با عدم ارائه دادههای وضعیت لازم برای گواههای مرکل (Merkle Proof) مالکیت، قادر به جلوگیری از برداشت ارزهای واریزی در قرارداد رولآپ هستند. گواه مرکل یک مقدار است که برای هش کردن دادهها در درخت مرکل بهکار میرود (پرداختن به جزئیات به دلیل تخصصی بودن این موضوع از حوصله این بحث خارج است). عدم ارائه دادههای وضعیت همچنین باعث مخفی کردن وضعیت رول آپ مربوطه از دید کاربران و جلوگیری از تعامل با آن میشود.
رول آپهای آپتیمیستیک با وادار کردن اپراتورها به انتشار دادههای مربوط به آپدیتهای وضعیت روی اتریوم، این مشکل را رفع میکنند. انتشار دادههای رول آپ روی زنجیره نیز مزیتهای زیر را بههمراه دارد:
- در صورت آفلاین شدن یا توقف تولید دستههای تراکنشها توسط اپراتور، یک نود دیگر برای بازتولید آخرین وضعیت رولاپ و ادامه تولید بلاکها، قادر به استفاده از دادههای موجود است.
- کاربران میتوانند برای تولید گواههای مرکل و اثبات مالکیت وجوه و برداشت داراییهای خود از رول آپ، از دادههای تراکنشها استفاده کنند.
- کاربران همچنین بهجای تکیه بر اپراتور یا همان سیکوئنسر (Sequencer)، قادر به ثبت تراکنشهای خود روی لایه 1 هستند.
نحوه کار کارمزدهای رول آپ آپتیمیستیک
رول آپهای آپتیمیستیک مشابه اتریوم، از طرح کارمزد گس برای تعیین مقدار هزینه تراکنشها استفاده میکنند. میزان کارمزد دریافتی در رول آپهای آپتیمیستیک به عناصر زیر بستگی دارد:
- نگارش وضعیت: رول آپهای آپتیمیستیک دادههای تراکنش و عنوان بلاک (Block Header – شامل هش بلاک قبلی، روت وضعیت و روت دسته) را بهعنوان “Calldata” روی اتریوم منتشر میکنند. حداقل هزینه یک تراکنش اتریوم 21,000 گس است. حال رول آپهای آپتیمیستیک میتوانند با تجمیع و دسته کردن چند تراکنش در یک بلاک واحد، هزینه نگارش تراکنشها روی لایه 1 را (که با توزیع هزینه بین چند کاربر همراه است) کاهش دهند.
- کال دیتا: علاوه بر کامزد پایه، هزینه هر نگارش وضعیت نیز به اندازه کال دیتای منتشرشده روی لایه 1 بستگی دارد. هزینههای کالدیتا در حال حاضر توسط EIP-1559 تعیین میشوند. بایتهای غیر صفر کال دیتا 16 گس و بایتهای صفر 4 گس هزینه دارند. حال برای کاهش کارمزدها، اپراتورهای رولاپ تراکنشها را فشرده کرده و تعداد بایتهای کالدیتا مورد نیاز برای انتشار روی اتریوم را کاهش میدهند.
- کارمزدهای اپراتور لایه 2: این کارمزد مقداری است که باید بهعنوان جبران هزینههای محاسباتی در فرآیند پردازش تراکنشها، شبیه به کارمزد ماینرهای استخراج اتریوم، به نودهای رول آپ مربوطه پرداخت شود. از آنجایی که ظرفیت پردازش لایه 2 بالاتر است و با ازدحامی که اولویتبندی تراکنشها و در نتیجه دریافت کارمزد بالاتر را به همراه دارد مواجه نمیشود، این نودها نیز کارمزد کمتری دریافت میکنند.
مزایا و معایب استفاده از رول آپهای آپتیمیستیک
مزایا | معایب |
بهبود شگرف مقیاس پذیری بدون فدا کردن امنیت یا تمرکززدایی | تاخیر در نهاییسازی تراکنشها بهخاطر چالشهای تقلب بالقوه |
ذخیره داده روی زنجیره لایه یک، بهبود شفافیت، امنیت و مقاومت در برابر سانسور | اپراتورهای متمرکز (سیکوئنسرها) قادر به تاثیرگذاری بر ترتیب پردازش تراکنشها هستند. |
اثبات تقلب نهاییسازی غیرمتمرکز را تضمین کرده و اجازه مشارکت در تامین امنیت زنجیره را به اقلیتهای درستکار میدهد. | در صورت عدم وجود نودهای درستکار، یک اپراتور مخرب میتواند با ثبت بلاکهای نامعتبر و تعهدات وضعیت، وجوه کاربران را سرقت کند. |
برخلاف گواههای تصدیق (در رول آپهای زی کی) که به سختافزارهای تخصصی نیاز دارند، ارزیابی گواههای تقلب برای نودهای عادی لایه 2 در دسترس است. | مدل امنیتی به حداقل یک نود درستکار برای اجرای تراکنشهای رول آپ و ثبت گواههای تقلب جهت به چالش کشیدن وضعیت نامعتبر شبکه وابسته است. |
رول آپهای آپتیمستیک برای افزایش امنیت زنجیره، به مشوقهای اقتصادی کارا متکی هستند. | کاربران پیش از برداشت و بازگشت وجوه به اتریوم، ملزم به اتمام بازه چالش یک هفتهای هستند. |
سازگاری با ماشین مجازی اتریوم و زبان سالیدیتی (Solidity) به برنامهنویسان اجازه میدهد تا قراردادهای هوشمند مختص این بلاک چین را در رولاپها نوشته یا از ابزارهای موجود برای توسعه اپلیکیشنهای غیر متمرکز جدید استفاده کنند. | رول آپها ملزم به انتشار تمام دادههای تراکنشها روی زنجیره هستند که میتواند باعث افزایش هزینهها شود. |
نمونه کاربرد راهحلهای رول آپتیمیستیک در پروژهها
فضای رول آپ آپتیمیستیک در حال حاضر بین دو رقیب بزرگ بهنام Optimism و Arbitrum جا باز کرده است. هر دوی این پروتکلها موفقیتهای اولیهای داشتهاند، بنابراین رقابت بینشان تازه شکل گرفته است. تفاوت کلیدی بین آپتیمیزم و آربیتروم در نحوه تولید گواه تقلب است. البته هر دوی اینها نیز از نظر تعامل با ابزارها و ماشین مجازی اتریوم و ابزارها با یکدیگر تفاوت دارند.
آپتیمیزم (Optimism)
آپتیمیزم اولین پروتکل رول آپ در حوزه بلاک چین بود که شبکه اصلی خود را راهاندازی کرد. نحوه رولآپ کردن تراکنشها در آپتیمیزم بهصورت زیر است:
- ابتدا یک قرارداد هوشمند دادههای تراکنش را از شبکه اصلی اتریوم به یک شبکه لایه 2 میفرستد؛ یعنی جایی که یک سیکوئنسر قادر به دسته کردن چندین تراکنش و سپس ارسال آن به زنجیره اصلی در یک تراکنش واحد است.
- همانطور که گفتیم، سیکوئنسرها در رول آپ آپتیمیستیک با فرض معتبر بودن تراکنشها این کار را انجام میدهند و یک بازه یک هفتهای برای به چالش کشیدن این فرض در این سیستم وجود دارد. اگر اشتباهی در رولاپ مربوطه وجود داشته باشد، به معنای خطای فرد مسئول است.
- در لایه 1، کل تراکنش لایه 2 انجام میشود. در این حالت، میتوان گواهها را تهیه کرد. این قابلیت برای تولید بسیار سریع گواهها مناسب است.
آربیتروم (Arbitrum)
بهخاطر تاخیر در عرضه آپتیمیزم، پروژه آربیتروم در 31 می 2022 (10 خرداد 1401) عرضه شد و رهبری رول آپهای آپتیمیستیک را به دست گرفت. همانطور که گفتیم، آربیتروم و آپتیمیزم شباهتهای بسیاری به یکدیگر دارند و تفاوت اصلی آنها، در نحوه تولید گواه تقلب است.
برخلاف آپتیمیزم، آربیتروم کل تراکنش لایه 2 را اجرا نمیکند و در عوض، به اجرای بخش کوچکی از تراکنش تا زمان پیدا کرن یک اشتباه میپردازد. این روش باعث افزایش تعداد تراکنشهای قابل پردازش میشود ولی از طرف دیگر، کسب گواه تقلب 2 هفته زمان میبرد که نسبت به آپتیمیزم طولانیتر است.
از نظر سازگاری، آربیتروم توانایی صحبت به تمام زبانهای ماشین مجازی اتریوم نظیر YUL ،Vyper و Solidity دارد و همچنین دارای یک نود لایه 2 اختصاصی است. هر دوی آربیتروم و آپتیمیزم از رمز ارز ETH برای پرداخت کارمزد تراکنشها استفاده میکنند.
جمعبندی
راهحلهای مقیاس پذیری اتریوم به دو دسته کلی درون زنجیرهای و برون رنجیرهای تقسیم میشوند که رول آپ های آپتیمیستیک (Optimistic Rollup) و دانش صفر یا زی کی (ZK Rollup)، از جمله روشهای لایه 2 برون زنجیرهای هستند. این راهحلها علاوه بر بهبود مقیاسپذیری، کاهش کارمزدها، افزایش سرعت تراکنشها و کاهش ازدحام و شلوغی شبکه را به همراه دارند که در نهایت، باعث بهبود تجربه کاربری میشوند.