تاریخچه
جالب است بدانید از آغاز راه اندازی شبکه اتریوم در سال 2015 برنامه هایی برای بروزرسانی پروتکل اصلی این شبکه به طور قابل توجهی وجود داشته است. در دسامبر 2015، یعنی 5 ماه بعد از راه اندازی شبکه اصلی اتریوم، ویتالیک باترین در مقاله ای نقشه راه و غایت نهایی اتریوم نسخه 2.0 را منتشر کرد.
اتریوم توانسته است به طور مداوم از طریق هارد فورک های مختلف برای تحقق نقشه راه تعیین شده، پروتکل خود را به روزرسانی کند.
البته تغییرات اصلی مربوط به پروتکل، توسط سازندگان اتریوم که در مقاله زرد تنظیم شده؛ در سال 2015 راه اندازی شده است. تغییراتی که بعد از سال 2015 بر روی پروتکل انجام شد؛ می تواند به عنوان تغییراتی در واکنش به واقعیات اجرای یک شبکه رمزارز تلقی شود.
اگر شبکه اتریوم را همانند یک خانه در نظر بگیریم، راه اندازی شبکه اصلی اتریوم به منزله ساخت خانه بود؛ تا تمام کاربران به آن خانه منتقل شوند. فورک های شبکه همانند وصله ها، تعمیرات و ویژگی های اضافی برای رسیدگی به چالش های ناشی از مهاجرت بیشتر افراد به این خانه است. ارتقا به اتریوم نسخه 2.0(در نقشه راه با عنوان آرامش) شبیه ساختن یک بنیاد و خانه کاملا جدید برای سازگاری با نسل بعدی رشد شبکه و افزایش چشمگیر کاربران خواهد بود.
در حال حاضر یک جامعه بزرگ و کسب و کارهای زیادی در خانه فعلی اتریوم یا همان اتریوم نسخه 1.x وجود دارد. بنابراین نمی توان یک باره همه را به خانه ای کاملا جدید منتقل کرد و بعد یک باره متوجه شویم که با یک خرابی و نقص در خانه جدید مواجه هستیم.
به همین دلیل، اتریوم 2.0 در قالب فازهای مختلف معرفی می شود. تصور کنید خانه اتریوم 2.0 در کنار خانه اتریوم 1.x باشد. در ابتدا می بایست مسیری وجود داشته باشد تا این دو را به یکدیگر متصل کند. در نهایت اتریوم 2.0 گسترش خواهد یافت تا خود شامل اتریوم 1.x نیز باشد.
فازها
فاز 0- زنجیره بیکن (Proof-of-Stake)
فاز صفر در واقع همان پیاده سازی مکانیزم اجماع Proof-of-Stake برای اتریوم است. به بلاکچینی که مجهز به مکانیزم فاز صفر PoS باشد زنجیره بیکن یا Beacon Chain می گویند؛ و به ماینرهای این زنجیره اصطلاحا اعتبارسنج یا validator می گویند.
در مکانیزم Proof-ofWork ماینرها می بایست با کمک CPU و سیستم های با قدرت محاسباتی بالا یک نانس و بلاک متناظر با آن را به گونه ای پیدا کنند که منطبق با شرایط سختی شبکه باشد. در مدل Proof-of-Stake اعتبارسنجان مقادیری با ارزش مالی از آن بلاکچین که قصد تایید بلاک های آن را دارند را نگه داری می کنند. آنها همچنین مراقب سایر اعتبارسنجان هستند تا مطمئن شوند هیچ کس بلاک های نادرستی(حاوی خطا یا فعالیت های جعلی) را تایید نمی کند. اگر یک اعتبارسنج شروع به پیشنهاد یا تایید بلوک های نامعتبر بکند، جریمه مالی می شود.
فاز صفر هم اکنون عمومی ترین مرحله است؛ به این دلیل که در حال حاضر تحت آزمایش برای عموم گذاشته شده است و همچنین چندین شرکت در حال توسعه نرم افزار برای آن هستند. در اینجا لیست برخی از نرم افزارهای مناسب برای اعتبارسنجی آورده شده است:
Teku: نرم افزار مبتنی بر جاوا که توسطSoftware Consensys توسعه داده شده است.
Prysm: نرم افزار مبتنی بر Go توسط Prysmatic Labs
Lighthouse: نرم افزار مبتنی بر Rust توسعه داده شده توسط Sigma Prime
Lodestar: نرم افزار مبتنی بر جاوا اسکریپت
Nimbus: نرم افزار مبتنی بر Nim توسعه داده شده توسط Status
شبکه تست Medalla اولین شبکه تست در دسترس عموم با قابلیت چندیدن کاربر است. می توانید فرآیند شبکه تست را از این طریق مشاهده کنید. همچنین می توانید از طریق انجام این مراحل به شبکه تست ملحق شوید.
فاز 1- برش ها(در دسترس بودن و هماهنگی داده ها)
شکستن پایگاه داده( database sharding) به چند بخش در مدل معماری کامپیوتر سنتی برای افزایش مغیاس پذیری سیستم های بزرگ کاربرد دارد. براساس این مقاله، یک تکه از پایگاه داده در واقع یک برش افقی از داده ها در پایگاه داده است. هر برش به طور مستقل بر روی یک سرور جداگانه نگه داری می شود تا موجب توازن بار شود. برخی از داده های موجود در پایگاه داده ها بر روی تمام سرورها هستند ولی برخی از آن ها تنها بر روی یک سرور هستند.
اتریوم 2.0 از متد کلاسیک شکستن پایگاه داده برای کاهش مقدار حافظه مورد نیاز برای نگه داری وضعیت کامل شبکه استفاده می کند. در حال حاضر 64 برش پایگاه داده وجود دارد که می بایست به 1024 برش برسد. هر کدام از این برش ها اعتبارسنج های مخصوص به خود را خواهند داشت. اعتبارسنج ها به صورت دوره ای زنجیره بیکن را از طریق لینک های متقاطع(Cross links) که در واقع خلاصه ای از وضعیت هر برش پایگاه داده و همچنین تنها ارائه از آن برش بر روی زنجیره بیکن هستند؛ بررسی می کنند.
در واقع فاز 1 به منظور کاهش منابع مورد نیاز برای استفاده از شبکه اتریوم است. در حال حاضر برای برقراری ارتباط با شبکه اتریوم بر روی نود خود، نیازمند 500GB حافظه و RAM قابل توجه هستیم. البته بدون در نظر گرفتن زمان همگام سازی. بخش بندی یا شکستن به ما این امکان را می دهد تا مقدار اطلاعا مورد نیاز برای ثبت تراکنش های معتبر خود را کاهش دهیم.
فاز 2- محیط های اجرایی(محاسبه)
مرحله نهایی اتریوم 2.0 به محیط های اجرایی موجود در هر برش اختصاص دارد. در اتریوم 1.x محیط اجرایی همان ماشین مجازی اتریوم یا EVM است و یک زبان برنامه نویسی کامل تورینگ که یک محیط محاسباتی جامع را برای تمام کاربران شبکه فراهم می کند. ولی این محیط جامع به قیمت کارایی تمام می شود. EVM در مقایسه با زبان های پردازشی مدرن، کند است. فاز 2 با کمک WebAssembly که در واقع نوع جدیدی از کد است که توسط Moziilla توسعه داده شده؛ این مشکل را برطرف می کند. این تکنولوژی همچنین با زبان های C، C++ و Rust سازگار است با این تفاوت که بر روی مرورگر با سرعت قابل قبولی اجرا می شود.
در فاز 2 هر برش یا shard مجاز به استفاده از یک محیط اجرایی منحصر به فرد است. در حالی که حداقل یکی از آن ها EVM را اجرا خواهد کرد.
تحقیقات در این زمینه همچنان ادامه دارد و ممکن است دچار تغییراتی نیز بشود. در صورت تمایل برای کار با نسخه آزمایشی محیط اجرایی می توانید پروژه scout را مشاهده کنید.
چگونگی استفاده از زنجیره بیکن
همانطور که گفته شد توسعه دهندگان اتریوم 2.0 در آگوست 2020 شبکه تست Mdalla را راه اندازی کردند؛ این اولین شبکه آزمایشی عمومی زنجیره بیکن با قابلیت چندین کاربر هست. شما می توانید یک نرم افزار با قابلیت اتصال به زنجیره بیکن اجرا کنید؛ اتر آزمایشی ذخیره کنید و نقش اعتبارسنج را ایفا کنید.همچنین در صورت یافتن مشکل در شبکه آزمایشی می توانید گزارش کنید تا مشکلات برای اجرای واقعی زنجیره بیکن برطرف شود.
در این وب سایت می توانید مراحل اتصال به شبکه آزمایشی و تبدیل شدن به اعتبارسنج بر روی شبکه را مشاهده کنید.