در دنیای ارز دیجیتال، اتریوم به عنوان دومین ارز پرکاربرد پس از بیت کوینT محبوبیت و ارزش پیدا کرده است. در حالی که بیت کوین برای ایجاد یک سیستم پرداخت غیرمتمرکز و همتا به همتا طراحی شده است، اتریوم قصد دارد جنبه های مختلف زندگی را با استفاده از فناوری ارائه شده توسط بیت کوین غیرمتمرکز کند. این راهنما یک نمای کلی از این که اتریوم چیست، موارد دیگری از جمله عملیات شبکه، بهروزرسانیها، تیمهای فنی و مدیریتی، و مفهوم استخراج اتریوم ارائه میدهد. علاوه بر این، این راهنما موضوعاتی مانند ماشین مجازی اتریوم، قراردادهای هوشمند، پروژه اتریوم ۲، نحوه خرید اتریوم و آینده اتریوم را پوشش خواهد داد.
اتریوم چیست؟ به زبان ساده
اتریوم یک پلتفرم مبتنی بر بلاک چین است که هدف آن حذف واسطه ها از حوزه های مختلف از جمله خدمات مالی، شبکه های اجتماعی و بازی های رایانه ای است. برخلاف بیت کوین که صرفاً برای انتقال پول همتا به همتا استفاده می شود، اتریوم به عنوان پلتفرمی برای ساخت اپلیکیشن های مختلف عمل می کند. تفاوت بین این دو ارز دیجیتال را می توان با تفاوت بین یک سیستم عامل و یک برنامه کاربردی مقایسه کرد. در حالی که بیت کوین به عنوان برنامه ای برای انتقال پول عمل می کند، اتریوم به عنوان یک سیستم عامل برای ایجاد ” برنامه های غیرمتمرکز ” (DApps) عمل می کند.
اتریوم اغلب به عنوان نسل دوم ارزهای دیجیتال شناخته می شود. زیرا تمرکز آن فراتر از پرداخت های همتا به همتا است که هدف اصلی نسل اول ارزهای دیجیتال مانند بیت کوین، لایت کوین و بیت کوین کش بود. در عوض، اتریوم قصد دارد یک پلتفرم برای تمرکززدایی از سایر فعالیت های انسانی دیگر ایجاد کند. قراردادهای هوشمند یکی از اجزای ضروری اتریوم هستند و از آنها برای تعریف شرایط مختلف یک قرارداد استفاده می شود. قراردادهای هوشمند اساساً برنامههایی هستند که روی بلاک چین اتریوم اجرا میشوند و هر قرارداد، مجموعهای از دادهها و کدهای ذخیرهشده در یک آدرس اتریوم است. در بخشهای بعدی، نحوه عملکرد این قراردادها را به طور مفصل بررسی خواهیم کرد.
ویژگی های اتریوم چیست؟
اتریوم دارای ویژگی های مختلفی است که در سال های اخیر به محبوبیت فزاینده آن کمک کرده است. در این بخش به برخی از مهم ترین ویژگی های اتریوم می پردازیم. در حالی که برخی از این ویژگی ها در سایر ارزهای دیجیتال وجود دارد، اتریوم اولین کسی بود که بسیاری از آنها را معرفی و استفاده کرد.
خدمات مالی
مشابه نسل اول ارزهای دیجیتال، اتریوم می تواند برای پرداخت های مالی همتا به همتا در سطح جهانی مورد استفاده قرار گیرد. در مقایسه با بیت کوین، اتریوم می تواند تراکنش های بیشتری را در واحد زمان پردازش کند و آن را مقیاس پذیرتر کند. علاوه بر این، قراردادهای هوشمند اتریوم، امکان ارائه سایر خدمات مالی مانند وام، استقراض، مبادله غیرمتمرکز (DEX) و پلتفرمهای کشت سود (Yield Farming) را از طریق کشاورزی بازده فراهم میکند. کاربران می توانند تنها از طریق کیف پول ارز دیجیتال خود، بدون نیاز به تاییدیه شخص یا سازمان خاصی به این خدمات دسترسی داشته باشند. علاوه بر این، ماهیت غیرقابل اعتماد قراردادهای هوشمند اتریوم تضمین میکند که شرایط قرارداد واضح و غیرقابل تغییر است و توسط کسی تغییر نمیکند. این خدمات در مقایسه با ارزهای دیجیتال نسل اول، اتریوم را در موقعیت مطلوبی قرار می دهند.
حفاظت از حریم خصوصی
مانند بسیاری از ارزهای دیجیتال، اتریوم ارزش بالایی برای حفظ حریم خصوصی کاربران قائل است و کاربران برای فعالیت در سیستم نیازی به ارائه اطلاعات شخصی ندارند. سیستم اقتصادی مبتنی بر ارزش اتریوم، نیازی به ثبت اطلاعات هویتی ندارد. اگرچه تمام تراکنش ها به صورت شفاف ثبت و نمایش داده می شوند، اما سیستم امن است و حفاظت از اطلاعات شخصی کاربران را تضمین می کند. این ویژگی، اتریوم را به یک پلتفرم ایدهآل برای برنامههای غیرمتمرکز وب ۳ و ارزهای دیجیتال متاورس تبدیل میکند. در این اپلیکیشن ها، کاربران بر برنامه ها و اطلاعات خود حاکمیت دارند.
حذف واسطه ها
اتریوم فراتر از حذف موسسات مالی از تراکنشها است و همچنین نیاز به سایر سازمانها و موسسات متمرکز را برای بسیاری از فعالیتهایی که میتوان به صورت غیرمتمرکز انجام داد را از بین میبرد. این ویژگی هزینه انجام کارها را کاهش می دهد و در بسیاری از موارد سرعت تراکنش ها را افزایش می دهد. علاوه بر این، این ویژگی از تمرکز ثروت در دست چند سازمان یا مؤسسه جلوگیری می کند.
مقاومت در برابر سانسور
نهادهای متمرکز برای سادهسازی فعالیتها تأسیس شدند، اما تمرکز قدرت در درون این نهادها به آنها این امکان را میدهد که نظرات خود را در فرآیندهای تصمیمگیری اعمال کنند. با این حال، هیچ فرد یا سازمانی به تنهایی اتریوم را کنترل نمی کند. غیرمتمرکز شدن شبکه اتریوم از سانسور اطلاعات یا مسدود کردن فعالیت کاربر در شبکه، توسط هر فرد یا نهادی جلوگیری می کند. همانطور که در بخش “اتریوم چیست” گفته شد، این ویژگی در بین بلاک چین های غیرمتمرکز رایج است و یکی از ویژگی های اصلی آنها است.
توسعه مداوم
اتریوم پلتفرمی است که توسعه مداوم برنامه ها را تسهیل می کند. از آنجایی که فضا بسیار رقابتی است، کاربران همیشه می توانند انتظار نسخه های بهتری از خدمات را از شبکه داشته باشند. وجود پروژه های متعدد در برنامه های یکسان، بر یک نکته تاکید می کند که هر پروژه به دنبال بهبود شرایط برای کاربران است.
قرارداد هوشمند اتریوم چیست؟
همانطور که در بخش ” اتریوم چیست ” گفته شد، قرارداد هوشمند یک قرارداد دیجیتالی است که شرایط آن به صورت کد روی بلاک چین نوشته شده است. در صورت احراز شرایط مندرج در این قراردادها، قرارداد به صورت خودکار اجرا می شود. به دلیل وجود قراردادهای هوشمند، اتریوم می تواند برنامه های غیرمتمرکز ایجاد کند و واسطه ها را از فعالیت های مختلف حذف کند. هر گره در شبکه اتریوم دارای یک کپی از قرارداد هوشمند و تراکنش ها است. هر زمان که کاربر اقدامی در داخل شبکه انجام دهد، چه با انجام تراکنشهای مستقیم در شبکه یا از طریق قراردادهای هوشمند، همه گرههای داخل شبکه باید تراکنش را تأیید کنند تا آن را در شبکه ثبت کنند.
مفهوم قراردادهای هوشمند، پیش از ایجاد ارزهای دیجیتال و فناوری بلاک چین است. در سال 1990، نیک سابو، رمزنگار مشهور، قرارداد هوشمند را به عنوان مجموعه ای از شرایط برای پروتکل های اعتماد بین افراد تعریف کرد که به صورت دیجیتالی مشخص شده است. طبق گفته Szabo، قرارداد “هوشمند” تلقی می شود زیرا تمام شرایط درون آن شفاف است و زمانی که شرایط برآورده شد، اقدامات مشخص شده در قرارداد به طور خودکار اجرا می شود و دارایی ها در شبکه منتقل می شوند. توسعه بلاک چین اتریوم این ایده را به واقعیت تبدیل کرده است.
انواع حساب های کاربری در اتریوم چیست؟
حساب های کاربری در اتریوم در پاسخ به تمام فعالیت هایی که در بلاک چین اتریوم انجام می شود به روز می شوند. برخلاف بیتکوین که از سیستم ” خروجی تراکنشهای خرج نشده ” (UTXO) استفاده میکند، اتریوم دو نوع حساب دارد: حسابهای متعلق به خارجی (EOA) و حسابهای قراردادی.
EOA ها حساب های کاربری مشابه یک حساب بانکی سنتی هستند که با کلیدهای خصوصی کنترل می شوند. این حساب ها دارای اتر (ETH) هستند، که می تواند به سایر EOA ها یا حساب های قراردادی منتقل شود. در مقابل، حسابهای قراردادی، حسابهایی هستند که توسط قراردادهای هوشمند کنترل میشوند که کد را روی بلاک چین اتریوم اجرا میکنند. موجودی حساب های قرارداد با کد قرارداد هوشمند تعیین می شود و در بلاک چین ذخیره نمی شود.
در شبکه بیت کوین، سیستم UTXO برای نگهداری حساب ها استفاده می شود، جایی که حساب از مجموعه ای از تراکنش های خرج نشده تشکیل شده است که به عنوان دارایی عمل می کنند. این روش با نگهداری ارزشهای مختلف ارزهای فیات یا اسکناسهای نقدی قابل مقایسه است، با این تفاوت که مقدار اسکناسها در شبکه بیتکوین میتواند هر عددی باشد. به عنوان مثال، اگر دو بیت کوین دارید و می خواهید 0.7 بیت کوین را برای یک دوست ارسال کنید، یک بیت کوین به آنها منتقل می شود و 0.3 بیت کوین باقی مانده به کیف پول شما بازگردانده می شود. اگر پس از آن قصد ارسال 0.4 بیت کوین به دوست خود را داشته باشید، هر دو تراکنش خروجی مصرف نشده شما به گیرنده منتقل می شود و کل تراکنش خروجی استفاده نشده 0.3 بیت کوین، به اضافه 0.1 بیت کوین، از یک بیت کوین دیگر حساب شما هزینه خواهد شد که منجر به یک تراکنش خروجی مصرف نشده 0.9 می شود.
برخلاف مدل تراکنش مصرفنشده بیتکوین، اتریوم مانند یک سیستم بانکی سنتی، موجودی را در حسابهای اتریوم حفظ میکند. در سیستم بانکی، هر کاربر یک حساب دارد و تمام تراکنشها روی حساب اعمال میشود و مبلغ نهایی داراییها بهروزرسانی میشود. در اتریوم، هر حساب دارای موجودی است و نتایج تراکنش ها روی آن اعمال می شود.
از آنجایی که اتریوم از قراردادهای هوشمند پشتیبانی میکند، حسابهای کاربری به دو نوع تقسیم میشوند:
- حسابهای شخصی (حساب تحت مالکیت خارجی | EOA)
- حسابهای قرارداد هوشمند (حساب قرارداد هوشمند | SCA)
که در ادامه به تفصیل بیشتر به آنها خواهیم پرداخت.
ویژگی های حساب های کاربری اتریوم
هر تغییری که در شبکه بلاک چین اتریوم رخ می دهد، منجر به تغییراتی در یک یا چند حساب کاربری در شبکه می شود. هر حساب با یک آدرس 20 بایتی نشان داده می شود که به 42 کاراکتر الفبایی عددی تبدیل می شود. تمام حساب های کاربری اتریوم با “0x” شروع می شوند و از این منظر هیچ تفاوتی بین حساب های قرارداد شخصی و هوشمند وجود ندارد. حساب های شخصی توسط کاربران ایجاد و مدیریت می شوند و حاوی یک کلید خصوصی هستند که نباید با دیگران به اشتراک گذاشته شود. هر حساب شخصی شامل یک متغیر موجودی است که نشان دهنده مقدار اتر موجود در حساب است. کاربران می توانند از این موجودی برای ارسال یا دریافت اتریوم یا برای اجرای یک قرارداد هوشمند استفاده کنند. تعداد تراکنش های انجام شده توسط هر حساب توسط پارامتری به نام “Nonce” تعیین می شود که از صفر شروع می شود و با هر تراکنش یک، افزایش می یابد. تراکنشهای با مقدار nonce پایینتر باید قبل از پردازش تراکنشهای بعدی تأیید شوند.
نوع دوم حساب در اتریوم، یک حساب قرارداد هوشمند است که توسط یک قرارداد هوشمند کنترل می شود و کلید خصوصی ندارد، زیرا عملکردهای آن توسط کد تعریف می شود. این حساب ها می توانند اتریوم را نگه دارند و مانند حساب های شخصی آن را ارسال یا دریافت کنند و همچنین می توانند برای اجرای قراردادهای هوشمند مورد استفاده قرار گیرند.
ماشین مجازی اتریوم چیست؟
ماشین مجازی اتریوم (EVM) یک پلتفرم نرم افزاری است که توسعه دهندگان می توانند از آن برای ساخت برنامه های غیرمتمرکز در شبکه اتریوم استفاده کنند. تمامی حساب های قرارداد شخصی و هوشمند در این ماشین مجازی نگهداری و به روز می شوند. وظیفه اصلی EVM تعیین وضعیت اتریوم پس از اضافه شدن هر بلوک جدید به شبکه است.
مشابه دیگر شبکه های بلاک چین، اتریوم از رمز و دفتر کل توزیع شده خود استفاده می کند و قوانین خاصی را برای فعالیت کاربر در داخل شبکه به کار می گیرد. ایجاد و استفاده از قراردادهای هوشمند، یک لایه اضافی به شبکه اتریوم معرفی کرده است که به “ماشین حالت توزیع شده” معروف است. این لایه به عنوان یک پایگاه داده بزرگ برای نگهداری اطلاعات حساب های اتریوم عمل می کند. قوانین خاصی که بر نحوه تغییر وضعیت این ماشین در هر بلوک حاکم است توسط ماشین مجازی اتریوم تعریف می شود.
همانطور که قبلاً گفته شد، قراردادهای هوشمند برنامه هایی در شبکه اتریوم هستند که مجموعه ای از داده ها و کدها را تشکیل می دهند و به عنوان یک حساب کاربری در شبکه اتریوم مدیریت می شوند. مانند سایر حسابها، قراردادهای هوشمند قابلیت انجام تراکنشها در شبکه اتریوم را دارند، اما به جای اینکه توسط یک کاربر کنترل شوند، قراردادهای هوشمند در شبکه یکپارچه شده و طبق کد از پیش برنامهریزی شده عمل میکنند.
حساب های شخصی می توانند با قراردادهای هوشمند تعامل داشته باشند. هنگامی که کاربران تراکنش ها را به قراردادهای هوشمند ارسال می کنند، عملکردهای مختلفی که در داخل قرارداد نوشته شده است فراخوانی و اجرا می شوند. این قراردادها برای انعکاس قوانین از پیش تعیین شده کدگذاری شده اند، تغییر ناپذیر هستند و تراکنش ها قابل برگشت نیستند.
ماشین مجازی اتریوم، توانایی اجرای بایت کدها را دارد. بایت کد یک زبان برنامه نویسی سطح پایین است که ارتباط نزدیکی با زبان ماشین دارد و نوشتن آن دشوار است. برای رفع این مشکل، قراردادهای هوشمند به زبانهای سطح بالایی مانند «Solidity» نوشته میشوند و سپس با استفاده از کامپایلرهای مختلف به بایت کد تبدیل میشوند تا ماشین مجازی اتریوم در نهایت بتواند آنها را اجرا کند.
بلاک چین اتریوم چگونه کار می کند؟
مشابه بیت کوین، اتریوم از فناوری بلاک چین برای حفظ و ایمن تراکنش ها استفاده می کند. بلاک چین مجموعه ای از بلوک های به هم پیوسته است که در آن اطلاعات تراکنش در هر بلوک ثبت و ذخیره می شود. بلاک چین را می توان نوعی پایگاه داده یا دفتر کل در نظر گرفت که تمام فعالیت های شبکه را مستند و ذخیره می کند. این دفتر برای عموم قابل مشاهده است و به همه کاربران شبکه و همچنین سایرین اجازه می دهد تا تغییرات ایجاد شده در آن را نظارت کنند.
دستگاه های محاسباتی معروف به گره های شبکه دارای کپی هایی از این اطلاعات از سراسر جهان هستند. این ویژگی تضمین می کند که هرگونه دستکاری در اطلاعات ذخیره شده در شبکه تنها با توافق بیش از 50 درصد از گره ها قابل انجام است که هزینه بر و از نظر اقتصادی غیرعملی است. گره ها عملکردهای مختلفی را در داخل شبکه انجام می دهند، از جمله تأیید و ثبت اطلاعات تراکنش ها و قراردادهای هوشمند و همچنین جلوگیری از ورود اطلاعات نادرست به شبکه. این معماری تضمین می کند که شبکه یک کپی از بلاک چین دارد و به طور جمعی محتوای اضافه شده به آن را تأیید می کند.
الگوریتم اجماع اثبات کار اتریوم
اتریوم از الگوریتم اثبات کار (PoW) مشابه بیت کوین برای اجماع گره ها استفاده می کند. این شامل گره هایی است که محاسبات ریاضی را انجام می دهند و مقادیر قابل توجهی انرژی را برای یافتن خروجی مناسب برای هر بلوک صرف می کنند.
توابع هش در الگوریتم اجماع استفاده می شود که توابع یک طرفه با خروجی ثابت برای هر ورودی هستند. این توابع را نمی توان برای به دست آوردن ورودی از خروجی، معکوس کرد و بنابراین برای اهداف رمزگذاری استفاده می شود. الگوریتم اجماع مورد استفاده در اتریوم “ETHash” نام دارد.
در الگوریتم اجماع اثبات کار، گرهها تلاش میکنند با وارد کردن اطلاعات تراکنش، مقدار هش بلوک قبلی و یک مقدار غیر تصادفی در یک تابع هش، را پیدا کنند. فرآیند، یافتن این مقدار تصادفی است و شامل بررسی نونس های مختلف تا یافتن مقدار مورد نظر است. nonce برای هر بلوک بر اساس سطح دشواری شبکه تعیین می شود که میزان قدرت پردازش دستگاه های محاسباتی گره ها است. برای اطمینان از استخراج هر بلوک در زمان معینی، معادله استخراج بلوکها بسته به سطح دشواری شبکه، سختتر یا آسانتر میشود.
تراکنش ها در اتریوم
برای ایجاد تراکنش در اتریوم، فرستنده باید یک حساب اتریوم با موجودی کافی برای پوشش هزینه های تراکنش و مبلغ ارسالی داشته باشد. کارمزد تراکنش به ماینرهایی پرداخت می شود که تراکنش را تأیید و پردازش می کنند. فرستنده همچنین باید آدرس گیرنده یا قرارداد هوشمندی را که میخواهد با آن تعامل داشته باشد، بداند.
برای ایجاد یک تراکنش، فرستنده پیامی حاوی آدرس گیرنده، مقدار اتر ارسال شده و هرگونه داده اضافی مورد نیاز گیرنده یا قرارداد هوشمند ایجاد می کند. سپس فرستنده پیام را با کلید خصوصی خود امضا می کند و آن را به شبکه پخش می کند. سپس پیام توسط گرههای شبکه، اعتبارسنجی میشود و اگر شرایط را برآورده کند، به مخزن تراکنش اضافه میشود که استخراجکنندگان میتوانند آن را دریافت کرده و در یک بلوک قرار دهند.
هنگامی که یک ماینر، تراکنش را در یک بلوک قرار داد و الگوریتم اثبات کار را با موفقیت حل کرد، بلاک به بلاک چین اضافه میشود و تراکنش دائمی و غیرقابل برگشت میشود. سپس گیرنده می تواند به وجوه ارسال شده برای آنها دسترسی داشته باشد و به دلخواه از آنها استفاده کند.
به طور خلاصه، تراکنش ها در اتریوم، شامل ایجاد و امضای پیامی با اطلاعات لازم، پرداخت هزینه تراکنش به ماینرها و پخش پیام به شبکه است. پس از تأیید اعتبار و گنجاندن آن در یک بلوک، تراکنش به بخشی دائمی از بلاک چین تبدیل می شود.
تراکنش نوع اول
سادهترین نوع تراکنش، تراکنشهای همتا به همتا هستند، که در آن یک فرد مقادیر مشخصی از اتریوم را با استفاده از کیف پول شخصی خود به کیف پول شخص دیگر ارسال میکند. در این صورت تراکنش مورد نظر پس از تایید توسط ماینرها و قرار دادن در بلاک انجام می شود و اتریوم منتقل می شود و شبکه با اطلاعات جدید به روز می شود. این تراکنش مشابه تراکنشی است که در نسل اول ارزهای دیجیتال دیده می شود.
نوع دوم معامله
نوع دوم تراکنش ها در اتریوم مربوط به ساخت قراردادهای هوشمند است. ایجاد قرارداد هوشمند در شبکه اتریوم با ایجاد یک تراکنش انجام می شود. در این صورت باید تراکنش را از طریق کیف پول خود به آدرس مشخص شده برای ایجاد قراردادهای هوشمند ارسال کنید. با این کار قرارداد مورد نظر با کدها و اطلاعات نوشته شده در شبکه اتریوم ذخیره می شود و نتیجه این رویداد در بلاک ذخیره شده و به بلاک چین اضافه می شود. پس از آن می توان از قرارداد هوشمند برای اهداف تعریف شده استفاده کرد.
نوع سوم معامله
سومین نوع تراکنش در اتریوم، فراخوانی قرارداد هوشمند است. اینجاست که پیامی از یک حساب شخصی به یک حساب قرارداد هوشمند ارسال می شود و اجرای یک عملکرد خاص در قرارداد هوشمند را آغاز می کند. برای فراخوانی قرارداد هوشمند، فرستنده باید آدرس قرارداد، تابعی که باید اجرا شود و هر پارامتر ورودی مورد نیاز تابع را مشخص کند. هنگامی که تراکنش توسط ماینرها تأیید شد و در یک بلوک قرار گرفت، قرارداد هوشمند عملکرد مشخص شده را با پارامترهای ورودی ارائه شده اجرا میکند و پیام خروجی حاصل به حساب فرستنده یا حساب مشخص دیگری ارسال میشود.
به طور خلاصه، سه نوع تراکنش در اتریوم، تراکنشهای همتا به همتا، ایجاد قراردادهای هوشمند و فراخوانی قراردادهای هوشمند هستند. این تراکنش ها در بلاک چین اتریوم ثبت می شوند و اعتبار آنها توسط گره های شبکه از طریق الگوریتم اجماع تایید می شود.
هزینه گاز در اتریوم چقدر است؟
به طور خلاصه، گاز واحدی است که برای اندازه گیری هزینه اجرای تراکنش یا قرارداد هوشمند در شبکه اتریوم استفاده می شود. هزینه گاز بسته به پیچیدگی معامله یا قرارداد و همچنین ازدحام فعلی شبکه متفاوت است. ماینرها برای به حداکثر رساندن سود خود، معاملات با کارمزد گاز بالاتر را در اولویت قرار می دهند. حد گاز حداکثر مقدار گازی است که می توان برای یک تراکنش استفاده کرد و اگر قبل از انجام معامله به حد مجاز برسد، تراکنش با شکست مواجه می شود و کارمزد گاز همچنان پرداخت می شود. گاز بخش مهمی از شبکه اتریوم است زیرا به جلوگیری از هرزنامه و اولویت بندی تراکنش ها کمک می کند.