اتریوم شبکهای پر از غافلگیری و پویایی است. توسعهدهندگان این شبکه همیشه به دنبال راهحلهایی هستند که به کمک آن بتوانند از مشکلات اتریوم کم کنند. پروپوزال بهبود اتریوم، یکی از روشهایی است که برای این منظور از آن استفاده میشود.
در تعریف ساده پروپوزالهای شبکه اتریوم اسنادی هستند که نویسندگان آنها مفاد مختلفی را برای حل کردن یکی از مشکلات شبکه در آن قرار میدهند. در نهایت و پس از گذراندن مراحلی که در ادامه خواهیم گفت، چنانچه پروپوزال به ثبت نهایی برسد، مشکلی حل خواهد شد و آنچه این سند پیشنهاد میکند به عنوان یک قانون در شبکه لازمالاجرا خواهد بود.
اگر برای شما هم جالب است که در مورد پروپوزال بهبود اتریوم بیشتر بدانید، این مقاله از داموندمگ را مطالعه کنید.
تاریخچه و آغاز پروپوزال بهبود اتریوم EIP
ایده ایجاد پروپوزال بهبود اتریوم (EIP) از تجربیات مربوط به بیت کوین نشئت میگیرد. به یاد داشته باشید که در بیت کوین هم پروپوزال بهبود بیت کوین (BIP) ایجاد شد تا جامعه بیت کوین بتواند تغییراتی که برای پیشرفت پروتکل لازم است اعمال کنند و این تغییرات را به دیگران نشان دهند.
این پروپوزالها برای پیشرفت ایجاد شده بودند و از ایدههای بسیار موفقیتآمیز هستند، تا جایی که ارزهای دیجیتالی دیگر نیز از این ایده استفاده کردند. در شبکه اتریوم در 27 اکتبر 2015، EIP-001 توسط مارتین بچ و هادسون جیمسون، دو توسعهدهنده بزرگ اتریوم ایجاد شد. در توضیحات اولین پروپوزال بهبود اتریوم چنین آمده است:
” EIP مخفف عبارت Ethereum Improvement Proposals است. EIP یک سند طراحی است که اطلاعاتی را در اختیار جامعه اتریوم قرار میدهد، یا ویژگی جدیدی را برای اتریوم یا فرآیندها یا محیط آن توصیف میکند. EIP باید مشخصات فنی مختصری از ویژگی و توجیهی برای عملکرد آن ارائه دهد. نویسنده EIP مسئول ایجاد اجماع در جامعه و مستندسازی نظرات مخالف است. ”
هدف پروپوزال بهبود اتریوم
EPI یک بستر است که به برنامه نویسان و توسعهدهندگان شبکه فرصت میدهد تا در جهت رفع مشکلات آن مشارکت داشته باشند و بتوانند نظرات خود را در این زمینه اعلام کنند. یکی از کمکهایی که به راهاندازی EPI کمک کرده، گیت هاب است. در گیت هاب جامعهای از برنامه نویسان حضور دارند که اتریوم توانسته از قابلیتها و تواناییهای آنها بهره ببرند. البته این ساختار غیرمتمرکزی که پروپوزال بهبود اتریوم دارد، میتواند دردسرساز باشد، چراکه نظرهای زیاد و دست داشتن عده زیاد در تصمیمگیری رسیدن به توافق را دچار مشکل میکند.
برای مثال زمانی که کیف پول پریتی (Parity) با مشکل روبرو شد و 150 میلیون دلار از دسترس خارج شد، هر برنامه نویس توانست برای حل مشکل روش مختص خود را پیشنهاد دهد که در نهایت منجر به حل سریعتر مشکل شد. اگر برای حل همین مشکل بخواهیم از یک نفر یا یک تیم با اعضای کم کمک بگیریم، مسلماً زمان بیشتری لازم است.
برای درک درست سازوکار اتریوم این مقاله را بخوانید: اتریوم چیست؟
دسته بندی پروپوزال های بهبود اتریوم
پروپوزالهای بهبود اتریوم در سه دسته تقسیم میشوند.
1. پروپوزال پیگیری استاندارد (Standard Track EIP)
این پروپوزال بر توصیف و شرح تغییراتی متمرکز است که بر پیادهسازیهای اتریوم تأثیر میگذارد، مانند تغییر در پروتکل شبکه، تغییر در قوانین اعتبار بلوک یا تراکنش، استانداردهای برنامه پیشنهادی، یا هر تغییر اضافهای که بر قابلیت همکاری تأثیر میگذارد. پروپوزال پیگیری استاندارد از سه بخش تشکیل شده است:
- سند طراحی
- پیادهسازی
- به روزرسانی به مشخصات رسمی
2. پروپوزال اطلاعاتی (Informational EIP)
پروپوزال اطلاعاتی در اسناد خود مشکلات طراحی اتریوم را بیان میکند یا دستورالعملها و اطلاعات کلی را در اختیار کاربران قرار میدهد، اما ویژگی جدید معرفی نمیکند. از آنجایی که پروپوزالهای اطلاعاتی توصیه خاصی ارائه نمیکنند، افراد در مطالعه یا نادیده گرفتن آن آزاد هستند.
3. پروپوزال متا (Meta EIP)
پروپوزال متا فرآیندها را توصیف میکند و تغییرات و رویدادهایی که میتوان در یک فرآیند ایجاد شود را مطرح میکند. این نوع پروپوزال بهبود اتریوم به طور کلی تغییراتی را در یک پیادهسازی پیشنهاد میکنند، اما نه در کد پایه اتریوم. برخلاف پروپوزال اطلاعاتی، کاربران نمیتوانند آن را نادیده بگیرند. نمونه بارز این نوع EIP را میتوان در تغییر رویهها و دستورالعملها در فرآیند تصمیمگیری و تغییرات در ابزارها یا محیط مورد استفاده در توسعه اتریوم مشاهده کرد.
عملکرد پروپوزال بهبود اتریوم چگونه است؟
عملکرد پروپوزالها به وضوح در اولین پروپوزال بهبود اتریوم تعریف شده است. این فرآیند با فرآیند تولید ایده یا پیشنهاد توسط نویسنده EIP آغاز میشود. در این مرحله، مسئولیت توسعه بر عهده نویسنده است و او است که باید دلایل لازم را برای اثبات نیاز پیشنهاد خود و همچنین دفاع از آن ارائه کند. به همین دلیل، نویسنده EIP باید یک ایده واضح داشته باشد و آن را همراه با توجیه و عناصری که از ارائه آن پشتیبانی میکند، در بدنه پروپوزال ارائه کند.
1. مرحله اول: ارائه ایده
در مرحله اول نویسنده پروپوزال باید پیشنهاد خود را به انجمن اتریوم ارائه کند تا بازخورد لازم را بگیرد تا مشخص شود آیا میتواند آن را ادامه دهد یا خیر.
2. مرحله دوم: ایجاد پیش نویس
پروپوزال زمانی پیشنویس میشود که ایده با پیروی از پارامترها و اصول تعریف شده اجرایی شده است. انجام این کار پویا است، چراکه نویسنده میتواند در حین آن تغییرات لازم را اعمال کند تا به یک نسخه نهایی کامل برسد و پروپوزال را برای مرحله بعدی آماده کند.
3. مرحله سوم: فراخوان آخر
در این مرحله پروپوزال برای ارائه آماده است و باید آن را در وب سایت پروپوزالهای اتریوم نمایش دهند. ایده این مرحله این است که بیشترین تعداد ممکن پروپوزال را ببینند و پس از یک بازنگری کامل، نسخه کاملاً کاربردی از آن در دسترس باشد.
4. مرحله چهارم: پذیرش
زمانی که پروپوزال به این مرحله میرسد، امکان ایجاد تغییر در آن بعید است و مشتریان باید برای رسمی شدن آن زمانی در نظر بگیرند. این فرآیند که شما مشتریان را برای ایجاد تغییرات دخیل میکنید، از مراحل معمول ثبت پروپوزال نیست و فقط برای پروپوزالهایی که بر بلاک چین اصلی قابل اجرا هستند انجام میشود.
5. مرحله پنجم: ارائه نهایی
در این مرحله تنها کار تصحیح غلط چاپی و نشر پروپوزال است. چند حالت هم برای پروپوزالها وجود دارد که به شرح زیر هستند:
- کنسل شده: نویسندگان اصلی دیگر به دنبال اجرای این EIP نیستند یا این طرح دیگر از نظر تکنیکی یکی از گزینهها نیست.
- رد شده: پروپوزال بهبود اتریوم که پذیرفته نشده و قرار نیست اجرا شود.
- جایگزین شده: پروپوزالی که نهایی شده بود اما دیگر به عنوان یک پیشرو در نظر گرفته نمیشود و قرار است پروپوزال دیگری که نهایی شده است جای آن را بگیرد.
شکل هر پروپوزال
هر پروپوزال بهبود اتریوم، یک سند فنی است و همه آنها شکل به خصوصی دارند که شامل موارد زیر است:
1. مقدمه (Preamble)
در مقدمه پروپوزال بهبود اتریوم، باید اطلاعاتی در مورد نویسنده آن، دادههای اساسی، نام و توضیحی مختصر وجود داشته باشد.
2. سفارش شما (Your Order)
در این مرحله، توضیح مختصری که حداکثر 200 کلمه است از مشکل فنی که در پروپوزال در حال بررسی است، بیان میشود.
3. انگیزه (Motivation)
این بخش اختیاری است و فقط در صورتی اجباری است که قرار بر تغییر پروتکل اتریوم باشد. در این مرحله، نویسنده پروپوزال باید به وضوح توضیح دهد که چرا پروتکل موجود برای رسیدگی به مشکلی که در این سند طرح شده ناکافی است. پروپوزالهای بدون انگیزه قانع کننده در این مرحله ممکن است به طور کامل رد شوند.
4. مشخصات (Specification)
در این مرحله نویسنده پروپوزال بهبود اتریوم باید قواعد نحوی و پیادهسازی پیشنهاد خود را توضیح دهید. این توضیح باید دقیق، واضح، قابل اثبات و تجدید پذیر باشد. اگر مشخصات این ویژگیها را نداشته باشد، پروپوزال رد خواهد شد.
5. توجیه (Justification)
در مرحله توجیه، نویسنده باید مشخصات را با توصیف اینکه چه چیزی انگیزه این طراحی است و چرا برخی تصمیمات گرفته شدهاند توضیح دهد. همچنین باید طرحهای جایگزین و هر چیز مرتبط دیگری در این بخش توضیح داده شود. بخش توجیه میتواند شامل نظرات و نگرانیهایی که جامعه اتریوم پس از بحث به آن میرسند باشند.
6. سازگاری وارونه (Backward compatibility)
سازگاری وارونه یکی از ویژگیهای سیستمهای کامپیوتری است و به این معنی است که سیستمهای جدید با تکنولوژیهای قدیمی سازگاری داشته باشند، برای مثال وقتی اپلیکیشنی برای موبایل ساخته میشود، طوری طراحی شود که افرادی که موبایل قدیمی با اندروید 7 به قبل هم بتوانند از آن استفاده کنند.
در این بخش از سند پروپوزال باید مشخص شود که پیشنهاد نویسنده تا چه اندازه با ورژنهای قدیمی سازگاری دارد. چنانچه این سازگاری کافی نباشد، پروپوزال رد خواهد شد.
7. موارد آزمون (Test cases)
موارد آزمون برای پیادهسازی پروپوزالهایی که بر تغییرات اجماع تأثیر میگذارند مورد نیاز است. در سایر پروپوزالها ممکن است در صورت وجود، لینکهایی به موارد آزمون اضافه شود.
8. پیاده سازی (Implementations)
تا زمانی که پروپوزال به حالت نهایی نرسیده است، لازم است استقرارها تکمیل شوند، اما نه تا زمانی که برای حالت پیشنویس آماده میشوند. در حالی که رویکرد دستیابی به اجماع در مورد مشخصات و توجیه قبل از نوشتن کد درست است، اصل «توافق عمومی و اجرای کد» کاربردیتر است و برای حل مسائل مربوط به جزئیات بهتر است.
9. ملاحظات امنیتی (Security Considerations)
تمام پروپوزالهای بهبود اتریوم، باید شامل بخشی باشند که ملاحظات امنیتی و تمام موارد مربوط به تغییر را مورد بحث قرار دهد. این موارد شامل بحثهای امنیتی و خطرات سطحی و تمام مسائلی است که پروپوزال در طول حیات خود تجربه خواهد کرد. چنانچه پروپوزالی این بخش را نداشته باشد، رد خواهد شد و به حالت نهایی نمیرسید.
10. معافیت کپی رایت (Copyright exemption)
تمام پروپوزالها باید عمومی باشند.
برخی از مهم ترین پروپوزال ها
در ادامه برخی از مهمترین پروپوزالهای بهبود اتریوم را معرفی خواهیم کرد که تحول بسیار بزرگی در این شبکه ایجاد کردند.
پروپوزال 606 هارد فورک (EIP-606: Hard Fork Goal)
پروپوزال 606 یکی از زیرمجموعههای نوع متا است. در این پروپوزال تمام جزئیات مربوط به بهروزرسانی «هوم استد» (Homestead) اتریوم توضیح داده شده است. متا بودن این پروپوزال باعث شده است که ارجاعهایی به انواع دیگر اعم از پروپوزالهای 2، 7 و 8 داشته باشد. هرکدام از اینها خود نمایانگر یک تغییر به خصوص هستند و همه باهم «هوم استد» را تشکیل میدهند.
«هوم استد» دومین نسخه اصلی پلتفرم اتریوم و اولین نسخه تولیدی اتریوم است. این نسخه شامل چندین تغییر در پروتکل و یک تغییر در شبکه است که توانایی ایجاد ارتقاء بیشتر شبکه را فراهم میکند.
پروپوزال 20 استاندارد توکن ERC-20
این مورد یکی از شناختهشدهترین پروپوزالهای بهبود اتریوم است. این توسعه آغازی برای اتریوم در ایجاد یک ابزار استاندارد برای استقرار توکنها در بلاک چین خود بود. در نتیجه این پروپوزال، تعداد توکنهای اتریوم بیشترین در بین تمام ارزهای دیجیتال است.
پروپوزال 721 توکن غیرقابل تعویض ERC-721
این مورد به دلیل پروژههایی مانند کریپتوکیتیز بسیار شناخته شده است. این پروژهها که عموماً برنامههای کلکسیونری بر مبنای تکنولوژی بلاک چین هستند، با توکن غیرقابل تعویض ERC-721 امکانپذیر شدهاند.
پروپوزال 779 دائو فورک (DAO Fork)
این مورد بحثبرانگیزترین پروپوزال بهبود اتریوم است. به کمک دائو فورک مشکل هکی که موجب از دست رفتن چند میلیون دلار شده بود و با نام دائو (The DAO) شناخته میشد، حل شد. برای انجام این کار، پروپوزال کل تاریخ بلاک چین اتریوم را از لحظاتی قبل از هک شدن دائو بازنویسی کرد.
این کار با هدف بازگرداندن وجوه سرقت شده به صاحبان آنها انجام میشود. در نتیجه استفاده از این هارد فورک، اتریوم به دو انجمن تقسیم شد که هر کدام دارای بلاک چین خاص خود بودند. یکی که پچ را اعمال کرده است (اتریوم) و دیگری که آن را اعمال نکرده است (اتریوم کلاسیک).
سخن پایانی
ما نام توکنهای ERC-20 را زیاد میشنویم و با کاربرد خوبی که دارند، ممکن است این سؤال را بپرسیم که چنین راه حل خوب و کارآمدی از کجا نشئت گرفته است؟ پاسخ حتی از این هم جالبتر است. اسنادی به نام پروپوزال بهبود اتریوم وجود دارند، که همانطور که نام آنها نشان میدهد برای ایجاد بهبود در این شبکه تلاش میکنند و تنها یکی از کارهای آنها ایجاد توکنهای ERC-20 است.
به این ترتیب بسیار لازم است که بدانیم شبکه اتریوم چگونه هرروز از روز قبل قویتر و پیشرفتهتر میشود. در این مقاله سعی کردیم با بیان ساده در مورد پروپوزال بهبود اتریوم صحبت کنیم و با معرفی برخی نمونهها اهمیت و گستردگی این کار را نشان دهیم.