شبکه اتریوم، شبکه نسل دومی است که سعی کرد پا را فراتر بگذارد و اکوسیستمی را که بیتکوین معرفی کرده بود، گسترش دهد؛ اما در راه خود، به مشکلی برخورد کرد به نام مقیاسپذیری (Scalability). این مشکل باعث شد سرعت شبکه اتریوم کاهش و هزینه کارمزد تراکنشها افزایش پیدا کند. در مرحله بعد، پروژههای مختلفی برای حل این مشکل ارائه شد. پروژههایی مثل پالیگان (Polygon)، آربیتروم (Arbitrum)، لوپرینگ (Loopring) و آپتیمیزم (Optimism). هرکدام از این پروژهها، روشهای مختلفی را ارائه کردند که در این مقاله به این میپردازیم که اصلا آپتیمیزم چیست و این پروژه و توکن آن یعنی «OP» را به طور کامل توضیح میدهیم.
آپتیمیزم چیست؟
آپتیمیزم یک بلاکچین لایه 2 بر بستر اتریوم است. شبکه آپتیمیزم باعث میشود اتریوم، به شبکهای ارزانتر و پرسرعتتر تبدیل شود. این شبکه برای حل مشکل مقیاس پذیری از راهحل لایه 2 Optimistic Rollup (جمعآوری خوشبینانه) استفاده میکند. در این راهحل، محاسبات ثبت تراکنشهای لایه 2، در خارج از زنجیره خود اتفاق میافتد. شبکه خارجی که نقش تائید کننده خارجی را دارد، این تراکنشها را به صورت دستهای چک میکند تا معتبر باشند و در مرحله بعد، این حالت (State) جدید شبکه بروزرسانی میشود.
برای مطالعه: اصطلاحات پرکاربرد در دنیای ارز دیجیتال
کار شبکه آپتیمیزم هم به همین صورت است که تراکنشها داخل شبکه ذخیره میشوند و در نهایت امنیت آنها در اتریوم برقرار میشود، نه در شبکه آپتیمیزم.
فلسفه طراحی آپتیمیزم
آپتیمیزم براساس فلسفهای طراحی شده که این فلسفه بر پایه چهار چیز است: سادگی (simplicity)، عملگرایی (pragmatism)، پایداری (sustainability) و خوشبینی (optimism).
برای مطالعه: معرفی انواع کیف پول ارز دیجیتال
- سادگی
شبکه آپتیمیزم به سادهترین شکل ممکن ساخته شده است. به همین دلیل، برای ایجاد امنیت، مقیاسپذیری و انعطافپذیری سیستم لایه 2، باید از محدودترین ابزارهای مورد نیاز ساخته شده باشد. این سادگی، به آپتیمیزم مزایایی را میدهد که بقیه راهحلهای لایه 2 پیچیده آنها را ندارند. آپتیمیزم ترجیح میدهد که تا حد ممکن از کدهای موجود و زیرساخت اتریوم استفاده کند.
سادگی همچنین به ما امنیت بهتری هم میدهد. هر خط کدی که نوشته میشود، فرصتی برای تولید یک باگ و اشتباه است. اما اگر از کدهای سادهتری استفاده شود، این اشتباهات هم کاهش پیدا میکند.
سادگی همچنین برای چشمانداز بلندمدت شبکه آپتیمیزم هم اهمیت دارد. با محدود کردن کدهایی که روی اتریوم نوشته میشود، باعث میشود که زمان بیشتری روی پایگاههای کد (Codebases) موجود گذاشته شود. پایگاه کد مجموعهای از کد منبع است که برای ساختن یک سیستم نرم افزاری خاص استفاده میشود.
- عملگرایی
تیم مرکزی شبکه آپتیمیزم، محدودیتهای دنیای واقعی را دارد به همین صورت پروژههایی که روی شبکه آپتیمیزم ساخته میشوند، نیازهای دنیای واقعی را دارند و همچنین کاربران شبکه آپتیمیزم هم مشکلات دنیای واقعی را دارند. آپتیمیزم به گونهای طراحی شده که نیازهای کاربران و توسعهدهندگان خود را اولویت قرار داده است.
- پایداری
این شبکه آمده که بماند. معمولاً توسعهدهندگان نیاز دارند بدانند که پلتفرمی که برنامه خود را روی آن اجرا میکنند، در طولانی مدت همچنان وجود داشته باشد و ویژگی رقابتی خود را حفظ کند. فرایند طراحی این شبکه به گونهای بوده که در اصل برای طولانی مدت ساخته شود و این شبکه میانبری برای حل مشکل مقیاسپذیری طی نکند.
پایداری این شبکه به گونهای روی پروتکلش تاثیر گذاشته که کاملاً با سادگی آن متصل و مرتبط است. هرچه پایگاه کد پیچیدهتر باشد، مشارکت برای تیم توسعهدهندگان هم سختتر است. آپتیمیزم با ساده نگهداشتن پایگاه کد خود، جامعه مشارکتکنندگان خود را بزرگتر میکند که در پایداری این شبکه در طولانی مدت تاثیر دارد.
- خوشبینی
جدا از موارد گفته شده، شبکه آپتیمیزم نیاز به مقداری خوشبینی دارد. در اصل خوشبینی به آینده اتریوم باعث شده که این پروژه پیشرفت کند. با اینکه این شبکه مثل یک بلاکچین جدا و مستقل است؛ اما مثل یک افزونه برای اتریوم عمل میکند. این شبکه ساخته شده که اتریوم را به موفقیت برساند و مسیرش را سادهتر کند.
پروتکل Rollup
تا الان به صورت کلی در مورد شبکه آپتیمیزم توضیح دادهایم. در ادامه به این میرسیم که در اصل چه چیزی آپتیمیزم را ممکن میکند. ابتدا توضیحی درمورد اینکه Optimistic Rollup چگونه کار میکند میدهیم و سپس به این میپردازیم که چرا آپتیمیزم از این پروتکل استفاده میکند.
برای مطالعه: معرفی کامل پروژه ترون (TRX)
برای مطالعه: معرفی کامل ارز دیجیتال ایپ کوین (ApeCoin)
Optimistic Rollups
به شبکهای Optimistic Rollup میگویند که از امنیت شبکه مادر خود استفاده میکند. این شبکهها به جای اینکه برای خودشان یک مکانیزم اجماع داشته باشند، از مکانیزم اجماع زنجیره مادر خود استفاده میکنند. در خصوص این شبکه، بلاکچین مادر آن اتریوم است و از الگوریتم اجماع آن برای تامین امنیت خود استفاده میکند.
ذخیره بلاک
همه بلاکهای شبکه در قرارداد هوشمند ویژهای به نام CanonicalTransactonChain (CTC) ذخیره میشود. بلاکهای این شبکه در لیستی که فقط قابلیت اضافه شدن دارد، درون CTC ذخیره میشوند. این لیست در اصل بلاکچین آپتیمیزم است.
CTC شامل کدی است که تضمین میکند لیست بلاکهای موجود در آن، توسط تراکنشهای جدید اتریوم اصلاح نشوند و تغییر نکنند. با این حال، اگر بلاکچین اتریوم مجدداً سازماندهی شود و ترتیب تراکنشهای گذشته اتریوم تغییر کند، این تضمین میتواند شکسته شود. شبکه اصلی آپتیمیزم به گونهای پیکربندی شده که در برابر سازماندهی مجدد بلاک تا 50 بلاک اتریوم قوی باشد. اگر اتریوم یک سازماندهی بزرگتر از این داشته باشد، این شبکه هم به همین صورت سازماندهی میشود.
البته هدف امنیتی اتریوم این است که اینگونه سازماندهیهایی نداشته باشد. بنابراین آپتیمیزم نسبت به سازماندهیهای بلاک بزرگ امن است؛ البته تا زمانی که مکانیزم اجماع اتریوم امن باشد. به همین دلیل، امنیت این شبکه وابسته به امنیت اتریوم است.
تولید بلاک
تولید بلاک شبکه آپتیمیزم توسط چیزی به نام ترتیب دهنده (Sequencer) مدیریت میشود که با ارائه خدمات زیر، به شبکه کمک میکند:
- تائید تراکنشها به صورت لحظهای و بروزرسانی حالت
- ایجاد و اجرای بلاکهای لایه 2
- ارسال تراکنش کاربران به شبکه لایه 1
به دلیل وجود این ترتیبدهنده تراکنشها بعد از دریافت، به صورت لحظهای پذیرش یا رد میشوند. زمانی که کاربر تراکنش خود را به ترتیبدهنده ارسال میکند، ترتیبدهنده معتبر بودن تراکنش را چک میکند و سپس تراکنش را در حالت محلی خود به عنوان یک بلاک معلق (Pending) اعمال میکند.
این بلاکهای معلق شده، به صورت دورهای و با دستههای بزرگ، برای نهایی شدنشان به اتریوم ارسال میشوند. این دستهبندی کردن، کارمزد تراکنشها را با پخش کردنشان بین تراکنشهای آن دسته، به مقدار قابل توجهی کاهش میدهد. همچنین ترتیبدهنده یکسری تکنیکهای فشردهسازی اعمال میکند که مقدار داده منتشر شده به اتریوم را کاهش میدهد.
به دلیل مکانیزمی که ترتیبدهنده دارد، دقیقاً مشخص است که ترتیبدهنده در بلاک معلق چه تصمیمی میخواهد بگیرد. در نتیجه، حالت شبکه لایه2 را می توان با اطمینان بسیار سریع بهروز کرد. از مزایای این کار میتوان به تجربه کاربری سریع و فوری با مواردی مانند بهروزرسانی قیمت یونیسواپ در زمان واقعی اشاره کرد.
به طور جایگزین، کاربر میتواند به طور کامل از ترتیبدهنده چشمپوشی کند و از طریق تراکنش اتریوم، تراکنشهای خود را مستقیماً به CTC ارسال کند. این روش مشخصاً پرهزینهتر است؛ زیرا کاربر باید هزینه ثابت ارسال تراکنش را خودش به طور کامل پرداخت کند و این هزینه با تراکنشهای دیگر کاهش پیدا نمیکند.
اجرای بلاک
گرههای اتریوم، بلاکها را از شبکه همتا به همتای اتریوم دانلود میکنند. اما گرههای آپتیمیزم بلاکها را مستقیماً از لیست بلاکهای نگهداری شده در CTC دانلود میکند.
گرههای آپتیمیزم از دو مؤلفه اصلی تشکیل شدهاند؛ فهرستکننده داده اتریوم و نرمافزار کلاینت آپتیمیزم. فهرستکننده داده اتریوم که به آن لایه حملونقل داده (DTL) هم میگویند، بلاکچین آپتیمیزم را با استفاده از بلاکهای منتشر شده در CTC بازسازی میکند.
در مورد جزء دوم گره این شبکه، یعنی نرمافزار کلاینت آپتیمیزم، باید بگوییم که این شبکه تقریباً مشابه اتریوم است. مخصوصاً اینکه آپتیمیزم، ماشین مجازی اتریوم (EVM)، حساب و ساختار حالت و مکانیزم کارمزد گس و برنامه کامزد یکسانی با اتریوم دارد. به طور کلی به این ویژگی معادل EVM یا EVM Equivalence گفته میشود و اکثر ابزارهای اتریوم با این شبکه سازگار است.
نرمافزار کلاینت آپتیمیزم به صورت مداوم در حال زیرنظر گرفتن DLT است تا بلاکهای جدید را پیدا کند. زمانی که یک بلاک جدید فهرست شد، نرمافزار کلاینت آن را دانلود میکند و تراکنش شامل آن را اجرا میکند. فرآیند اجرای تراکنش در آپتیمیزم، با اتریوم برابر است. به این صورت که حالت آپتیمیزم بارگذاری میشود، تراکنش جدید به آن حالت اعمال میشود و تغییرات نتیجه را ضبط و ذخیره میکند. با همین روند، این فرایند برای هر بلاک جدید اجرا میشود.
پل زدن بین لایهها
آپتیمیزم به گونهای طراحی شده که کاربران میتوانند پیغامهای دلخواه خود را بین قراردادهای هوشمند در آپتیمیزم و اتریوم ارسال کنند. این باعث میشود که انتقال داراییهای مختلف مثل توکنهای ERC20، بین این دو شبکه ممکن شود. اما این مکانیزم بسته به اینکه کدام شبکه مبدا و کدام مقصد است، متفاوت است.
انتقال از اتریوم به آپتیمیزم
برای ارسال پیام از اتریوم به آپتیمیزم از قرارداد CTC موجود در اتریوم که در بالا توضیح داده شد استفاده میشود و یک بلاک جدید در آپتیمیزم ساخته میشود. بلاکهای ایجاد شده توسط کاربر میتوانند شامل تراکنشهایی باشند که به نظر میرسد از آدرسی که بلاک را ایجاد کرده است، نشأت میگیرد.
انتقال از آپتیمیزم به اتریوم
قراردادهای موجود در آپتیمیزم نمیتوانند تراکنشی روی اتریوم، مثل روشی که اتریوم روی آپتیمیزم تولید میکند، تولید کند. در نتیجه، فرآیند انتقال داده از آپتیمیزم به اتریوم تا حدودی پیچیدهتر است. به جای تولید خودکار تراکنشهای احراز هویت، باید در عوض بتوانیم استیتمنتهای (statements) قابل اثباتی در مورد وضعیت آپتیمیزم به قراردادهای موجود در اتریوم داشته باشیم. در برنامهنویسی، یک استیتمنت به یک خط کدی میگویند که وظیفه خاصی را انجام میدهد.
برای ساخت استیتمنتهای قابل اثبات در مورد حالت آپتیمیزم، نیاز به تعهد رمزنگاری (cryptographic commitment) است. حالا تعهد رمزنگاری چیست؟
تعهد رمزنگاری، یک نمونه اولیه رمزنگاری است که به نفر اول اجازه میدهد روی یک مقدار، یا یک حالت متعهد شود، در حالی که آن را برای دیگران مخفی نگه میدارد و این ویژگی را دارد که آن مقدار، بعداً مشخص شود.
برای سادگی با یک مثال این موضوع را توضیح میدهیم. فرض کنید فرستنده پیامی را داخل یک جعبه قرار داده و در آن را قفل کرده و آن جعبه را به گیرنده داده است. گیرنده این جعبه را در دست دارد اما کلید آن را ندارد و در نتیجه نمیتواند پیام داخل آن را ببیند. اما از آنجایی که گیرنده جعبه را دارد، در نتیجه پیام داخل آن نمیتواند تغییر کند. گیرنده فقط زمانی میتواند پیام داخل آن را ببیند که فرستنده تصمیم بگیرد کلید آن را هم به گیرنده بفرستد.
حالت آپتیمیزم بعد از بلاک بروزرسانی میشود، پس تعهد هم در این زمان تغییر میکند. این تعهدها به طور منظم (تقریباً یک یا دوبار در هر ساعت) به یک قرارداد موجود در اتریوم به نام StateCommitmentChain منتشر میشود.
کاربران میتوانند از این تعهدها برای تولید اثبات Merkle tree درمورد حالت آپتیمیزم استفاده کنند. Merkle tree در رمزنگاری یک درخت است به طوری که هر برگ (گره) آن، با هش رمزنگاری یک بلاک داده برچسبگذاری شده است. این اثباتها هم توسط قراردادهای هوشمند در اتریوم تائید میشوند. آپتیمیزم یک قرارداد ارتباط زنجیرهای به نام L1CrossDomainMessenger را حفظ میکند که میتواند این اثباتها را به جای قراردادهای دیگر تائید کند. از این تعهدها میتوان برای ایجاد استیتمنتهای تائید شده استفاده کرد. از این عملکرد استفاده میشود تا قراردادهای روی آپتیمیزم بتوانند به قراردادهای روی اتریوم پیغام ارسال کنند. قراردادهای موجود در آپتیمیزم میتوانند برای ذخیره پیام در حالت آپتیمیزم از قرارداد L2ToL1MessagePasser استفاده کنند. سپس کاربران میتوانند به قراردادهای موجود در اتریوم اثبات کنند که در اصل، یک قرارداد روی آپتیمیزم با نشان دادن هش پیام ذخیره شده در قرارداد L2ToL1MessagePasser میخواهد یک پیام ارسال کند.
بنیانگذاران آپتیمیزم چه کسانی هستند؟
آپتیمیزم توسط بنیاد آپتیمیزم که یک سازمان غیرانتفاعی مختص این اکوسیستم است، هدایت میشود. آپتیمیزم کاملاً با کمکهای مالی تامین مالی شده و تعهد کرده که زیرساختی را فراهم کند که باعث رشد و پایداری کالاهای عمومی شود.
توکن OP
تخصیص توکن OP به صورت زیر است:
- صندوق سرمایه اکوسیستم (25 درصد)
- تأمین مالی معطوف به گذشته کالاهای عمومی (20 درصد)
- ایردراپ (Airdrop) کاربران (19 درصد)
- مشارکتکنندگان اصلی (19 درصد)
- سرمایهگذاران (17 درصد)
عرضه اولیه توکن OP، به مقدار 4,294,967,296 واحد با نرخ تورم 2 درصد به صورت سالانه است.
توکن OP را میتوانید از صرافیهایی از جمله کیوکوین، بایننس، یونیسواپ و کویناکس خریداری کنید. همچنین لیست بعضی از پروژههایی که بر بستر شبکه آپتیمیزم وجود دارند را در زیر میتوانید ببینید:
جمعبندی
پروژه آپتیمیزم با توکن OP یکی از پروژههای لایه2 اتریوم است که با استفاده از پروتکل Optimistic Rollup سرعت تراکنش در اتریوم را بالا و هزینه را کاهش میدهد. پروژههای دیگری به عنوان لایه2 اتریوم وجود دارد که از راه حلهای دیگری استفاده میکنند؛ آپتیمیزم پروژهای است که تا به الان روند خوبی داشته و احتمالاً آینده خوبی هم خواهد داشت.
برای مطالعه: آموزش کامل نحوه استفاده از سایت کوین مارکت کپ