استخراج
آخرین ویرایش: @sipbikardi(opens in a new tab), ۲۳ اسفند ۱۴۰۲
پیشنیازها
برای درک بهتر این صفحه، توصیه میکنیم ابتدا تراکنشها، بلوکها و اثبات کار را مطالعه کنید.
استخراج اتریوم چیست؟
استخراج، فرآیند ایجاد بلوکی از تراکنش ها است که در معماری اثبات کار اتریوم که اکنون منسوخ شده است، به زنجیره بلوکی اتریوم اضافه میشود.
کلمه «استخراج» ریشه در قیاس رمزارزها با طلا دارد. طلا یا فلزات گرانبها کمیاب هستند. توکنهای دیجیتال هم چنین هستند، تنها راه افزایش حجم کل در یک سیستم اثبات کار، استخراج است. در اثبات کار اتریوم، تنها روش صدور از طریق استخراج بود. با این حال، بر خلاف طلا یا فلزات گران بها، استخراج اتریوم راهی برای ایمن کردن شبکه از طریق ساختن، تأیید کردن، منتشر کردن و پخش کردن بلوکها در زنجیره بلوکی نیز بود.
استخراج اتر = ایمنسازی شبکه
استخراج رگ حیاتی هر زنجیره بلوکی اثبات کار است. استخراجکنندگان اتریوم - رایانههایی که نرمافزار را اجرا میکنند - از زمان و قدرت محاسباتی خود برای پردازش تراکنشها و تولید بلوکها پیش از انتقال به اثبات سهام استفاده میکردند.
چرا استخراجکنندگان وجود دارند؟
در سیستمهای غیرمتمرکز مانند اتریوم، باید اطمینان حاصل کنیم که همه در مورد ترتیب تراکنشها توافق دارند. استخراجکنندگان با حل پازلهای محاسباتی دشوار برای تولید بلوکها به این امر کمک میکردند و شبکه را در مقابل حملات ایمن نگه میداشتند.
اطلاعات بیشتر در مورد اثبات کار
هر کس قبلا می توانست با استفاده از کامپیوتر خود در شبکه اتریوم استخراج کند. با این حال، همه نمیتوانستند اتر (ETH) را بهطور سودآور استخراج کنند. در بیشتر موارد، ماینرها مجبور به خرید سختافزار کامپیوتری اختصاصی و دسترسی به منابع انرژی ارزان قیمت بودند. بعید به نظر می رسید که یک کامپیوتر معمولی به اندازه کافی پاداش بلوک دریافت کند تا هزینه های مربوط به استخراج را پوشش دهد.
هزینهی استخراج
- هزینههای بالقوهی سختافزاری لازم جهت ساخت و نگهداری ریگ استخراج
- هزینهی برق لازم برای تأمین انرژی ریگ استخراج
- اگر در یک استخر استخراج میکردید، این استخرها معمولاً درصدی هزینه ثابت از هر بلوک تولیدشده توسط استخر را دریافت میکردند
- هزینهی احتمالی تجهیزات برای پشتیبانی از ریگ استخراج (تهویه، نظارت بر انرژی، سیمکشی برق و غیره)
برای بررسی بیشتر سودآوری استخراج، از یک ماشینحساب استخراج مانند آنچه که Etherscan(opens in a new tab) ارائه میدهد، استفاده کنید.
تراکنشهای اتریوم چگونه استخراج میشدند
در ادامه مروری بر نحوه استخراج تراکنش ها در اثبات کار اتریوم ارائه میشود. توصیف مشابهی از این فرآیند برای اثبات سهام اتریوم را می توانید در اینجا بیابید.
- یک کاربر یک درخواست تراکنش را با کلید خصوصی یک حساب مینویسد و امضا میکند.
- کاربر درخواست تراکنش را از یک گره به کل شبکه اتریوم ارسال میکند.
- پس از شنیدن درخواست تراکنش جدید، هر گره در شبکه اتریوم درخواست را به استخر حافظهای محلی خود اضافه میکند. استخر حافظه لیستی است از تمام درخواستهای تراکنش که در مورد آنها شنیده است و هنوز به زنجیرهی بلوکی در یک بلوک وابسته نشده است.
- در برخی مواقع، یک گره استخراج چند ده یا صد درخواست تراکنش را در یک بلوک بالقوه تجمیع میکند، به گونهای که کارمزد تراکنش کسبشدهی آنها را به حداکثر میرساند، در حالی که همچنان زیر حد گاز بلوک باقی میمانند. سپس گرهی استخراج:
- اعتبار هر درخواست تراکنش را تأیید میکند (یعنی هیچکس سعی نمیکند اتر را از حسابی که برای آن امضا تولید نکرده است منتقل کند، درخواست بدفرم نشده است و غیره)، و سپس کد درخواست را اجرا میکند و حالت نسخهی EVM محلی آن را تغییر میدهد. استخراجگر کارمزد تراکنش را برای هر درخواست تراکنش به حساب خود واریز میکند.
- زمانی که تمام درخواستهای تراکنش در بلوک تأیید شده و در نسخه EVM محلی اجرا شد، فرایند تولید «گواهی مشروعیت» اثبات کار برای بلوک بالقوه را آغاز میکند.
- در نهایت، یک استخراجگر تولید یک گواهی را برای بلوکی که شامل درخواست تراکنش خاص ما میشود، به پایان میرساند. سپس استخراجگر بلوک تکمیلشده را که شامل گواهینامه و چک تجمیع وضعیت جدید EVM ادعا شده است ارسال میکند.
- سایر گرهها در مورد بلوک جدید میشنوند. آنها گواهی را اعتبارسنجی میکنند، همه تراکنشهای روی بلوک را خودشان اجرا میکنند (از جمله تراکنشی که در ابتدا توسط کاربر ما ارسال شد)، و اعتبارسنجی میکنند که بررسی تجمیع وضعیت جدید ماشین مجازی اتریوم (EVM) بعد از اجرای همه تراکنشها، با بررسی تجمیع وضعیت ادعا شده توسط بلوک استخراجگر مطابقت داشته باشد. تنها در این صورت است که این گرهها این بلوک را به انتهای زنجیرهی بلوک خود اضافه میکنند و حالت جدید ماشین مجازی اتریوم (EVM) را بهعنوان حالت متعارف میپذیرند.
- هر گره تمام تراکنشهای موجود در بلوک جدید را از استخر حافظهی محلی درخواستهای تراکنش انجامنشدهی خود حذف میکند.
- گرههای جدیدی که به شبکه میپیوندند همه بلوکها را به ترتیب دانلود میکنند، از جمله بلوکی که شامل تراکنش مورد علاقه ما است. آنها یک کپی EVM محلی را راه اندازی می کنند (که به عنوان یک EVM حالت خالی شروع می شود)، و سپس فرآیند اجرای هر تراکنش در هر بلوک را در بالای کپی EVM محلی خود انجام می دهند، و بررسی تجمیع وضعیت را در هر بلوک در طول مسیر تأیید می کنند.
هر تراکنش یک بار استخراج میشود (در یک بلوک جدید گنجانده میشود و برای اولین بار منتشر میشود) اما توسط هر شرکتکننده در فرایند پیشرفت حالت متعارف EVM اجرا و تأیید میشود. این نکته یکی از شعارهای اصلی زنجیره بلوکی را خاطرنشان میکند: اعتماد نکنید، تأیید کنید.
بلوک های (عمو) Ommer
در استخراج بلوک ها در اثبات-کار احتمال دخیل بود، که یعنی به دلیل تاخیر در شبکه احتمال انتشار دو بلوک معتبر همزمان وجود داشت. در این حالت، پروتکل باید طولانیترین زنجیره (و بنابراین زنجیره «معتبر») را تعیین میکرد و همزمان با اعطای بلوک معتبر اضافه نشده، عدالت را در میان استخراجگرها تضمین میکرد. این امر تمرکززدایی بیشتر شبکه را تشویق کرد زیرا ماینرهای کوچکتر، که ممکن است با تأخیر بیشتری مواجه شوند، همچنان میتوانند از طریق پاداشهای بلوک بازدهی ایجاد کنند.
اصطلاح "ommer" اصطلاح ترجیحی از نظر جنسیتی خنثی برای سیبلینگ و بلوک والد است، اما گاهی اوقات به آن عمو (uncle) نیز گفته میشود. پس از گذر اتریوم به اثبات-کار،هیچ بلوک عمویی استخراج نشدهزیرا تنها یک پیشنهاد دهنده در هر اسلات انتخاب میشود. شما میتوانید این تغییر را درچارت تاریخی(opens in a new tab) بلوک های عموی استخراج شده مشاهده کنید.
یک نسخهی آزمایشی تصویری
آستین را تماشا کنید که شما را در راه استخراج و اثبات کار زنجیره بلوکی راهنمایی میکند.
الگوریتم استخراج
شبکه اصلی اتریوم تنها از یک الگوریتم استخراج، یعنی -'Ethash' استفاده کرده است. Ethash جانشین یک الگوریتم تحقیق و توسعه اصلی شناخته شده به عنوان "دگر هاشیموتو (Dagger-Hashimoto)" بود.
اطلاعات بیشتر در مورد الگوریتم های استخراج.