سختی استخراج چیست؟ چرا باید برای خرید دستگاه ماینینگ و کامپیوترهای پرقدرت آنقدر هزینه کنیم؟ اینها سؤالاتی است که وقتی استخراج را به عنوان روش به دست آوردن برخی از ارزهای دیجیتال مثل بیت کوین انتخاب میکنیم با آن روبرو هستیم.
حقیقت این است که برای استخراج 21 میلیون کوین که بیت کوین دارد، یا هر تعداد کوینی که سقف استخراج ارزهای دیجیتال دیگر است، زمان مشخصی تعیین شده و نباید پیش از آن زمان تمام شوند. به همین دلیل فاکتوری به نام سختی استخراج یا سختی شبکه در محاسبات و الگوریتمهای آنها گنجانده شده است.
در این مقاله از داموندمگ در مورد اینکه سختی استخراج چیست صحبت خواهیم کرد.
سختی استخراج چیست؟
سختی استخراج مفهومی است که برای تمامی ارزهای دیجیتال با قابلیت استخراج (mine) وجود دارد. میزان سختی استخراج مشخص میکند که هر بلاک در چه مدت استخراج میشود. طبیعی است که هرچه سختی استخراج بیشتر باشد، زمان بیشتری به طول میانجامد تا بلاک استخراج شود.
در این مقاله برای توضیح بهتر از ارز دیجیتال بیت کوین استفاده میکنیم. سختی بیت کوین به صورتی است که برای استخراج هر بلاک 10 دقیقه زمان لازم است. چنانچه تغییری در این میزان رخ دهد، سختی آنقدر تغییر میکند که این 10 دقیقه ثابت بماند.
درک بهتر سختی استخراج
تعداد کوینهای هر ارز دیجیتال مقدار ثابتی است، بنابراین بالاخره روزی میرسد که دیگر ارزی برای استخراج وجود نخواهد داشت. برای مثال در کل 21 میلیون کون بیت کوین وجود دارد، بنابراین اگر سختی آن از حد مشخصی کمتر شود و بتوانیم در هر دقیقه یا ثانیه یک کوین استخراج کنیم، پیشبینیها بهم میریزد و کوینها زودتر از موعد تمام میشوند. در مورد بیت کوین سختی استخراج هر دو هفته بازبینی میشود.
هش چیست؟
پیش از آنکه پاسخ به سؤال سختی استخراج چیست را کامل کنیم، باید با اصطلاح هش آشنا شویم. هش (Hash) یک تابع است که هر ورودی با هر طولی را به خروجی با طول ثابت تبدیل میکند. در بحث ارزهای دیجیتال به ویژه بیت کوین، با هش بسیار روبرو هستیم. هر تراکنش در بلاک چین بیت کوین، حاوی اطلاعاتی است که بسیار طولانی هستند و نباید با دیدن آنها بتوانیم جزئیات تراکنش را دریابیم. درواقع مقدار تراکنش و شخصی که آن را ثبت کرده است باید پنهان بماند. تابع هش این کار را انجام میدهد. به همین دلیل است که گفته میشود تراکنشهای بیت کوین برگشت ناپذیر هستند.
در این بین مفهومی به نام هش ریت (Hash Rate) نیز وجود دارد. هش ریت مشخص میکند که چند فرآیند هشینگ در جریان است و درواقع نشاندهنده قدرت و سرعت دستگاه ماینینگ است. هرچه مقدار هش ریت بیشتر باشد، یعنی شانس استخراج بیشتر است.
بررسی سختی شبکه بیت کوین
سختی شبکه بیت کوین یا هر ارزی که استخراج میشود، در قالب یک مثال قابل توضیح است. تصور کنید یک محدوده عددی به یک برنامه کامپیوتری مقایسهای داده شده است، برای مثال بین 1 تا 100. در ابتدا از برنامه میخواهند عددی بیابد که کوچکتر از 100 باشد. این کار به قدری ساده است، که اصلاً نمیتوان آن را یک مسئله در نظر گرفت. طبیعی است هر عددی به غیر از 100 پاسخ سؤال است. حال اگر از برنامه خواسته شود، عددی کمتر از 50 بیابد چه؟ در این صورت برنامه باید مقایسههای زیادی انجام دهد تا به نتیجه برسد، البته ممکن است انتخاب تصادفی اول جواب ما باشد. حال اگر سقف مورد قبول را تا 10 پایین ببریم، بازهم کار دشوارتر خواهد شد.
سختی شبکه بیت کوین به همین صورت است. در ابتدای کار استخراج بیت کوین، عددی که دستگاه ماینر باید بر اساس هش فعلی و هش بعدی پیدا میکرد، در بازهای قابل دسترس بود، اما اکنون هش هدف آنقدر کوچک شده است که فشار زیادی روی دستگاه ماینر برای یافتن پاسخ وجود دارد.
هش یک رشته کامپیوتری است که از صفر و یک تشکیل شده است و وقتی از کوچکتر شدن آن صحبت میکنیم، به این معنی است که صفرهای زیادی در سمت چپ آن اضافه شده است.
سقف هش در شبکه بیت کوین چگونه محاسبه می شود؟
در مثالی که برای یافتن عدد بین 1 تا 100 زدیم، گفتیم که یک سقف مشخص میشود و ما باید با توجه به آن عدد جواب را بیابیم. حالا میخواهیم ببینیم که این سقف چگونه محاسبه میشود. محاسبه آن بسیار ساده است و هیچ پیچیدگی خاصی ندارد.
میدانیم که یک مقدار هش حداکثر وجود دارد، که همان عدد 100 ما است. همچنین میدانیم که مقدار سختی هر دو هفته از نو تعیین میشود، بنابراین علاوه بر هش حداکثر، باید مقدار سختی فعلی را نیز داشته باشیم. حال کافی است هش را بر سختی تقسیم کنیم. حاصل همان سقفی است که ماینرها باید عددی کوچکتر از آن پیدا کنند.
وقتی آخرین بیت کوین استخراج شد، چه اتفاقی می افتد؟
پس از استخراج تمام 21 میلیون بیت کوین، ماینرها همچنان باید در شبکه بیت کوین مشارکت داشته باشند تا بتوانند آن را فعال نگه دارند. بلاکهای جدید همچنان ایجاد خواهند شد، اما پاداشها تغییر خواهند کرد. به جای دریافت کوین جدید به عنوان پاداش بلاک، ماینرها سهمی از کارمزد تراکنشهای ثبت شده توسط افرادی که تراکنشهای درون شبکه را ارسال میکنند، خواهند داشت.
بالا و پایین رفتن سختی استخراج
سختی استخراج به عنوان یک پارامتر پویا عمل میکند که به طور مداوم با توجه به شرایط شبکه تنظیم میشود. به یاد داشته باشید که هدف ماینینگ، کشف و تولید یک بلاک جدید با توجه به برنامه نویسی شبکه است. بنابراین سختی توسط همان سیستم تنظیم میشود. همه اینها با در نظر گرفتن قدرت هشی که شبکه در یک لحظه خاص دارد، صورت میگیرد.
بیایید مثال زیر را در نظر بگیریم، اگر شبکه بیت کوین بلاکهای جدیدی را در زمان کمتر از 10 دقیقه تعیینشده تولید کند، همان شبکه سختی را به میزان بیشتری تنظیم میکند. یعنی هرچه بلاکها سریعتر از حد مطلوب تولید شوند، سختی استخراج افزایش مییابد. برعکس، اگر شبکه بلاکهای جدید را در مدت زمان بیش از 10 دقیقه تولید کند، سختی استخراج کاهش مییابد، زیرا سرعت تولید بلاک کم شده است.
یکی دیگر از جنبههای بسیار تأثیرگذار در درجه سختی شبکه بیت کوین، هزینه برق و ارزش بیت کوین در بازار است. این موضوع با ارز امانی که برای پوشش هزینههای عملیاتی در شبکه استفاده میشود در ارتباط است.
زمانی که قیمت بیت کوین بالا باشد، استخراج سودآور میشود. برعکس، اگر قیمت بیت کوین پایین باشد، برخی از ماینرها شبکه را ترک خواهند کرد زیرا سود آنها هزینههای عملیاتی را پوشش نمیدهد. بنابراین، زمانی که ماینینگ سودآور باشد، تعداد ماینرهای متصل به شبکه بیشتر و در نتیجه قدرت هش بیشتر و درجه سختی بیشتری خواهد داشت. از سوی دیگر، زمانی که ماینینگ سودی نداشته باشد، قدرت هش کاهش یافته و به همراه آن سختی نیز کاهش مییابد.
چگونه از سختی فعلی یک بلاک چین مطلع شویم؟
این نکته دیگری است که به بخش فنی و پروتکلهای بلاک چین مربوط میشود. به عنوان مثال، برای اطلاع از سختی فعلی شبکه بیت کوین، میتوانید به یک Block Explorer مراجعه کنید.
به عنوان مثال Bit2Me Explorer، که سختی بیت کوین و شبکه آزمایشی آن BitcoinTestnet را به شما نشان میدهد و جزئیات بلاک مورد نظر خود را مشاهده کنید.
آیا سختی استخراج متغیری است که با رقابت در بیت کوین مرتبط است؟
بله، سختی استخراج بیت کوین متغیر است و با رقابتی که در شبکه جریان دارد، سازگار است. این سختی استخراج توسط یک الگوریتم ارائه شده است. این الگوریتم تضمین میکند که سختی مقدار ایده آلی دارد، به طوری که ماینرها میتوانند تقریباً هر 10 دقیقه یک بلاک جدید تولید کنند.
شاید بپرسید اگر زمان استخراج 10 دقیقه است، پس چرا ما روزها و حتی ماهها منتظر میمانیم؟ پاسخ مشخص است، به این دلیل که رقبای شما یا سیستم کامپیوتری قویتری دارند یا از استخرهای استخراج کمک میگیرند. بنابراین شانس استخراج به توانایی فنی هر ماینر بستگی دارد.
سخن پایانی
کسانی که در رشتههای مرتبط با کامپیوتر تحصیل کردهاند به خوبی میدانند که الگوریتمهایی که برای جستجو طراحی میشوند، در زمان اجرا معمولاً به زمان بسیار بیشتری نسبت به سایر الگوریتمها و مسائل نیاز دارند. حال تصور کنید در شبکه بلاک چین و ارز دیجیتال بیت کوین، بخواهید در جستجوی یک عدد با ارقام زیاد باشید. بدون شک این کار به خودی خود و در شرایط معمولی دشوار است. حال فاکتوری به نام سختی استخراج را نیز به آن اضافه کنید.
در پاسخ به سختی استخراج چیست، دیدم که فاکتوری است که باید شبکه را کنترل کند تا ماینرها بیش از حد زیاد نشوند و تعداد کوینهای استخراج شده هم در شرایط متعادل باقی بماند. درنهایت میتوان گفت که سختی استخراج عاملی است که با استفاده از آن میتوانیم شبکه را کنترل کنیم.