یلو پیپر (Yellow Paper) یا زردنامه اتریوم یک سند فنی حاوی جزئیات نحوه کار پروتکل اتریوم است. این سند توسط دکتر گوین وود (Dr. Gavid Wood)، یکی از همبنیانگذاران اتریوم، نوشته شده است. در یلوپیپر اتریوم جزئیات مهمی درباره ماشین مجازی اتریوم (EVM)، زبان اسکریپت و برنامهنویسی داخلی، ساختار بلاکها و عملکرد کلی اکوسیستم این بلاک چین وجود دارد.
ازآنجاکه یلو پیپر اتریوم دارای اصطلاحات تخصصی و جزئیات فنی زیادی است، در این مطلب ابتدا خلاصهای از نحوه نگارش و بهروزرسانی این سند را بررسی کرده و سپس به تشریح جزئیات آن به زبان ساده میپردازیم.
یلو پیپر یا زردنامه اتریوم یک سند فنی است که در آن درباره نحوه کار پروتکل اتریوم صحبت شده است و منبعی غنی برای آشنایی با جزئیات این شبکه مانند ماشین مجازی اتریوم (EVM)، زبان اسکریپت و برنامهنویسی داخلی، ساختار بلاکها، تراکنشها و عملکرد کلی اکوسیستم این بلاک چین محسوب میشود.
این سند که ابتدا توسط دکتر گوین وود نوشته شده بود، با هر فورک و هارد فورک شبکه اتریوم بهروزرسانی میشود. نسخههای فعلی این سند حاصل همکاری اندرو آشیخمین (Andrew Ashikhmin) و مشارکت افراد دیگر از سراسر جهان هستند. با مراجعه به صفحه Ethereum Specification در گیتهاب میتوانید تمام جزئیات فورکهای اتریوم از ابتدا تا امروز را مشاهده کنید.
بیشتر بخوانید: فورک چیست؟
آخرین نسخه یلو پیپر اتریوم که در این مطلب بررسی میکنیم، « ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER SHANGHAI VERSION efc۵f۹a – ۲۰۲۵-۰۲-۰۴» نام دارد.
این نسخه با فورک شانگهای (Shanghai) که در آوریل ۲۰۲۳ (فروردین ۱۴۰۲) روی این شبکه اجرایی شد همسو است و هنوز تغییرات مربوط به فورک کنکون (Cancun) که در مارس ۲۰۲۴ (اسفند ۱۴۰۲) اجرایی شد، در آن اعمال نشده است. بااینحال، نسخه فعلی همچنان آپدیت میشود و آخرین بهروزرسانی آن مربوط به ۴ فوریه ۲۰۲۵ (۱۶ بهمن ۱۴۰۳) است و ۴۲ صفحه دارد.
پیش از ادامه مطالعه این مطلب، پیشنهاد میکنیم اگر هنوز آشنایی کاملی با اتریوم ندارید، مطلب اتریوم چیست ما را مطالعه کنید.
در شبکه اتریوم، برای هر مرحله از محاسبات، اعتبارسنجی تراکنشها و مکانیزم اجماع این شبکه، یک سری پروتکل و قوانین ریاضیاتی تعریف شده است و تمام این مراحل نیز در یلوپیپر آن آمده است.
بهخاطر پیچیدگی شدید این مراحل و وجود فرمولهای ریاضیاتی، شاید این موارد برای عموم افراد قابل درک نباشند. بههمینخاطر، مفاهیم مهم و عناصر کلیدی این مقاله فنی را به زبان ساده و بهدور از فرمولهای ریاضیاتی توضیح میدهیم.
در بخش مقدمه زردنامه اتریوم، بیشتر به تعاریف و مفاهیم پرداخته شده است. بر این اساس، اتریوم بهطور خلاصه دارای ویژگیهای زیر است:
بیشتر بخوانید: نود چیست؟
از جمله مزایای اتریوم نسبت به سیستمهای سنتی و علت ساخت آن نیز شامل موارد زیر است:
پارادایم بلاک چین در یلو پیپر اتریوم، به تشریح ساختار و اصول اساسی بلاک چین میپردازد. همانطور که در بخش قبل نیز گفتیم، اتریوم یک ماشین حالت مبتنی بر تراکنش است و همه اعضای شبکه یعنی همان نودها، پس از هر تراکنش، وضعیت شبکه را بهروزرسانی کرده و به یک وضعیت مشترک میرسند.
بنابراین، برخلاف بیت کوین که صرفاً میزان موجودی BTC افراد را ثبت میکند، اتریوم قادر به ذخیرهسازی هر گونه حالت اختیاری در شبکه است. حالا برای رسیدن از یک وضعیت به وضعیت دیگر، اتریوم تراکنشها را انجام میدهد. در ادامه، تراکنشها درون یک بلاک جمع شده و از طریق هش رمزنگاری، بهصورت زنجیروار به یکدیگر متصل میشوند.
بیشتر بخوانید: هش چیست؟
کنوانسیونها (Conventions) یا کانونشن یعنی «قرارداد» و در این قسمت، با تمام نمادها و قوانین ریاضیاتی که در کل مقاله استفاده شده، آشنا میشوید.
همانطور که از نامش پیداست، این بخش از یلو پپیر اتریوم، معنی عباراتی شامل بلاک، وضعیت و تراکنش را بهصورت جزئیتر توضیح میدهد:
ساختار بلاک (B) در بلاکچین اتریوم بهصورت ساختارهای داده ریاضیاتی تعریف میشود. هر هدر بلاک که با H مشخص میشود نیز ۱۵ جزء داده دارد که برخی از آنها شامل موارد زیر هستند:
تراکنش که در زردنامه اتریوم با نماد T نمایش داده میشود، یک واحد داده است که یک فرد خارجی آن را امضا میکند. ارسالکننده یک تراکنش نیز نمیتواند یک قرارداد هوشمند باشد. در نهایت، تراکنشها درون یک بلاک ثبت میشوند و با اعتبارسنجی بلاک، آن بلاک به بلاکچین اضافه میشود.
هر تراکنش پایه در بلاک چین اتریوم دارای اجزای زیر است:
استیت (State) که به آن وضعیت یا حالت میگویند، شرایط لحظهای آدرسها و حسابها در بلاک چین اتریوم را نشان میدهد. در یلو پیپر اتریوم به این ویژگی، ورلد استیت یا وضعیت جهانی (World State) هم میگویند.
نکته مهم در خصوص اتریوم این است که بلاک چین آن، استیت یا وضعیت را ذخیره نمیکند و این کار را به نودها واگذار کرده است؛ فقط هدر بلاکها در بلاک چین ذخیره میشوند. نودها نیز وضعیت بلاک چین اتریوم را در یک درخت بهنام مرکل پاتریشیا (Merkle Patricia) نگهداری میکنند.
در تصویر زیر، یک درخت مرکل پاتریشیا را مشاهده میکنید. در این ساختار، هر بلاک حاوی یک «state root» یا «ریشه وضعیت» است. اگر کوچکترین داده در این درخت تغییر کند، هش این ریشه وضعیت نیز تغییر میکند. حالا چون نودها درخت مرکل پاتریشیا را ذخیره میکنند، خود بلاک چین فقط هدر بلاک حاوی هش ریشه را ذخیره میکند که برای اعتبارسنجی وضعیت بلاکهای جدید استفاده میشود.
در بلاک چین اتریوم دو لایه بهنام لایه اجرا (Execution layer) و لایه اجماع (Consensus layer) وجود دارد. برداشت (Withdrawal) را که با نماد W در یلوپیپر اتریوم نمایش میدهند، یک سری محدود از دادههاست که میزان اتریومهای استیکشده برداشتی یک اعتبارسنجی در لایه اجماع را نشان میدهد.
بنابراین زمانی که یک اعتبارسنج اقدام به برداشت اتریومهای استیکشده خود میکند، یک برداشت در لایه اجماع ساخته و اعتبارسنجی شده و سپس به لایه اجرا فرستاده میشود.
تمام محاسبات در شبکه اتریوم مشمول پرداخت کارمزد میشوند. ساختار کارمزد اتریوم نیز برحسب گس محاسبه و در یلوپیپر، با نماد G نمایش داده میشود.
هر تراکنش در بلاک چین اتریوم یک مقدار گس مشخص بهنام gasLimit مصرف میکند. گسلیمیت درواقع مقدار گسی است که بهصورت ضمنی از موجودی حساب فرستنده خریداری میشود. این خرید نیز برحسب معیاری بهنام «effective gas price» یا «گس پرایس مؤثر» اتفاق میافتد. این معیار، مقداری برحسب wei است که امضاکننده تراکنش برای هر واحد گس مصرفی طی اجرای تراکنش، مایل به پرداخت است.
اگر حساب فرستنده قادر به خرید مقدار گس لیمیت مورد نظر برحسب گس پرایس مؤثر نباشد، تراکنش نامعتبر خواهد شد. در آخر، مقدار گس اضافی خریداریشده نیز پس از تکمیل تراکنش به حساب فرستنده بازگردانده میشود. بنابراین، افزایش مقدار گس لیمیت تأثیری بر سرعت اجرای تراکنش نخواهد داشت.
پس از پیادهسازی EIP-1559 در هارد فورک لندن، معیاری بهنام «base fee» یا «کارمزد پایه» به تراکنشها اضافه شده است. هر تراکنش ملزم به پرداخت یک بیس فی است که برحسب Wei در هر واحد گس مصرفی محاسبه میشود. مقدار بیس فی برای هر تراکنش در یک بلاک، ثابت است. مقدار ETH پرداختی بهعنوان بیس فی نیز سوزانده و از عرضه در گردش خارج میشود.
بیشتر بخوانید: گس اتریوم چیست؟
در این بخش از یلو پیپر اتریوم درباره نحوه اجرای تراکنشها صحبت شده است. اجرای یک تراکنش، پیچیدهترین بخش پروتکل اتریوم است: این اتفاق، تابع تغییر وضعیت را تعریف میکند که با Y آن را نمایش میدهند.
برای مطالعه توضیحات سادهتر این بخش میتوانید به وایت پیپر اتریوم به آدرس Ethereum.org/whitepape مراجعه کنید.
برای ساخت یک حساب در بلاک چین تریوم، از چندین پارامتر بدیهی استفاده میشود از جمله:
و البته چند معیار دیگر که بیشتر جنبه ریاضیاتی دارند.
برای فراخوانی پیام (Message call) در بلاک چین اتریوم نیز به چند پارامتر از جمله فرستنده، سازنده تراکنش، گیرنده و کد حساب نیاز است.
بخش مدل اجرای (Execusion Model) یلو پیپر اتریوم، درباره نحوه تغییر حالت سیستم بهوسیله ماشین مجازی اتریوم (EVM) صحبت میکند. ازآنجاکه این بخش بیش از حد تخصصی است، برای مطالعه نسخه سادهشده نحوه کار ماشین مجازی اتریوم میتوانید به وایت پیپر آن مراجعه کنید.
هارد فورک پاریس بود که مکانیزم اجماع اتریوم را از اثبات کار به اثبات سهام تغییر داد. برخلاف تمام هاردفورکهای قبلی، اجرای هاردفورک پاریس برای ارتفاع بلاک خاصی تعریف نشده بود؛ قرار بود پس از رسیدن سختی کل به یک مقدار مشخص، این هاردفورک اجرایی شود.
هدف استفاده از معیار «سختی کل» بهجای «ارتفاع بلاک» برای اجرایی کردن این هاردفورک، جلوگیری از این اتفاق بود که مجموعهای کوچک از افراد دارای قدرت هش در شبکه بتوانند یک زنجیره جعلی ساخته و با رساندن آن به ارتفاع بلاک مورد نظر، اولین بلاک اثبات سهام را از آن خودشان کنند.
برای این کار، پارامتری بهنام «terminal block» بهعنوان آخرین بلاک اثبات کار پیش از اجرای هاردفورک پاریس تعریف شد.
بیشتر بخوانید: چگونه در اثبات سهام اتریوم ۲.۰ شرکت کنیم؟
بخش یازدهم یلو پیپر اتریوم به بلاکتری (Blocktree) یا درخت بلاک اختصاص دارد. این بخش درباره نحوه ساخت زنجیره معتبر از بلاکها صحبت میکند.
همانطور که احتمالاً میدانید، در هر لحظه ممکن است بلاکهای مختلفی در شبکه ساخته شوند، اما همه آنها معتبر نیستند. پیش از تغییر بلاک چین اتریوم از اثبات کار به اثبات سهام در هاردفورک پاریس، زنجیرهای بهعنوان «بلاک چین اصلی» محسوب میشد که «بیشترین سختی کل» را دارا بود.
پس از رسدین به «terminal block» و اجرایی شدن هاردفورک پاریس، معیار «بیشترین سختی کل» برای مشخص کردن زنجیره معتبر حذف و معیار جدیدی بهنام «LMD Ghost» جایگزین آن شد. در ساختار جدید، زنجیرهای بهعنوان «بلاک چین اصلی» در نظر گرفته میشود که با «بلاک جنسیس» آغاز شده و با بلاکی که دارای اطلاعات خاصی از بیکن چین است، خاتمه یابد. این زنجیره همچنین باید هش و شماره «terminal block» را نیز در خود داشته باشد.
در تصویر زیر، شکل سادهشده یک زنجیره اصلی در بلاک چین اتریوم را مشاهده میکنید:
نهاییسازی بلاک یا بلاک فاینالیزیشن (Block Finalisation)، فرایند نهاییسازی یک بلاک است که ۳ مرحله دارد:
این بخش از یلوپیپر اتریوم به تشریح نحوه پیادهسازی قراردادها روی بلاک چین میپردازد. در این شبکه، چندین الگوی مهندسی قراردادها طراحی شده است که کار توسعهدهندگان را ساده میکنند. دو مورد از رایجترین این الگوها شامل موارد زیر هستند:
بهخاطر سطح فنی بودن این مقاله، شما میتوانید با استفاده از آن، یک نود را روی شبکه اتریوم پیادهسازی کرده و با دیگر کاربران این شبکه تعامل داشته باشید.
توسعهدهندگان نیز میتوانند از اطلاعات یلوپیپر برای ساخت و پیادهسازی قراردادهای هوشمند در بلاک چین اتریوم مطابق با قواعد و اصول این شبکه استفاده کنند.
اوراق سفید، سفیدنامه یا وایت پیپر (White Paper) یک سند بازاریابی است که برای مطالعه عموم مردم با هدف آموزش آنها درباره یک پروژه نوشته میشود. معمولاً وایت پیپرها با پرداختن به یک مشکل و نحوه حل آن توسط پروژهشان کار را آغاز میکنند و دارای اطلاعاتی بیشتری درباره توکنومیکس، تیم فنی، چشمانداز و نقشه راه آینده آن هستند. معمولاً هدف از نگارش این سند، ترغیب افراد به سرمایهگذاری در یک پروژه است.
بیشتر بخوانید: وایت پیپر (White paper) چیست و چگونه آن را مطالعه کنیم؟
در مقابل، یلو پیپر نسخه فنی وایت پیپر است که جزئیات علمی درباره فناوری و پروتکل زیربنایی پروژه مورد نظر را تشریح میکند. بهخاطر سطح بالای فنی بودن این سند، مخاطب هدف آن معمولاً توسعهدهندگان و دیگر افرادی هستند که تمایل به مشارکت در یک شبکه بلاک چینی بهعنوان ماینر یا اعتبارسنج دارند.
بنابراین بهطور خلاصه، میتوان وایت پیپر را طرح پیشنهادی اولیه و یلو پیپر را نسخه دوم فنیتر آن در نظر گرفت.
بد نیست بدانید که یک سند دیگر بهنام بژ پیپر، اوراق بژ یا بژنامه (Beige Paper) هم وجود دارد. این سند یک نگارش دیگر از یلو پیپر است و با داشتن ساختار بهتر، خواندن آن را برای مخاطبهای عام راحتتر میکند. بههمینخاطر، بااینکه اطلاعات موجود در بژ پیپر همچنان فنی است، اما خواندن و درک آن به اندازه یلو پیپر دشوار نیست.
وایت پیپر یک توضیح کلی و مفهومی از اهداف و قابلیتهای اتریوم ارائه میدهد، اما یلو پیپر یک سند فنی است که جزئیات دقیق پیادهسازی و عملکرد فنی اتریوم، از جمله ماشین مجازی اتریوم و ساختار تراکنشها در آن آورده شده است.
با تغییرات و بهروزرسانیهای شبکه اتریوم (مانند ارتقای اثبات سهام و اتریوم ۲.۰)، برخی از بخشهای یلو پیپر قدیمی شدهاند، اما همچنان بهعنوان یک مرجع فنی مهم برای درک معماری اولیه اتریوم و مفاهیم اساسی آن استفاده میشوند.
ازآنجاکه این سند شامل توضیحات دقیق درباره نحوه اجرای قراردادهای هوشمند، گس، مدل اجماع و ساختار دادههای شبکه اتریوم است، برای توسعهدهندگان بلاک چین، محققان حوزه کریپتو و مهندسان نرمافزار مفید است.
یلو پیپر یا زردنامه اتریوم یک سند فنی است که توسط دکتر گوین وود در سال ۲۰۱۴ نوشته شد. این سند، مشخصات فنی شبکه اتریوم شامل ماشین مجازی اتریوم، ساختار تراکنشها، قراردادهای هوشمند و نحوه اجرای آنها در بستر بلاک چین را توضیح میدهد. همچنین مدل اجماع اثبات کار و نحوه تبدیل آن به اثبات سهام، پردازش حسابها، گس و ذخیرهسازی دادهها را تشریح میکند. یلو پیپر بهعنوان مرجع اصلی برای توسعهدهندگان و محققان جهت درک دقیق عملکرد اتریوم استفاده میشود.