
در این مقاله به بررسی نرمافزارها، پروتکلها و بلاکچینهای ماژولار (Modular) میپردازیم. علاوه بر این، در هر بخش مواردی از قبیل شباهت و تفاوتهای پلتفرمهای ماژولار با نمونههای دیگر را برای روشنتر شدن مبحث دنبال خواهیم کرد. همچنین در ادامه ساختار بلاکچین ماژولار را بررسی میکنیم و شبکه سلستیا (Celestia) را که از این فناوری استفاده میکند، مورد بررسی قرار میدهیم. در نهایت لایههای مختلف و ساختار یک بلاکچین ماژولار و نحوه عملکرد رولآپها را تشریح میکنیم. با میهن بلاکچین همراه باشید.
آشنایی با ساختار بلاکچینهای ماژولار
در بخش اول مقاله، به تعریف اصطلاحات و واژههای جدید و در بخش دوم به مقایسه بین ساختارهای یکپارچه و شبکههای بلاکچینی ماژولار میپردازیم. در بخش آخر نیز لایههای مختلف یک پلتفرم بلاکچینی را تشریح میکنیم. برای شروع، بلاکچین ماژولار و مفاهیم آن را توضیح میدهیم.
ماژولار بلاکچین یا بلاکچین ماژولار (قطعه قطعه)، یک ساختار بلاکچینی است که میتوان از لایههای مختلف آن برای یک زنجیره بیرونی استفاده کرد. این لایهها شامل لایه امنیتی (Security Layer)، محلی برای نگهداری دیتا (Data Availability Layer) و بخش اجرایی (Execution Layer) میشوند. بلاکچینهای ماژولار مزایا و قابلیتهای متعددی را در اختیار توسعهدهندگان و کاربران قرار میهند. این مزایا به شرح زیر هستند:
- توزیع امنیت
- راهاندازی یک زنجیره جدید بدون نیاز به یک سیستم اجماع جدید
- افزایش ظرفیت مقیاسپذیری بدون نیاز به افزایش تجهیزات نودها
در بلاکچینهای یکپارچه، این ۳ لایه در هم ادغام و یک سیستم بلاکچینی یکپارچه را شکل میدهند؛ اما در بلاکچین ماژولار این ۳ لایه کاملا از هم مجزا هستند و در کنار هم قرار گرفتهاند. برای درک بهتر از «بخش» باید با مفهوم دقیق ماژولار و شبکههایی که از این فناوری استفاده میکنند، آشنا شویم.
ساختار ماژولار چیست؟
ساختار ماژولار، به ترکیبی از برنامههای از پیش تنظیمشده اشاره دارد که برای ایجاد یک سرویس کامل، با هم انطباق پیدا میکنند. این ساختارها عموما به صورت استاندارد تولید میشوند و مورد استفاده قرار میگیرند. ساختارهای Modular به روشهای مختلف با یکدیگر ترکیب میشوند و به این ترتیب قابلیتهای مدنظر بخشهای مختلف را به وجود میآورند. واژه ماژولاسیون در علوم مخابرات به معنای ترکیبشدن و یا قرارگرفتن یک موج یا فرکانس بر روی موج دیگر است.
تفاوت میان بلاکچین یکپارچه و ماژولار
قبل از بررسی دقیق یک پروتکل بلاکچینی ماژولار، لازم است که ابتدا با تفاوتهای بین پروتکلها و نرمافزارهای Modular آشنا شویم. اول از همه باید بدانیم بلاکچینی که با استفاده از یک نرمافزار ماژولار شکل میگیرد را نمیتوان یک بلاکچین ماژولار دانست. دلیل این موضوع این است که یک سرویس بلاکچینی که از نرمافزار Modular استفاده میکند، ممکن است در انجام مواردی مثل رسیدن به اجماع، ثبت و درج دیتا و تکمیل و تایید نهایی تراکنش، همچنان متکی به خود باشد.
به عنوان مثال پلتفرم بلاکچینی کازموس با استفاده از پروتکل قدرتمند تندرمینت مشخصا یک اپلیکیشن است؛ اما ماژولار نیست. یک مثال دیگر AVAX C-Chain است که عملکرد هر سه لایه را خود پوشش میدهد؛ بنابراین پروتکل کازموس را نمیتوان یکی از پروتکلهای بلاکچینی Modular دانست.
اپلیکیشنهای ماژولار، نرمافزارهایی هستند که کاربردهای متنوع موجود در یک برنامه را از هم تفکیک میکند؛ بنابراین میتوان به عنوان مثال، تنها از یکی از کاربردهای نرمافزار Modular استفاده کرد و از سایر بخشها هیچ استفادهای نکرد.
مقایسه ساختار بلاکچین یکپارچه با ساختار یک بلاکچین Modular
چگونه میتوانیم یک شبکه ماژولار را از یک پروتکل یکپارچه تفکیک کنیم؟ پاسخ ساده است. به عنوان مثال در یک مورد خاص، شبکه Celestia از یک پروتکل ماژولار برخوردار است؛ چون برای یک کاربرد مشخص (فراهم کردن دیتا) مورد استفاده قرار میگیرد.
طراحی Celestia به این شکل است که لایههای اجرایی و پرداخت از آن به عنوان یک لایه تامین و نگهداری دیتا استفاده میکنند. آیا پروتکلهای دیگری هم هستند که همین کار را انجام بدهند؟ هم اکنون رولآپ آربیتروم و ZKSync دقیقا همین کار را انجام میدهند. مدیریت بخش اجرایی (تایید تراکنش) به عهده این قسمت است که خود (برای اجماع، تسویه و ثبت دیتا) به بلاکچین اتریوم وابسته است. این پروتکلها نیز ماژولار هستند.
اپلیکیشنهای بلاکچینی ماژولار
اجازه دهید برای توضیح در مورد اپلیکیشنهای فعلی بلاکچین، نگاهی به تاریخچه اتفاقات مرتبط داشته باشیم. در این بخش عملکرد بلاکچینهای امروزی، سپس اپلیکیشنهای مستقل Cosmos و در نهایت تصویری از اپلیکیشنهای ماژولار که در Celestia ایجاد میشود را بررسی خواهیم کرد.
در حال حاضر اغلب برنامههای غیرمتمرکز (Dapps)، با استفاده از ماشین مجازی اتریوم (EVM) و بر بستر بلاکچینهای فعلی مثل اتریوم ایجاد میشوند. دلیل این موضوع این است که تاکنون این راهکار پاسخگوی نیاز کاربران بوده است؛ اما اکنون با استفاده از Cosmos SDK و موتور اجماع تندرمینت، یک راهحل جدید برای تولید اپلیکیشنهای غیرمتمرکز و یکپارچه در زنجیرههای اختصاصی وجود دارد. در ادامه تفاوت ساختار بلاکچین کازمس و سلستیا را بررسی میکنیم.
ساختار بلاکچین کازمس
در بلاکچین Cosmos به جای ایجاد dapps بر روی این شبکه و فعالیت در بخشی از یک اپلیکیشن با استفاده از ماشین مجازی، میتوان dappهای متعددی به عنوان اپلیکیشنهای بلاکچینی ایجاد کرد. انجام این کار به معنای توسعه یک نرمافزار غیرمتمرکز است و تنها پیش نیاز این کار، تعیین نوع تراکنش و نحوه اعمال تغییرات است که این موارد برای هر اپلیکیشنی مورد نیاز است. این بدان معناست که نتیجه نهایی در زنجیره، همواره یکی باقی خواهد ماند و به این وسیله، سرعت و مقیاسپذیری تا حد زیادی بهبود خواهد یافت. ساختار شبکه کازمس متفاوت از ساختار یک بلاکچین ماژولار است. این بلاکچین یک پلتفرم یکپارچه است.
ساختار شبکه Celestia
در حال حاضر Celestia گامی رو به جلو برداشته و اپلیکیشن زنجیرهای ماژولار خود را ایجاد کرده است. سلستیا، یک لایه برای نگهداری دیتای بلاکچینها است که شامل رولآپها نیز میشود. زمانی که بخش اجماع و اجرای قرارداد از یکدیگر جدا هستند، دیگر نیازی به دیتای محیط آنچین در قراردادهای هوشمند نیست و تنها دیتای مورد نیاز در بخش اجماع و نگهداری دیتا است؛ بنابراین Celestia یک لایه جهت نگهداری دیتا فراهم میکند که کاربران بتوانند لایههای اجماع و قراردادهای هوشمند خود را بر روی آن ایجاد کنند. این لایهها به بررسی دادههای خود در Celestia نیاز خواهند داشت.
در نتیجه ایجاد یک سطح امنیتی قوی با سطح کمی از نیاز به اعتماد، منطقی و قابل قبول است. در نهایت میتوان اجزای یک بلاکچین ماژولار را از هسته اصلی آن بلاکچین جدا کرد و آنها را در لایههای مجزا بر لایه نگهداری دیتا (DA layer) به صورت مشترک، مورد استفاده قرار داد. به طور کلی یک پلتفرم مبتنی بر بلاکچین از ۳ لایه اصلی تشکیل میشود که به ترتیب لایه اول اجماع، لایه دوم نگهداری دیتا و لایه سوم تایید تراکنش نام دارد.
لایه نگهداری از دیتا چگونه کار میکند
این لایه به ما امکان میدهد که با دانلود حجم بسیار کمی از یک بلاک، از ثبت، انتشار و نگهداری دیتا اطمینان حاصل کنیم. این لایه باید بتواند تقلب را شناسایی و در صورت بروز تخلف، زنجیره را از اول ایجاد کند. رولآپها به این لایه نیاز دارند؛ چون این لایه امنیت آنها را تامین میکند.
در مقابل، مدل همکاری کراس چین بر دیتا کمی استوار است که عموما روش امنی به نظر نمیرسد. دلیل این موضوع این است که در کراس چین، فرض بر فعالیت صادقانه حداکثری است؛ اما در ساختار شبکه Celestia، نیازی به تکیه کردن بر فرضیه فوق نیست. دلیل این مسئله این است که این کلاینت برای تایید تراکنش استفاده نمیشود و تنها برای بررسی اجماع و نگهداری دیتا مورد استفاده قرار میگیرد. به این ترتیب میتوان یک کراس چین ایمن را به وجود آورد. لایه اصلی (DA layer) تنها وظیفه محافظت از دیتا را به عهده دارد و قرار نیست برای انجام تراکنش و تسویه مورد استفاده قرار گیرد.
نیاز رولآپ به یک لایه پرداخت
یک لایه پرداخت، با ایجاد یک ارتباط دوطرفه، نیاز به اعتماد را در پایینترین سطح ممکن قرار میدهد و تسویه با استفاده از یک قرارداد در لایه پرداخت (در اینجا رولآپها از اتریوم) انجام میشود. این قرارداد انتقال توکنها بین لایههای رولآپ و پرداخت را ممکن میکند. همانطور که قبلا توضیح دادیم، رولآپها در حال حاضر از اتریوم استفاده میکنند که این برای اپلیکیشنهای رولآپ مطلوب نیست؛ زیرا لایه پرداخت اتریوم به طور گستردهای در تراکنشهای قراردادهای هوشمند مورد استفاده قرار میگیرد. بلاکچین اتریوم برای انجام این کار نامناسب است و در مقایسه با لایههای مخصوص پرداخت، از مقیاسپذیری خوبی برخوردار نیست.
یک لایه تخصصی مطلوب پرداخت برای رولآپها، باید تنها قراردادهای هوشمند و انتقال دارایی بین رولآپها را ممکن سازد. این لایه باید بتواند سایر اپلیکیشنها (غیر از رولآپها) را وادار به استفاده از لایه پرداخت کند. لایه پرداخت در رولآپها برای دوری از راهکارهای پیچیده و مشکلات قبلی، به استفاده از رولآپهای اجرایی (انعقاد قرارداد) نیاز خواهند داشت. این بخشی از ساختار یک بلاکچین ماژولار است.
رولآپهای پروتکلهای بلاکچینی ماژولار
در نهایت، تراکنشها با سرعت و مقیاسپذیری زیادی تایید میشوند. این نشان میدهد لایه واسطه (پرداخت) یک رولآپ است که این نیز رولآپ مخصوص به خود را دارد. در یک بلاکچین معمولی، هم بخش اجماع و هم بخش اجرای قرارداد در یک لایه قرار دارند و هر دو از سوی ولیدیتورهای مشترکی مدیریت میشوند.
اما سلستیا لایههای اجماع و اجرا را از یکدیگر جدا میکند و به توسعهدهندگان امکان میدهد که دیتای اجراشده خود را بر روی بخش اصلی نگهداری دیتا قرار دهند. تراکنشها در بلاکچین توسعهدهنده باقی میماند و به این ترتیب، آنها می توانند امور تخصصی و بهینهسازی دیتای خود را انجام دهند.
لایه اجرایی (لایه ثبت تراکنش و انعقاد قرارداد) در یک قرارداد، شامل زنجیرههای اجرایی مختلفی میشود که در EVM اتریوم و یا SDK Rollups کازماس هستند. رولآپها برای تایید تراکنش در لایه اول، مقیاسپذیری مناسبی را برای توسعهدهندگان و کاربران فراهم میکنند. در حال حاضر تمام رولآپهای اتریوم، یک قرارداد بر روی اتریوم دارند که داراییهای موجود در لایه پرداخت را تایید میکند.
سلستیا به عنوان یک لایه نگهداری دیتا، شبکه EVMOS به عنوان لایه پرداخت برای رولآپها و به عنوان یک لایه اجرایی ایفای نقش میکند. مقیاسپذیری در رولآپها همانند مقیاسپذیری زنجیرههای مستقل (مثل اتریوم) است. سلستیا با در نظر گرفتن این موضوع از ابتدا، از سطح مقیاسپذیری بالایی برخوردار بوده است.
مستقل بودن پروتکلهای بلاکچینی ماژولار
یکی دیگر از مزایای بزرگ استفاده از بلاکچینهای ماژولار، حاکمیت آنها در چند بخش مختلف است. به عبارت سادهتر با استفاده از بلاکچینهای ماژولار، حاکمیت در این شبکهها میتواند در برنامههای مختلف تقسیم شود و با سایر برنامهها همپوشانی نداشته باشد. همچنین اگر مشکلی در یک برنامه به وجود بیاید، حاکمیت میتواند این مشکل را بدون تداخل با سایر برنامههای موجود در شبکه برطرف کند.
مثلا پیش از این، وقتی یک برنامه غیرمتمرکز در بلاکچین اتریوم هک میشد و سرمایه کاربران به سرقت میرفت، امکان بازگرداندن سرمایه بدون رضایت بخش حاکمیتی شبکه وجود نداشت و برای حل این مشکل نیاز به ایجاد یک هارد فورک برای بازیابی از ابتدای فعالیت زنجیره بود.
مدل کارکرد اتریوم را میتوان با وجود هارد فورک، بینیاز از مجوز (permissionless) ارزیابی کرد؛ اما کاربران از این هارد فورک استقبال نخواهند کرد، زیرا شبکه بعدی از امنیت کمتری برخوردار خواهد بود. با ایجاد فورک در ماشین مجازی اتریوم، شما در واقع مکانیسم اجماع را فورک کردهاید.
در شبکه Celestia، میتوان رولآپهایی که بر بستر این شبکه ایجاده شدهاند را فورک کرد؛ اما در شبکه اتریوم، نمیتوانید رولآپهایی که بر بستر آن ساخته شدهاند را فورک کنید، مگر اینکه فورک بر روی کل زنجیره اتریوم انجام شود؛ زیرا رول آپها از شبکه اتریوم به عنوان لایه تسویه استفاده میکنند. در شبکه Celestia رول آپها از سلستیا به عنوان یک لایه اجرایی استفاده نمیکنند، بنابراین چندین فورک میتوانند به طور همزمان انجام شوند.
در مورد شبکه آوالانچ سابنتها (Subnets)، مدیریت اجماع، نگهداری دیتا و اجرای قرارداد را به صورت کامل به عهده دارند. از آنجایی که ماژولاسیون به معنای تفکیک و تقسیم هر بخش به لایههای دیگر است، این موضوع آنها را به یک نهاد مستقل و مجزا تبدیل کرده است؛ اما همچنان سایر زنجیرهها را که از نرمافزارهای ماژولار استفاده میکنند را نمیتوان به عنوان یک پروتکل ماژولار در نظر گرفت.
سوالات متداول (FAQ)
بلاکچین ماژولار یک ساختار بلاکچینی قطعهقطعه است که میتوان از لایههای مختلف آن برای زنجیرههای بیرونی استفاده کرد.
کازمس و سلستیا دو مورد از مطرحترین شبکههای بلاکچینی ماژولار هستند.
جمعبندی
ساختار یک بلاکچین ماژولار به گونهای است که بخشهای مختلف آن مثل لایههای اجماع، لایه نگهداری دیتا و لایه اجرایی از یکدیگر تفکیک و در عین حال به هم متصل هستند. از بخشهای مختلف در یک بلاکچین Modular، میتوان در محیط خارج از آن بلاکچین استفاده کرد. در نقطه مقابل بلاکچینهای مستقل وجود دارند که تمام این امور در همان شبکه اتفاق میافتد. در این مقاله به بررسی ساختار بلاکچین ماژولار پرداختیم و شبکههای کازمس، آواکس و سلستیا و نحوه عملکرد آنها را توضیح دادیم. نظر شما درباره شبکههای ماژولار چیست؟ به نظر شما این شبکهها میتوانند جایگزین شبکههای بلاکچینی فعلی شوند؟ نظرات خود را با ما به اشتراک بگذارید.