00: 00: 00
ارز دیجیتال > استخراج > آموزش > سختی شبکه (Difficulty) یا سختی استخراج چیست؟
آموزش دانشنامه مبانی تخصصی

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

سختی شبکه (Difficulty) یا سختی استخراج متغیری است که هدف آن ثابت نگه داشتن میانگین زمان ایجاد یک بلاک در شبکه است. در ارزهای دیجیتالی که قابلیت استخراج دارند و یا به اصطلاح سازوکار آن‌ها اثبات کار (PoW) است، وجود قابلیتی انعطاف‌پذیر در برابر افزایش و یا کاهش تعداد ماینرها ضروری است. در این مطلب به توضیح سختی شبکه و جزئیات آن می‌پردازیم.

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

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

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

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

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

سختی استخراج چیست؟

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

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

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

گفته شد که سختی شبکه بیت کوین هر دو هفته یکبار (به عبارت دیگر پس از ساخته شدن هر ۲۰۱۶ بلاک)، تغییر می‌کند. با در نظر داشتن زمان ۱۰ دقیقه برای حل هر بلاک، زمان مورد نیاز برای حل این تعداد بلاک، ۲۰,۱۶۰ دقیقه خواهد بود.

اما اگر تعداد ماینرها در این مدت دو هفته‌ای افزایش پیدا کند و این تعداد بلاک زودتر از موعد مشخص شده و یا دیرتر حل شوند (برای مثال در ۱۸,۰۰۰ دقیقه)، در این صورت سختی شبکه باید خود را با تعداد ماینرها مطابقت دهد.

اگر زمان حل شدن مجموع ۲۰۱۶ بلاک را بر مقدار ایده‌آل ۱۰ دقیقه به ازای هر بلاک تقسیم کنیم، با یک تناسب‌بندی ساده می‌توان فهمید که سختی شبکه باید نسبت به حالت قبلی فرضاً ۲۰۱۶۰/۱۸۰۰۰ یا ۱.۱۲ برابر شود.

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

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

نمودار سختی بیت کوین از آغاز فعالیت شبکه

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

یکی از منابعی که سختی شبکه را به خوبی توضیح داده، سایت learnmeabitcoin است. نموداری را تصور کنید که اعداد ۱ تا ۱۰۰ بر روی آن قرار گرفته‌اند و قرار است دستگاهی در هر دقیقه عددی تصادفی در این بازه انتخاب کند. عدد ۵۰ را به عنوان هدفی در نظر می‌گیریم که اعداد تصادفی کمتر از آن مدنظر ماست. در اینصورت به طور میانگین باید ۲ دقیقه برای به دست آمدن هر عدد زیر ۵۰ صبر کنیم. در صورتی که هدف ما اعداد زیر ۲۰ باشد، این زمان به ۵ دقیقه افزایش می‌یابد.

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

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

پس با عوض کردن عددی که آن را به عنوان هدف می‌شناسیم، مدت زمان به دست آمدن آن نیز تغییر می‌کند.

سختی شبکه یا دیفیکالتی نیز به همین صورت کار می‌کند. ماینرها تلاش می‌کنند تا با تولید اعداد تصادفی، به هش‌هایی کمتر از هش هدف (Target Hash) دست یابند. با سخت‌تر شدن استخراج، هش هدف نیز کمتر و کمتر می‌شود. البته این کار با اضافه شدن صفرهای بیشتر به ابتدای هش هدف انجام می‌شود. به همین خاطر هم هشِ بلاک‌های جدیدتر در شبکه بیت کوین، نسبت به بلاک‌های چند سال قبل صفرهای بیشتری دارند.

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

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

توضیح با یک مثال

برای نمونه به چگونگی محاسبه هش بلاک شماره ۵۷۸۵۰۰ بیت کوین نگاهی بیاندازیم:

هش معتبری که برای بلاک به دست آمده، در بلاک چین ثبت می‌شود.

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

هش بلاک ۵۷۸,۵۰۰

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

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

سختی شبکه بیت کوین در تاریخ ۳۰ می ۲۰۱۹

نکته‌ای که وجود دارد این است که اعداد ارائه شده در قالب هگزادسیمال هستند و باید آن‌ها را به مبنای ۱۰ تبدیل کرد.

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

هش بلاک ۵۷۸,۵۰۰ را اگر در یک تبدیلگر آنلاین هگزادسیمال به مبنای ۱۰ ببریم، مشاهده خواهیم کرد که عدد به دست آمده کوچکتر از هش هدف خواهد بود.

[تعداد: 9    میانگین: 3.1/5]

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

درباره نویسنده

نیما ملک پور

نیما ملک پور

دانش‌آموخته مهندسی نفت هستم و یادگیری شغل من است
علاقه‌مند به بیت کوین و اقتصاد

4
دیدگاه کاربران

avatar
2 Comment threads
2 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
نیما ملک پورنویدسید سجاد حسینی Recent comment authors
  اشتراک  
جدید ترین قدیمی ترین بیشترین امتیاز
اطلاع از
نوید
نوید

با این حساب سختی استخراج فقط بستگی به تعداد ماینر ها داره… یعنی اگر تعداد ماینر ها و ثابت فرض کنیم دستگاه های من مقدار ثابتی از بیت کوین رو در طول سال ها استخراح می کنن! درسته؟

سید سجاد حسینی
سید سجاد حسینی

مثال ساده در مورد سختی شبکه :

اگر یک پفک را یک بلاک در نظر بگیریم و محتوای داخل پفک را ۱۲ بیت کوین در نظر بگیریم
اگر من تنهای این پفک را بخورم ۱۲ پفک را خوردم
اگر ۱۰ نفر باشیم این پفک را بخوریم ۱۲ پفک تقسیم به ۱۰ میشه
اگر ۱۰۰ نفر باشیم ۱۲ پفک تقسیم بر ۱۰۰ نفر میشه
اگر ۹۹ نفر باشیم با ۱ دست و ۱ نفر با ۲ دست باشه ۱۲ پفک تقسیم بر ۱۰۱ نفر میشه اونی که با دو دست پفک برداشت مسلماََ قدرت بیشتری داشت و پفک بیشتری
و همین طور تعداد بالا تر بشه و دریافتی پفک بیشتر و هر نفر قدرت بیشتری داشته باشه پفک بیشتری

کل تعریف سختی شبکه …

امیدوارم با توضیحات آقای ملک پور و مثال عامیانه بنده (که خودم برا خودم ساختم :D) معنی سختی شبکه را فهمیده باشید .

یا حقّ