دشواری استخراج ارز دیجیتال مانند بیت کوین، نشان می دهد که یافتن هش مناسب برای هر بلوک چقدر دشوار و وقت گیر است. سختی استخراج، یک واحد اندازه گیری است که در فرآیند استخراج بیت کوین استفاده می شود. سختی استخراج واحدهای جدید بسته به تعداد ماینرهای شبکه به مرور زمان افزایش یا کاهش می یابد.
سختی شبکه (Difficulty) یا سختی استخراج متغیری است که هدف آن ثابت نگه داشتن میانگین زمان ایجاد یک بلاک در شبکه است. در ارزهای دیجیتالی که قابلیت استخراج دارند و یا به اصطلاح سازوکار آنها اثبات کار (PoW) است، وجود قابلیتی انعطافپذیر در برابر افزایش و یا کاهش تعداد ماینرها ضروری است.
فول نودها دستگاههایی هستند که کل تاریخچه تراکنشهای شبکه را در حافظه خود نگهداری میکنند و به طور مستقیم وظیفه اعتبارسنجی تراکنشها را بر عهده دارند.
اساس کار ارزهای دیجیتالی که از سازوکار استخراج استفاده میکنند، حل کردن یک مسئله پیچیده به نام «هش» در هر بلاک است تا پاسخ آن را پیدا کنند و به این وسیله تراکنشهایی که در آن بلاک قرار گرفته است، تایید شوند. ماینرها در فرایند پیدا کردن هش هر بلاک، این کار را با حدس و خطا انجام میدهند.
هش یا همان مسئله ریاضی پیچیدهای که جزء اساسی تمام ارزهای دیجیتال است، حاصل تابعی به نام تابع هش (Hash Function) است. این تابع یکطرفه در ارزهای دیجیتال، داده یا ورودیها که همان تراکنشهای افراد مختلف است را دریافت میکند و خروجی آن رشته عباراتی با طول و حجم ثابت است. یکی از جالبترین ویژگیهای توابع هش آن است که امکان رسیدن به داده اولیه از طریق داشتن خروجی را تقریبا غیرممکن میکند.
در مجموع هش ریت، به کل قدرت محاسباتی ترکیبی گفته میشود که برای استخراج و پردازش معاملات در بلاکچین اثبات کار، مانند بیت کوین و اتریوم استفاده میشود. به عبارتی، هش ریت تعداد هشهایی را نشان میدهد که استخراج کنندگان برای رسیدن به پاداش تولید میکنند. واحد اندازهگیری هش ریت، هش بر ثانیه یا H/s است.
سختی شبکه بیت کوین هر دو هفته یک بار تغییر میکند تا زمان پیدا شدن هر بلاک به طور میانگین ۱۰ دقیقه باقی بماند. در صورتی که سختی شبکه وجود نداشته باشد، با وارد شدن ماینرهای بیشتر به شبکه حدسهایی که درباره هش هر بلاک زده میشود نیز افزایش پیدا میکند.
به دنبال افزایش تعداد حدسهای زده شده، احتمال پیدا شدن هر بلاک در زمانی کمتر از ۱۰ دقیقه هم بیشتر میشود. با این حساب عامل کنترل کنندهای در شبکه وجود نخواهد داشت تا جلوی ماینرها را از ایجاد بلاک در هر دقیقه، ثانیه و یا حتی کمتر از یک ثانیه بگیرد و آنها را وادار به ایجاد بلاک در زمان حدودی ۱۰ دقیقه کند.
گفته شد که سختی شبکه بیت کوین هر دو هفته یکبار (به عبارت دیگر پس از ساخته شدن هر ۲۰۱۶ بلاک) تغییر میکند. با در نظر داشتن زمان ۱۰ دقیقه برای حل هر بلاک، زمان مورد نیاز برای حل این تعداد بلاک، ۲۰,۱۶۰ دقیقه خواهد بود.
استخراج بیت کوین مانند جستجوی سوزن در انبار کاه است. بسیاری از هش ها توسط کد بیت کوین ایجاد می شوند، اما تنها یکی از آنها درست است.
اما اگر تعداد ماینرها در این مدت دو هفتهای افزایش پیدا کند و این تعداد بلاک زودتر از موعد مشخص شده و یا دیرتر حل شوند (برای مثال در ۱۸,۰۰۰ دقیقه)، در این صورت سختی شبکه باید خود را با تعداد ماینرها مطابقت دهد. اگر زمان حل شدن مجموع ۲۰۱۶ بلاک را بر مقدار ایدهآل ۱۰ دقیقه به ازای هر بلاک تقسیم کنیم، با یک تناسب بندی ساده میتوان فهمید که سختی شبکه باید نسبت به حالت قبلی فرضاً ۲۰۱۶۰/۱۸۰۰۰ یا ۱.۱۲ برابر شود.
مفهوم نمودار سختی و اعدادی که در آن به کار رفته، بیانگر نسبتی است که مثلا استخراج بیت کوین نسبت به هفته گذشته یا مثلا روزهای ابتدایی شروع کار بیت کوین، چقدر دشوارتر شده است.
در صورتی که نسبت به دست آمده بیشتر از ۱ باشد، ماینرها با سرعت بیشتری نسبت به حد معمول بلاکها را حل کردهاند و در صورتی که این عدد کمتر از یک باشد، قدرت استخراجکنندگان نسبت به قبل کاهش داشته است.
وقتی آخرین بیت کوین استخراج شد چه مشکلی پیش می آید؟
پس از استخراج تمام 21 میلیون بیت کوین، ماینرها همچنان باید در شبکه بیت کوین مشارکت داشته باشند تا بتوانند آن را ادامه دهند. بلوکهای جدید همچنان ایجاد خواهند شد، اما پاداشها تغییر خواهند کرد. به جای دریافت سکه های جدید به عنوان پاداش بلوک، ماینرها سهمی از کارمزد تراکنش های مصرف شده توسط افرادی که تراکنش های درون شبکه را ارسال می کنند، دریافت خواهند کرد.