استخراج رمزارز فرایندی است که در آن تراکنشهای بین کاربران تائید و به دفتر کل عمومی بلاکچین اضافه میشود. فرایند استخراج همچنین مسئول معرفی سکههای جدید به عرضهی سکههای موجود در گردش و یکی از عناصر کلیدی است که به رمزارزها اجازه میدهد بدون نیاز به شخص ثالث، بهعنوان یک شبکهی غیرمتمرکز یک به یک کار کنند. بیتکوین محبوبترین و بهترین نمونهی یک رمزارز قابلاستخراج است، اما این نکته را باید ذکر کرد که همهی رمزارزها قابلاستخراج نیستند. استخراج بیتکوین بر اساس الگوریتمی بهنام گواه اثبات کار (Proof of Work) عمل میکند.
استخراج رمزارز چگونه عمل میکند؟
ماینر گرهای در شبکه است که تراکنشها را جمعآوری کرده و آنها را بهصورت بلاک سازماندهی میکند. هر زمان تراکنشی انجام میشود، همهی گرههای شبکه آن تراکنشها را دریافت کرده و اعتبار آنها را تائید میکنند. سپس، گرههای ماینر این تراکنشها را از استخر حافظه جمعآوری کرده و شروع به جمعآوری آنها در یک بلاک (بلاک متقاضی) میکنند. اولین مرحلهی استخراج یک بلاک، هش کردن هر تراکنش گرفته شده از استخر حافظه است، اما قبل از شروع این فرایند، گره ماینر تراکنشی را اضافه میکند که آنها بهعنوان پاداش استخراج (پاداش بلاک) ارسال میکنند. به این تراکنش، تراکنش با پایهی سکه گفته میشود. تراکنش با پایهی سکه، تراکنشی است که در آن، سکهها از صفر ایجاد میشوند و در بیشتر موارد، نخستین تراکنش ثبت شده در یک بلاک جدید است.
پس از هش شدن هر تراکنش، هشها به چیزی بهنام درخت مرکل (یا درخت هش) طبقهبندی میشوند- که از طریق ساماندهی هشهای تراکنش گوناگون به جفتها و سپس هش کردن آنها شکل میگیرد. این خروجیها سپس بهصورت جفت سازمانیافته و یکبار دیگر هش میشوند و این فرایند تا رسیدن به 'بالای درخت مرکل' تکرار میشود. بالای درخت مرکل، هش ریشه (یا ریشهی مرکل) نامیده میشود که یک هش منفرد است که نشاندهندهی تمام هشهای قبلی است که برای ایجاد آن استفاده شده است.
سپس هش ریشه- در کنار هش بلاک قبلی و یک عدد تصادفی بهنام Nonce- در هدر بلاک قرار میگیرد. بعد، هدر بلاک هش میشود و خروجیای بر اساس آن عناصر (هش ریشه، هش بلاک قبلی و Nonce) در کنار چند پارامتر دیگر ایجاد میکند. خروجی بدست آمده، هش بلاک است و بهعنوان شناسنامهی بلاک تازه ایجاد شده (بلاک متقاضی) عمل خواهد کرد.
برای اینکه معتبر بهحساب بیاید، خروجی (هش بلاک) باید کمتر از مقدار هدف معینی باشد که توسط پروتکل تعیین شده است. بهعبارت دیگر، هش بلاک باید با تعداد مشخصی از صفرها شروع شود.
مقدار هدف- که همچنین سختی هش کردن (Hashing Difficulty) نیز نامیده میشود- پیوسته توسط پروتکلی تنظیم میشود تا این اطمینان حاصل شود که میزان ایجاد بلاکهای جدید ثابت و با مقدار نیروی هش اختصاص یافته به شبکه متناسب است.
بنابراین، هر زمان که ماینرهای جدیدی به شبکه میپیوندند و رقابت افزایش پیدا میکند، سختی هش کردن بالا میرود و از کاهش متوسط زمان بلاک جلوگیری میکند. در نقطهی مقابل، اگر ماینرها تصمیم به خروج از شبکه بگیرند، سختی هش کردن کاهش مییابد و زمان بلاک را ثابت نگه میدارد حتی اگر شبکه دارای توان محاسباتی کمتری باشد.
فرایند استخراج به ماینرهایی نیاز دارد که هدر بلاک را پیوسته با تکرار از طریق Nonce هش میکنند تا اینکه یکی از ماینرهای شبکه در نهایت یک هش بلاک معتبر ایجاد کند. وقتی هش معتبری پیدا شد، گره موسس بلاک را به شبکه پخش میکند و تمام گرههای دیگر بررسی میکنند که آیا آن هش معتبر هست یا نه و اگر معتبر بود، آنها آن بلاک را به کپی بلاکچین خود اضافه میکنند و به استخراج بلاک بعدی میروند. با این حال، بعضاً رخ میدهد که دو ماینر همزمان یک بلاک معتبر را پخش میکنند و شبکه به دو بلاک رقابتی منتهی میشود. ماینرها بر اساس بلاکی که ابتدا دریافت کردهاند شروع به استخراج بلاک بعدی میکنند. رقابت بین این بلاکها تا زمانی ادامه خواهد داشت که بلاک بعدی بر اساس یکی از این بلاکهای رقابتی استخراج شود. بلاکی که ترک میشود، بلاک یتیم (Orphan Block) نامیده میشود. سپس، ماینرهای این بلاک به استخراج زنجیرهی بلاک برنده بازمیگردند.
استخرهای استخراج ارز دیجیتال
در حالیکه پاداش بلاک به ماینری داده میشود که اول هش معتبر را کشف میکند، احتمال یافتن هش با بخشی از نیروی استخراج کل شبکه برابر است. استخراجکنندگانی که دارای درصد کمی از نیروی استخراج هستند، شانس بسیار کمی دارند که بهتنهایی بلوک بعدی را کشف کنند. استخرهای استخراج برای حل این مشکل ایجاد شدهاند. یعنی، منابع توسط ماینرهایی جمع میشود که نیروی پردازش خود را در یک شبکه به اشتراک میگذارند تا مطابق حجم کاری که آنها به احتمال یافتن یک بلاک اختصاص میدهند، پاداش بهشکل مساوی در میان همهی افراد حاضر در آن استخر تقسیم شود.