اگر در چند روز اخیر کامیونیتی بلاکچین را دنبال کرده باشید قطعا از شروع به کار هاردفورک Fusaka در شبکهی اتریوم باخبر هستید. این هاردفورک در مجموع شامل 13 اصلاح است که هرکدام پروپوزال جداگانهی خود را دارد. تمام این پروپوزالها سعی کردهاند با اصلاح زیرساخت اتریوم به بهبود عملکرد و کارایی شبکه کمک کنند.
در این پست قصد دارم تعدادی از پروپوزالهایی را که به طور مستقیم در افزایش سرعت و مقیاسپذیری اتریوم تاثیر دارند مرور و تحلیل کنم:
1) پروپوزال EIP-7825:
این پروپوزال برای مصرف گس هر تراکنش یک سقف تعیین میکند. به گونهای که اگر اجرای تراکنش به مقداری بیشتر از آن سقف تعیین شده، گس نیاز داشته باشد، فِیل میشود. این سقف برابر است با 2 به توان 24 یا همان 16777216. تا پیش از این پروپوزال، یک تراکنش میتوانست تمام گس موجود در یک بلوک را مصرف کند. در این صورت، سایر تراکنشها باید منتظر بلوک بعدی میماندند و این باعث کندی شبکه میشد. همچنین تراکنشهای بسیار بزرگ، دادههای بیشتری را در شبکه ذخیره میکردند. در نتیجه، گرهها به فضای بیشتری برای ذخیرهسازی و رَم بیشتری برای اجرا نیاز داشتند. این امر کارایی و سرعت شبکه را کاهش میداد. علاوه بر آن، تراکنشهای بسیار بزرگ زمان بیشتری برای اعتبارسنجی نیاز داشتند که باعث تاخیر در پردازش بلوک شده و سرعت شبکه را کاهش میداد.
2) پروپوزال EIP-7594:
این پروپوزال با معرفی PeerDAS به عنوان یک پروتکل جدید و خلاقانه برای بررسی دادههای Blob، نقش مهمی در افزایش سرعت و مقیاسپذیری شبکه ایفا میکند. Blob یک ساختار داده است که به ویژه برای انتقال داده از L2 به L1 استفاده میشود. تا پیش از این پروپوزال، هر گره باید تمام دادههای یک Blob را دانلود و بررسی میکرد. این امر باعث نیازمندی گرهها به پهنای باند بیشتر و ذخیرهسازی بالاتر میشد. بدین ترتیب جلوی رشد شبکه گرفته میشد. پروتکل PeerDAS با استفاده از تکنیک Data Availability Sampling یا DAS روش خلاقانهای برای حل این مشکل ارائه میدهد. در این روش، هر گره به جای دانلود تمام دادهها، فقط یک هشتم از کل دادهها را دانلود میکند. به گونهای که میتواند اطمینان حاصل کند که تمام دادهها در دسترس است.
3) پروپوزال EIP-7642:
این پروپروزال تغییراتی را ایجاد میکند که باعث افزایش سرعت همگامسازی (Synchronize) گرهها در شبکه میشود. تا قبل از این پروپوزال، رسید هر تراکنش یا Transaction Receipt، در کنار چندین فیلد خود، دارای فیلد Bloom Filter نیز بود. Bloom Filter یک ساختار داده با حجم 256 بایت است که به کمک آن میتوانیم بفهمیم آیا یک داده در خروجیهای یک تراکنش وجود دارد یا نه! هر چند Bloom Filter بسیار کمک کننده است، اما ذخیرهی آن (به عنوان بخشی از رسید تراکنش) در کلاینت اتریوم (مانند Geth) امری بیهوده است. زیرا ساختار Bloom Filter به گونهای است که قابلیت محاسبهی مجدد دارد و میتوان آن را بازسازی کرد. تا پیش از این پروپوزال، هر گره برای همگامسازی و دانلود تاریخچهی اتریوم، مجبور به دانلود این بخش از رسید تراکنش هم بود. در این صورت، برای هر گرهی که قصد داشت همگامسازی را از صفر انجام دهد، مجموع حجم Bloom Filter در کل تاریخچهی اتریوم به بیش از 530 گیگابایت میرسید. ولی اکنون و با ارائهی این پروپوزال، این بخش از رسید تراکنش به طور کامل حذف شده و در لحظهی همگامسازی، مجددا محاسبه، ساخته و تایید میشود.
4) پروپوزال EIP-7935:
این پروپوزال این امکان را فراهم میکند که سقف گس برای هر بلوک از 36 میلیون به 60 میلیون افزایش یابد. در نتیجه، تعداد بیشتری از تراکنشها میتوانند در یک بلوک قرار بگیرند. این امر به ویژه در زمان ازدحام شبکه کمک میکند تراکنشهای کمتری در mempool باقی بماند و هزینهی گس (Gas fee) کاهش یابد.
اینکه آیا این اصلاحات میتوانند سرعت و مقیاسپذیری شبکه را ارتقا دهند، چیزی است که گذر زمان نشان میدهد. اما چیزی که مشخص است این است که سرعت، کارایی، عملکرد و مقیاسپذیری یک سیستم غیرمتمرکز، به یک یا چند عامل بستگی ندارد. بلکه نتیجهی زنجیرهای از مولفههای زیرساختی است که اصلاح هر مولفه بر عملکرد یک مولفهی دیگر و اصلاح آن تاثیرگذار است.
