وایت پیپر اتریوم ابتدا در سال ۲۰۱۴ توسط ویتالیک بوترین (Vitalik Buterin)، بنیانگذار این شبکه راه اندازی شد. خودِ پروژه اتریوم نیز در سال ۲۰۱۵ عرضه شد. لازم به ذکر است که Ethereum، مانند بسیاری از پروژههای نرم افزاری متن باز و مبتنی بر جامعه، از زمان عرضه خود تکامل یافته است.
وایت پیپر اتریوم به عنوان یک منبع مفید و دقیق، از گذشته تا آینده اتریوم را نشان میدهد. برای آشنایی بیشتر با متن وایت پیپر اتریوم، آخرین توسعهها و نحوهی ایجاد این پروژه تا انتهای مقاله همراه پینگی باشید.
وایت پیپر اتریوم چیست؟
در حالی که وایت پیپر بیت کوین ساتوشی ناکاموتو اغلب به عنوان یک کاتالیزور برای انقلاب بلاک چین فعلی شناخته میشود، وایت پیپر اتریوم یک پیشرفت چشمگیر در باز کردن قدرت فناوریهای غیرمتمرکز بود. این راهنما برای معرفی اتریوم طراحی شده است. اتریوم دومین پروتکل بزرگ بلاک چین در جهان است که پس از بیت کوین قرار دارد. هر فردی که قصد دارد بفهمد چگونه برنامهها بر روی این بلاکچین اجرا میشوند ابتدا باید با شبکه Ethereum آشنا شود. ما برای کمک به شما، وایت پیپر اتریوم فارسی را ارائه کردهایم.
در طول تاریخ، بانک ها و موسسات شخص ثالث برای ایجاد اعتماد بین چندین طرف معامله وجود داشتهاند. بیت کوین به طور اساسی این ساختار را تغییر داد و این امکان را فراهم کرد تا تراکنشها در یک پروتکل بدون نیاز به واسطه و شخص ثالث انجام شوند (شما میتوانید از وبسایت bitcoin.pdf با پروژه بزرگترین ارز دیجیتال آشنا شوید). بیت کوین با حذف واسطه، روش انتقال و جریان پول را تغییر داد و زمینه را برای پول اینترنتی یا پول مجازی فراهم کرد. تمام ابتکارات بلاک چین که امروز در مورد آنها صحبت می کنیم از جمله اتریوم، نتیجه بیت کوین BTC هستند.
بیت کوین در حال تغییر جهان است اما نمیتوان بلاکچینهای جایگزین را بر روی شبکه آن اجرا کرد. توسعه دهندگان بیت کوین با فرآیند پر زحمت ایجاد یک بلاک چین کاملاً جدید یا تلاش برای گسترش محدودیتهای پروتکل فعلی، روبرو بودند.
بیت کوین برای مدیریت بلاکچین ایجاد شد و اتریوم چارچوبی را برای اجرای برنامههای غیرمتمرکز (dapps) ارائه میکند. Ethereum شامل یک زبان برنامه نویسی کامل تورینگ برای ایجاد “قراردادهای هوشمند” یا قوانین دلخواه است که اجرای برنامهها را دیکته میکند.
در ادامه به طور مختصر فعالیت بلاکچین اتریوم ارائه شده است:
- تراکنش های جدید به گرههای داخل شبکه ارسال میشود.
- گرهها این تراکنش ها را در یک بلوک کامپایل و ذخیره میکنند.
- هر گره برای حل یک اثبات کار (PoW) به انرژی و قدرت محاسباتی بالا نیاز دارد.
- اولین گرهای که راه حل را پیدا کند آن را در سراسر شبکه توزیع میکند.
- گرهها راه حل را در صورت معتبر بودن میپذیرند.
- گره ها با شروع کار بر روی بلوک، تایید تراکنش را نشان میدهند.
این فرآیند بسیار شبیه بیت کوین است. الگوریتمها سختی شبکه اثبات کار را تنظیم میکنند تا زمان ثابت ایجاد بلوک را حفظ کنند (حدود هر ۱۲-۱۵ ثانیه). اولین ماینری که تراکنش را تایید میکند ۵ اتریوم پاداش میگیرد. این فرآیند دارای دو عملکرد اصلی است: اجازه میدهد اتر جدید بدون یک مرجع مرکزی در گردش باشد و تراکنشها را به صورت غیرمتمرکز تأیید میکند. فرآیند ماینینگ به دلیل قدرت محاسباتی بالا، هک شبکه و اطلاعات را تقریبا غیرممکن میکند.
هدف Eth ایجاد یک پروتکل جایگزین برای ساخت برنامههای غیرمتمرکز یا همان dappها است که مجموعهای متفاوت از معاملهها را ارائه میکند و معتقدیم برای ساخت برنامههای غیرمتمرکز بسیار مفید خواهد بود. شبکه Ethereum زمان توسعه برنامه را تسریع میکند و برای برنامههای متفاوت بسیار کارآمد خواهد بود.
ETH این کار را با ساختن لایه انتزاعی نهایی انجام میدهد، یک بلاک چین با یک زبان برنامه نویسی داخلی کامل تورینگ، که به هر کسی اجازه می دهد قراردادهای هوشمند و برنامه های غیرمتمرکز بنویسد و قوانین دلخواه خود را برای مالکیت و فرمتهای تراکنش ایجاد کنند. توابع انتقال حالت یک نسخه Namecoin را میتوان در دو خط کد نوشت و سایر پروتکلها مانند ارزها و سیستمهای مشهور را می توان در کمتر از بیست خط ایجاد کرد.
ترجمه وایت پیپر اتریوم؛ وایت پیپر چه اطلاعاتی به ما میدهد؟
حسابهای اتریوم
در اتریوم، وضعیتهای با نام «حسابها یا Accounts» نشان داده میشود و هر حساب دارای یک آدرس ۲۰ بایتی است و برای انتقال مستقیم ارزش و اطلاعات بین حسابها استفاده میشود. یک حساب اتریوم شامل چهار گزینه است:
- nonce، یک شمارنده برای اطمینان از اینکه هر تراکنش فقط یک بار قابل پردازش است، استفاده میشود
- موجودی اتر فعلی حساب
- کد قرارداد حساب، در صورت وجود
- فضای ذخیره سازی حساب (به طور پیش فرض خالی است)
“اتر” اصلی ترین گَس داخلی شبکه است و برای پرداخت کارمزد تراکنشها استفاده میشود. به طور کلی، دو نوع حساب وجود دارد: حساب های دارای مالکیت خارجی که توسط کلیدهای خصوصی کنترل میشوند و حساب های قراردادی که توسط کد قرارداد کنترل میشود.
یک حساب دارای مالکیت خارجی هیچ کدی ندارد و میتوان با ایجاد و امضای تراکنش از یک حساب خارجی پیام را ارسال کرد. در یک حساب قراردادی، هر بار که حساب قرارداد پیامی دریافت میکند، کد آن فعال میشود و به آن اجازه میدهد در حافظه داخلی بخواند، بنویسد و پیامهای دیگری ارسال کند یا به نوبه خود قرارداد ایجاد کند.
توجه داشته باشید که “قراردادها” در اتریوم نباید “fulfilled” یا “complied with” تلقی شود. بلکه بیشتر شبیه «عاملهای مستقل» هستند که در محیط اتریوم فعالیت میکنند و همیشه یک بخش از کد خاص را هنگام «ارسال» توسط یک پیام یا تراکنش اجرا میکنند و کنترل مستقیمی بر موجودی اتر و کلید دارند.
پیام ها و معاملات در شبکه اتریوم
اصطلاح “تراکنش” در Ethereum برای دادههای امضا شده استفاده میشود که پیامی را که از حساب دیگر ارسال میشود، ذخیره میکند. معاملات شامل موارد زیر است:
- گیرنده پیام
- امضایی برای شناسایی فرستنده
- مقدار اتر برای انتقال از فرستنده به گیرنده
- یک فیلد داده اختیاری
- یک مقدار STARTGAS، نشان دهنده حداکثر تعداد مراحل محاسباتی است که تراکنش مجاز است انجام دهد
- یک مقدار GASPRICE، نشان دهنده هزینه ای است که فرستنده در هر مرحله محاسباتی میپردازد
سه مورد اول، فیلدهای استاندارد مورد انتظار در هر ارز دیجیتال هستند. فیلد داده به طور پیش فرض عملکردی ندارد، اما ماشین مجازی دارای یک کد عملیاتی است که با استفاده از آن قرارداد میتواند به دادهها دسترسی داشته باشد.
به عنوان مثال، اگر قراردادی به عنوان یک سرویس ثبت دامنه روی بلاک چین عمل میکند، ممکن است بخواهد داده های ارسال شده به آن را به عنوان حاوی دو “فیلد” تفسیر کند، اولین قسمت دامنه ای برای ثبت و دومین فیلد، آدرس IP برای ثبت تراکنش است. قرارداد این مقادیر را از داده های پیام خوانده و به طور مناسب آنها را در فضای ذخیره سازی نگه میدارد.
به منطور جلوگیری از ایجاد حلقههای نامحدود در کد نویسی هر تراکنش باید مراحل محاسباتی را برای آن تعیین کند (STARTGAS)، پیامهای اولیه و اضافی که در حین اجرا ایجاد میشوند نیز شامل این تراکنشها هستند.
GASPRICE کارمزدی است که در ازای اقدامات محاسباتی که ماینر انجام میدهد به او داده میشود.
واحد محاسبات در شبکه با عنوان “گَس gas” شناخته میشوند و هر مرحله محاسباتی یک گَس هزینه دارد اما برخی از فرآیندها به مقدار گَس بیشتری نیاز دارند؛ زیرا از نظر محاسباتی گزن هستند و یا دادههایی که باید ذخیره شوند زیاد است.برای هر بایت داده تراکنش ۵ گَس دریافت میشود.
هدف از دریافت گَس یا کارمزد این است که هر کاربر برای انجام هر عملیاتی در شبکه باید هزینه پرداخت کند و از آنجایی که کارمزد تراکنشها در اتریوم بالا است هکرهای کناری به سوی این شبکه میروند؛ زیرا هک شبکه برای آنها گران تمام خواهد شد.
ارسال پیامها در بلاکچین اتریوم
قراردادها قابلیت ارسال «پیام» به سایر قراردادها را دارند. پیامها اشیای مجازی (virtual objects) هستند که در محیط اجرای اتریوم وجود دارند. یک پیام حاوی موارد زیر است:
- فرستنده پیام (ضمنی)
- گیرنده پیام
- مقدار اتر برای انتقال در کنار پیام
- یک فیلد داده اختیاری
- یک مقدار STARTGAS
اساساً یک پیام مانند یک معامله است، با این تفاوت که توسط یک قرارداد تولید میشود نه یک عامل خارجی. یک پیام زمانی ایجاد میشود که قراردادی که کد را ایجاد میکند، کد CALL را اجرا کند. مانند یک تراکنش، یک پیام به حساب گیرنده منتهی میشود که کد را ساخته است. بنابراین، قراردادها میتوانند با سایر قراردادها ارتباط داشته باشند.
هزینه گَس تعیین شده توسط یک معامله یا قرارداد توسط آن معامله و کلیه مراحل اجرایی اعمال میشود.
گَس شبکه اتریوم
از آنجایی که هر تراکنش منتشر شده در بلاک چین، دارای هزینه دانلود و تأیید است، برای جلوگیری از سوء استفاده، نیاز به مکانیزمی نظارتی وجود دارد که این مکانیزم معمولاً شامل کارمزد تراکنش است. رویکرد پیشفرضی که در بیتکوین استفاده میشود، داشتن هزینههای کاملاً داوطلبانه است، با تکیه بر ماینرها که به عنوان نگهبان عمل میکنند و هزینه تراکنشها را تعیین میکنند.
این رویکرد در جامعه بیت کوین با استقبال بسیار خوبی مواجه شده است، به ویژه به این دلیل که «مبتنی بر بازار» است و به عرضه و تقاضای بین ماینرها و فرستندگان تراکنش اجازه میدهد تا قیمت را تعیین کنند.
شاید پردازش تراکنش به عنوان سرویسی که ماینر به فرستنده ارائه میدهد جذاب به نظر برسد، در واقع تراکنشها در شبمه توسط گره یا ماینرها پردازش میشود و پرداخت کارمزد بر عهده شخص ثالث و نه ماینر است.
جمع بندی
پروتکل اتریوم در ابتدا به عنوان یک نسخه ارتقا یافته از یک ارز دیجیتال در نظر گرفته شد که ویژگیهای پیشرفتهای مانند محدودیتهای برداشت، قراردادهای مالی، بازارها و موارد مشابه را از طریق یک زبان برنامهنویسی توسعه یافته ارائه میدهد.
شبکه اتریوم ETH مستقیماً از هیچ یک از برنامهها پشتیبانی نمیکند، اما وجود یک زبان برنامه نویسی کامل تورینگ به این معنی است که از نظر تئوری میتوان قراردادهای دلخواه را برای هر نوع تراکنش یا برنامه ای ایجاد کرد. اما آنچه در مورد اتریوم جالب تر است این است که پلتفرم اتریوم بسیار فراتر از یک ارز است.
پروتکلهای حول ذخیرهسازی غیرمتمرکز فایل، محاسبات غیرمتمرکز و بازارهای پیشبینی غیرمتمرکز و دهها مفهوم دیگر از این قبیل پتانسیل بالایی را برای محبوبیت روز ازفزون بلاکچین اتریوم به ارمغان میآورد.
در این مقاله وایت پیپر اتریوم را به صورت ترجمه شده برای شما قرار دادیم تا بیشتر از قیبل با این پروژه برتر آشنا شوید و درک بهتری نسبت به بلاکچین آن بدست آورید.
منبع: ethereum.org