سختی شبکه یا سختی استخراج (mining difficulty) چیست؟

اگر پیگیر رویدادهای دنیای رمز ارز باشید احتمالا شنیده‌اید که می‌گویند ماینرها مجبورند مدام از سخت‌افزارهای قوی‌تری استفاده کنند تا سختی استخراج آن‌ها را از دور خارج نکند. در دنیای کریپتو، سختی (difficulty) یک واحد است که نشان می‌دهد پیدا کردن یک هش در مدت مورد نظر چقدر دشوار است. این سختی در شبکه بیت کوین و هر رمز ارزی که به شیوه اثبات کار استخراج شود اهمیت دارد. در اینجا به صورت مختصر اما مفید با پدیده سختی ماینینگ آشنا می‌شویم. اگر از جمله دوستداران حوزه رمز ارز هستید با ما همراه شوید تا با این شاخص و تاثیرات آن آشنا شوید.

0 2,303

ابتدا برویم سراغ تعریف سختی استخراج یا سختی شبکه (mining difficulty). سختی عددی است که مشخص می‌کند چقدر زمان می‌برد تا ماینرها یک بلاک جدید حاوی تراکنش را به بلاک چین اضافه کنند.

هرکسی که رویای استخراج بیت کوین یا رمز ارز دیگری را در سر می‌پروراند ابتدا باید از یک دوران آموزشی مقدماتی گذر کند. یک جنبه از استخراج رمز ارز، «سختی» انجام ماینینگ در هر زمان مشخص است. این سختی ماهیت کار استخراج را تغییر نمی‌دهد (برای استخراج رمز ارز همواره به سخت‌افزار، نرم‌افزار، برق و یک ابزار ماینینگ نیاز دارید)؛ آنچه تغییر می‌کند دشواری و پیچیدگی کارها در دل ساز و کار است که ما آن را نمی‌بینیم.

اکنون باید ببینیم این سختی ماینینگ نتیجه چیست. چند فاکتور در آن نقش دارند. پیش از همه سختی جهانی بلاک؛ ایجاد هش از بلاک‌های معتبر باید در زمانی کمتر از سختی جهانی بلاک اتفاق بیفتد. فاکتور دوم شمار افرادی است که در شبکه سرگرم استخراج هستند. فاکتور سوم که می‌تواند وجود داشته باشد، «سختی مشترک» در استخرهای استخراج است که آن‌ها برای رمز ارزهای گوناگون تعریف می‌کنند.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

میزان این سختی هر ۲ هفته یکبار آپدیت می‌شود و باعث می‌شود افزودن بلاک تازه به بلاک چین به طور میانگین ۱۰ دقیقه طول بکشد.

اهمیت سختی استخراج در چیست؟

اهمیت وجود سختی ماینینگ در آن است که باعث می‌شود حتی با پیوستن ماینرهای بیشتر به شبکه، بلاک‌های حاوی تراکنش با وقفه‌های یکنواخت به بلاک چین افزوده شوند.(برای اطلاع از فرآیند هشینگ اینجا کلیک کنید)

اگر سختی بی‌تغییر بماند، زمان افزوده شدن بلاک‌های جدید به بلاک چین کمتر می‌شود زیرا شمار ماینرهای شبکه در حال افزایش است. با بالا رفتن سختی، ماینرها به توان سخت‌افزاری بیشتری نیاز پیدا می‌کنند تا بتوانند در همان سطح به استخراج ادامه دهند. به همین خاطر بود که سال‌ها پیش CPU، GPU و FPGA کارایی‌ خود را برای استخراج از دست دادند و دستگاه‌های نیرومندASIC جایگزین آن‌ها شدند.

خوب است بدانیم که سختی ماینینگ در بیت کوین هیچ سقفی ندارد. این سختی ‌می‌تواند همچنان بالا برود تا جایی که همه بیت کوین ها استخراج شوند؛ اتفاقی که پیش‌بینی شده در سال ۲۱۴۰ رخ دهد. از سوی دیگر، فاکتور سختی می‌تواند در مقایسه با ۲,۰۱۶ بلاکی که تا کنون ایجاد شده جهش‌های بسیار بزرگتری پیدا کند. در دنیای بیت کوین افزایش ۱۵ درصدی سختی چیز عجیبی نیست ولی برای آن دسته از ماینرهایی که نمی‌توانند یا نمی‌خواهند سخت‌افزارهای استخراج خود را قوی‌تر کنند اهمیت زیادی دارد.

سختی ماینینگ در بیت کوین می‌تواند پایین هم برود ولی بعید است چنین چیزی بیش از دو بار در سال رخ دهد. اگر به نمودار چند وقت اخیر آن نگاه کنیم متوجه می‌شویم که سختی مدام به سمت رشد گرایش داشته و دارد. از ۱۱ جولای ۲۰۱۵ تا کنون، سختی ماینینگ بیت کوین تنها در ۵ مورد دچار کاهش شده است.

هرکسی که می‌خواهد در دنیای ماینینگ سرمایه گذاری کند (چه در بیت کوین یا هر رمز ارز دیگر) باید حتما با مفهوم سختی استخراج آشنا باشد و آن را در نظر بگیرد. با گذشت زمان و شکل‌گیری بلاک‌های بیشتر در شبکه و مشارکت ماینرهای بیشتر در تامین توان هش (هش‌ پاور) شبکه، درآمدزایی از ماینینگ کمتر خواهد شد. نخستین گروهی که به سراغ یک رمز ارز جدید می‌روند معمولا در آغاز راه که میزان سختی ماینینگ کم است کوین‌های زیادی استخراج می‌کنند. نکته مهم اینجاست که همواره چارت‌ها را چک کنیم و ببینیم چه زمانی استخراج یک رمز ارز دیگر سودآور نخواهد بود.

سختی استخراج چه زمانی تغییر می‌کند؟

میزان سختی، هر ۲۰۱۶ بلاک یکبار تنظیم می‌شود که حدودا برابر با دو هفته است.

در این بازه‌های زمانی، هر گره، زمان پیش‌بینی‌‌ شده برای استخراج ۲۰۱۶ بلاک (دقیقه ۲۰۱۶ x 10 ) را تقسیم بر زمان حقیقی استخراج آن (دقیقه) می‌کند:

زمان حقیقی/ زمان پیش‌بینی شده 

 زمان حقیقی / ۲۰۱۶۰ 

اگر ماینرها بتوانند مسائل هر بلاک را سریع‌تر از زمان پیش‌بینی شده حل کنند، مثلا در مدت ۹ دقیقه برای هر بلاک، آنگاه به چنین نتیجه‌ای می‌رسند:

 

۱.۱۱=۲۰۱۶۰/۱۸۱۴۴

سپس هر گره از این عدد برای تنظیم سختی ۲۰۱۶ بلاک بعدی استفاده می‌کند:

سختی جدید =سختی * ۱.۱۱  

  • اگر عدد به دست آمده بزرگ‌تر از ۱ باشد (یعنی بلاک‌ها زودتر از زمان پیش‌بینی شده استخراج شده باشند) آنگاه سختی افزایش می‌یابد.
  • اگر عدد به دست آمده کوچکتر از ۱ باشد (یعنی بلاک‌ها دیرتر از زمان پیش‌بینی شده استخراج شده باشند) آنگاه سختی کاهش می‌یابد.

به این ترتیب میزان سختی ماینینگ مشخص می‌شود. اکنون همه ماینرها در شبکه بیت کوین، این سختی جدید را برای ۲۰۱۶ بلاک بعدی در نظر می‌گیرند.

فاکتور تنظیم کننده سختی در بالاترین حالت ۴ است، یعنی رقم آن از ۴ بیشتر نیست و از ۰.۲۵ کمتر نمی‌باشد. دلیل این امر جلوگیری از بروز تغییرات شدید در سختی و پیشگیری از فاصله زیاد سختی جدید نسبت به سختی قبل از خود است.

سختی چگونه زمان بین بلاک‌ها را کنترل می‌کند؟

برای درک این مساله از یک نمونه ساده استفاده می‌کنیم.

  1. نمونه ساده

فرض کنید من یک دامنه عددی در اختیار شما می‌گذارم که از ۱ تا ۱۰۰ است.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

اکنون شما می‌توانید هر یک دقیقه یکبار به صورت رندوم یک عدد بین ۱ و ۱۰۰ انتخاب کنید. هدف شما این است که عددی کمتر از رقم مورد نظر بیابید.

فرض کنیم رقم مورد نظر که همان سقف ما است ۵۰ باشد:

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

از آنجایی که شما هر یک دقیقه می‌توانید یک عدد انتخاب کنید و دامنه انتخاب هم ۱۰۰ – ۱ است، پس انتخاب عدد کوچکتر از سقف ۵۰ برای شما ۲ دقیقه طول می‌کشد.

این ساده‌ترین حالت بود. اگر من میزان سقف را پایین بیاورم و به ۲۰ برسانم آنگاه از هر ۵ انتخابِ شما تنها ۱ عدد درست خواهد بود بنابراین هر ۵ دقیقه می‌توانید عدد کمتر از ۲۰ ارائه کنید.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

به این ترتیب هرچه سقف کمتر باشد، دادن عدد درست سخت‌تر خواهد بود.

البته همان‌طور که با خود اندیشیده‌اید ممکن است دادن عدد درستِ کمتر از ۲۰ به اندازه ۵ دقیقه طول نکشد چون ممکن است انتخاب نخست شما شانسی درست از آب دربیاید (کمتر از ۱۰ باشد). ولی اگر این روند ادامه پیدا کند به طور معمول رسیدن به عدد درست با وقفه‌های ۵ دقیقه‌ای همراه خواهد بود.

آشنایی با سختی

فرض کنید من یک کامپیوتر هستم و به جای اینکه سقف را مستقیم به شما بگویم، برایم راحت‌تر است که یک عدد به شما بدهم تا دامنه خود را بر آن تقسیم کنید و به سقف برسید. عددی که به شما می‌دهم یک عدد جدید است.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

این عدد جدید بلندی سقف را کنترل می‌کند. این عدد جدید همان سختی است و روش ساده‌ای برای تنظیم بلندی سقف محسوب می‌شود.

اندازه سقف با این روش به دست می‌آید:

سقف = سختی / ماکزیمم سقف

از سوی دیگر، من به کمک مقدار سختی می‌توانم سقف را در هر سطحی که می‌خواهم قرار دهم:

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

روشن است که هرچه سختی بیشتر باشد، سقف پایین‌تر خواهد بود.

بنابراین در اینجا از سختی برای کنترل سقف استفاده کردیم و در نتیجه مدت زمان رسیدن به عدد درست را هم کنترل نمودیم.

  1. نمونه بیت کوین

سختی در بیت کوین درست به همین صورت کار می‌کند. از سختی برای تنظیم رقم سقف استفاده می‌شود و ماینرها به امید یافتن عدد پایین‌تر از رقم سقف پیوسته عدد ایجاد می‌کنند (بلاک‌های برگزیده خود را هش می‌کنند).

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

از آنجایی که ماینرها می‌توانند در هر دقیقه هزاران عدد (مقدار هش) تولید کنند، بیت کوین مجبور است از ماکزیمم‌های دیوانه‌وار استفاده کند؛ مانند:

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

به همین خاطر عددهای موجود در بیت کوین مقیاس بسیار بزرگی دارند.

با توجه به اینکه هزاران ماینر در تلاش برای یافتن عددهای درست هستند، برای اینکه کاری کنیم تا عدد درست هر ۱۰ دقیقه یکبار پیدا شود (به جای هر چند ثانیه)، سقف بسیار اندک در نظر گرفته شده تا بازه عددهای درست بسیار کوچک باشد:

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

با اینکه سختی رقم بزرگی دارد ولی باز هم رفتن به زیر سقف کار بسیار دشواری است. یافتن رقم کمتر از سقف مانند قمار می‌ماند.

معرفی عددهای مبنای ۱۶

توضیح: اعدادی که هر روزه از آن‌ها استفاده می‌کنیم اعداد سیستم ده دهی یا مبنای ۱۰ هستند. سیستم‌های دیگر با مبنا‌های دیگری نیز وجود دارد که رشته‌های گوناگون و به ویژه در کامپیوتر و الکترونیک کاربرد فراوانی دارند. مانند سیستم دودویی (مبنای ۲) و شانزده شانزدهی (مبنای ۱۶). سیستم شانزده شانزدهی را هگزادسیمال می‌نامند. دسیمال به معنی ده دهی است (سیستم رایج را دسیمال نام دارد) و هگزا در یونانی یعنی ۶. همان طور که در مبنای ۱۰ یا دسیمال اعداد از ۰ تا ۹ یک رقمی هستند، در مبنای ۱۶ نیز اعداد تا ۱۵ یک رقمی هستند. به همین خاطر برای بیان عددهای ۱۰ تا ۱۵ به ترتیب از حروف بزرگ A, B, C, D, E, F استفاده می‌شود. یعنی در سیستم شانزده شانزدهی به جای ۱۰ می‌گوییم A.

از آنجایی که رقم‌های سقف بسیار بزرگ هستند، کامپیوترها ترجیح می‌دهند آن‌ها را به فرمت هگزادسیمال یا شانزده شانزدهی ذخیره کنند.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟
سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

به همین خاطر است که مقادیر هش بلاک‌ها چیزهایی شبیه به این هستند:

۰۰۰۰۰۰۰۰۰۰۰۳ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506

زیرا اعداد هگزادسیمال با مبنای ۱۶ هستند و با اینکه در آن‌ها حرف وجود دارد ولی عدد هستند. به این ترتیب سقف یک عدد هگزادسیمال است.. ماینرها می‌کوشند یک رقم هش هگزادسیمال کمتر از سقف پیدا کنند.

تبدیل کردن هگزادسیمال و عددهای عادی (دسیمال) کار آسانی است:

سقف برای بلاک ۱۰۰,۰۰۰

Hexadecimal۰۰۰۰۰۰۰۰۰۰۰۴۸۶۴c000000000000000000000000000000000000000000000000
Decimal۱۸۶۱۳۱۱۳۱۴۹۸۳۸۰۰۱۲۶۸۱۵۶۴۳۶۲۲۹۲۷۲۳۰۰۷۶۳۶۸۳۳۴۸۴۵۸۱۴۲۵۳۳۶۹۹۰۱۹۷۳۵۰۴
هش برای بلاک ۱۰۰,۰۰۰
Hexadecimal۰۰۰۰۰۰۰۰۰۰۰۳ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506
Decimal۱۵۳۳۲۶۷۸۷۲۶۴۷۷۷۶۹۰۲۱۵۴۳۲۰۴۸۷۹۳۰۶۵۹۲۱۱۷۹۵۰۶۵۵۸۱۹۹۸۴۴۵۸۴۸۷۴۰۲۲۶۳۱۰

 

به همین خاطر است که هرگاه به هش‌ و سقف نگاه می‌کنید یک سری عدد و حروف می‌بینید. به خاطر داشته باشید که یک عدد در هر دو سیستم دسیمال (ده دهی) و هگزادسیمال (شانزده شانزدهی) ارزش یکسانی دارد. به همین خاطر می‌توانید عددها را به آسانی از مبنایی به مبنای دیگر تبدیل کنید.

توجه داشته باشید که رقم سختی معمولا به فرمت دسیمال بیان می‌شود ولی هش‌ها و سقف‌ها به فرمت هگزادسیمال ذخیره می‌گردند. با این وجود همان‌طور که گفتم همه‌ی آن‌ها عدد هستند و اگر بخواهید با آن‌ها کار کنید می‌توانید آن‌ها را به فرمت یکسان درآورید.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

سربلاک ۱۰۰,۰۰۰. سقف هگزادسیمال است ولی در سربلاک به فرمت فشرده یا کامپکت ذخیره شده است. نام آن را بیتز یا بیت‌ها گذاشته‌اند.

نمونه: یافتن سقف با استفاده از سختی.

سختی کنونی را از کجا پیدا کنم؟

شما می‌توانید برای یافتن سختی کنونی دستور getdifficulty  را در کلاینت بیت کوین خود وارد نمایید:

همچنین می‌توانید با دستور getmininginfo اطلاعات مختلفی از جمله سختی را بگیرید.

سختی استخراج یا سختی شبکه (mining difficulty) چیست؟

  • اگر کلاینت بیت کوین شما دم دست نیست همواره می‌توانید سختی را در اینجا بیابید:

https://finmag.ir/mining-calculator/

  • اگر مایلید ببینید سختی چگونه با گذشت زمان تغییر کرده می‌توانید به چارت موجود در این وب‌ سایت بروید:

https://bitcoinwisdom.com/bitcoin/difficulty

اگر میخواهید سود استخرج رمز ارز ها را به صورت کاملا فارسی محاسبه کنید به لینک زیر بروید:

منبع

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.