سختی شبکه
هرکسی که تا به حال تصور استخراج بیت کوین و یا دیگر ارزهای دیجیتال را داشته است حتما برای یادگیری با موارد متعددی روبرو شده است. یکی از جنبه های مورد بحث در ماینینگ، سختی شبکه است. اگرچه این سختی، فرآیند استخراج را تغییر نمی دهد، با این حال چون شما نیاز به سخت افزار، مصرف برق، نرم افزار و یک استخر ماینینگ دارید. فرایند استخراج با افزایش سختی شبکه، پیچیده تر و دشوارتر می شود. پس به یاد داشته باشید برای بررسی این موضوع که کدام ارز را استخراج کنید همواره عامل سختی شبکه را در نظر بگیرید و محاسبات میزان سود دهی خود را انجام دهید.
با نگاهی دقیق تر می توان گفت که چندین عامل در سختی استخراج نقش آفرینی میکنند. اول از همه، مشکل جهانی سختی بلاک وجود دارد چرا که هر بلاک معتبر یک باید هش معین شده ای داشته باشد. عامل دوم تعداد افرادی است که به صورت فعال عمل ماینینگ یا استخراج را در شبکه انجام می دهند و آخرین نکته، ممکن است که خود استخر ماینینگ باشد، چرا که استخرها با توجه به میزان قدرت پردازشی که سیستم های متصل به آنها در اختیار می گذارند، قادر به تولید بلاک خواهند بود.
در دنیای بیت کوین، سختی شبکه به طور خودکار با هر 2,016 بلاک در شبکه مشخص میشود. البته این مساله بستگی به تعداد افراد انجام دهنده عمل ماینینگ و همچنین قدرت هش ترکیبی آنها و زمان لازم برای پیدا کردن این 2,016 بلاک ها دارد. قابل توجه است سختی ممکن است کم یا زیاد شود. با افزایش سختی، ماینرها نیازمند سخت افزار قویتری برای تطبیق با این تغییر هستند. به همین دلیل زمانی که سخت افزار اسیک توسط تولید کنندگان عرضه شد، از آنجایی که دارای قدرت بسیار بیشتری بود، استفاده از CPU و GPU و FPGA به طور کلی منسوخ شدند.
همچنین لازم به ذکر است که نقطه حداکثری برای سختی استخراج بیت کوین وجود ندارد و این احتمال وجود دارد که این سختی تا زمانی که همه بیتکوین ها استخراج شوند افزایش یابد. انتظار می رود این اتفاق در سال 2140 رخ دهد. علاوه بر این، عامل سختی ماینینگ می تواند تا پیش از بلاک های 2,016 رشد و افزایش گسترده ای داشته باشد. افزایش 15 درصدی سختی ماینینگ در جهان بیت کوین امری غیر معمول نیست، اما چنین اتفاقی برای آن دسته از ماینرها که قادر به بروز رسانی دستگاه ها و سخت افزار های خود نیستند امری ناراحت کننده است.
با وجود اینکه سختی استخراج بیت کوین می تواند کاهش یابد، بعید است که این اتفاق بیش از دو بار در یک سال رخ دهد. در حقیقت هنگامی که به آخرین نمودار نگاه می کنید، متوجه می شوید که نمودار بیانگر روندی افزایشی در مساله سختی استخراج است و هر چه زمان پیش می رود سختی نیز افزایش مییابد. از 11 جولای 2015 تا به حال تنها 5 تنظیمات ایجاد شد که در آن سختی استخراج کاهش یافته است.
هر کس که به دنبال سرمایه گذاری در جهان ماینینگ است (چه استخراج بیت کوین و یا هر ارز دیجیتال دیگر) سختی استخراج یک عامل حیاتی است که باید بدان توجه داشت. هرچه بلاک های بیشتری در شبکه ایجاد می شود و ماینرهای بیشتری قدرت هش را در شبکه توزیع می کنند، درآمد حاصله از ماینینگ کاهش مییابد. پذیرندگان اولیه یک ارز دیجیتال جدید معمولا به دلیل پایین بودن سختی ماینینگ حجم بالایی از کوین ها را تولید می کنند. همیشه خوب است که نمودارها را بررسی کرده و ببینیم که ماینینگ یک ارز دیجیتال خاص چه هنگام سود دهی ندارد.
یکی از قابلیتهای ارزهای دیجیتال که آنها را محبوب ساخته، استفاده از بلاک چینهای عمومی است. این نوع بلاک چینها شفاف هستند و هر کسی بدون نیاز به اجازه گرفتن از مرکز یا نهادی میتواند در این شبکهها فعالیت کند و یا از آنها خارج شود. برای مثال شما برای وارد شدن به شبکه بیت کوین، اتریوم و لایت کوین نیاز ندارید که از شخص یا گروهی اجازه بگیرید. تنها کاری که لازم است انجام دهید، دانلود کردن کل بلاک چین این شبکهها و اجرای یک فول نود است.
فول نودها دستگاههایی هستند که کل تاریخچه تراکنشهای شبکه را در حافظه خود نگهداری میکنند و به طور مستقیم وظیفه اعتبارسنجی تراکنشها را بر عهده دارند.
عملیات استخراج یا همان ماینینگ هم به صورت آزادانه توسط هر شخص یا گروهی در شبکه میتواند انجام شود. اساس کار ارزهای دیجیتالی که از سازوکار استخراج استفاده میکنند، حل کردن یک مسئله پیچیده به نام «هش» در هر بلاک است تا پاسخ آن را پیدا کنند و به این وسیله تراکنشهایی که در آن بلاک قرار گرفته است، تایید شوند. ماینرها در فرایند پیدا کردن هش هر بلاک، این کار را با حدس و خطا انجام میدهند.
هش یا همان مسئله ریاضی پیچیدهای که جزء اساسی تمام ارزهای دیجیتال است، حاصل تابعی به نام تابع هش (Hash Function) است. این تابع یکطرفه در ارزهای دیجیتال، داده یا ورودیها که همان تراکنشهای افراد مختلف است را دریافت میکند و خروجی آن رشته عباراتی با طول و حجم ثابت است. یکی از جالبترین ویژگیهای توابع هش آن است که امکان رسیدن به داده اولیه از طریق داشتن خروجی را تقریبا غیرممکن میکند.
سختی استخراج چیست؟
اساس کلی مفاهیم سختی شبکه در تمامی ارزهای دیجیتال یکسان است. برای توضیح سختی شبکه یکی از ارزهای دیجیتال قابل استخراج مانند بیت کوین را در نظر بگیرید.
سختی شبکه بیت کوین هر دو هفته یک بار تغییر میکند تا زمان پیدا شدن هر بلاک به طور میانگین 10 دقیقه باقی بماند. در صورتی که سختی شبکه وجود نداشته باشد، با وارد شدن ماینرهای بیشتر به شبکه حدسهایی که درباره هش هر بلاک زده میشود نیز افزایش پیدا میکند. به دنبال افزایش تعداد حدسهای زده شده، احتمال پیدا شدن هر بلاک در زمانی کمتر از 10 دقیقه هم بیشتر میشود.
با این حساب عامل کنترل کنندهای در شبکه وجود نخواهد داشت تا جلوی ماینرها را از ایجاد بلاک در هر دقیقه، ثانیه و یا حتی کمتر از یک ثانیه بگیرد و آنها را وادار به ایجاد بلاک در زمان حدودی 10 دقیقه کند.
گفته شد که سختی شبکه بیت کوین هر دو هفته یکبار (به عبارت دیگر پس از ساخته شدن هر 2016 بلاک)، تغییر میکند. با در نظر داشتن زمان 10 دقیقه برای حل هر بلاک، زمان مورد نیاز برای حل این تعداد بلاک، 20,160 دقیقه خواهد بود.
اما اگر تعداد ماینرها در این مدت دو هفتهای افزایش پیدا کند و این تعداد بلاک زودتر از موعد مشخص شده و یا دیرتر حل شوند (برای مثال در 18,000 دقیقه)، در این صورت سختی شبکه باید خود را با تعداد ماینرها مطابقت دهد.
اگر زمان حل شدن مجموع 2016 بلاک را بر مقدار ایدهآل 10 دقیقه به ازای هر بلاک تقسیم کنیم، با یک تناسببندی ساده میتوان فهمید که سختی شبکه باید نسبت به حالت قبلی فرضاً 20160/18000 یا 1.12 برابر شود.
در صورتی که نسبت به دست آمده بیشتر از 1 باشد، ماینرها با سرعت بیشتری نسبت به حد معمول بلاکها را حل کردهاند و در صورتی که این عدد کمتر از یک باشد، قدرت استخراجکنندگان نسبت به قبل کاهش داشته است.
نمودار سختی بیت کوین از آغاز فعالیت شبکه
نمودار سختی شبکه بیت کوین از سایت بلاک چین داتکام قابل دسترس است. مفهوم نمودار سختی و اعدادی که در آن به کار رفته، بیانگر نسبتی است که مثلا استخراج بیت کوین نسبت به هفته گذشته یا مثلا روزهای ابتدایی شروع کار بیت کوین، چقدر دشوارتر شده است.
یکی از منابعی که سختی شبکه را به خوبی توضیح داده، سایت learnmenabitcoinاست. نموداری را تصور کنید که اعداد 1 تا 100 بر روی آن قرار گرفتهاند و قرار است دستگاهی در هر دقیقه عددی تصادفی در این بازه انتخاب کند. عدد 50 را به عنوان هدفی در نظر میگیریم که اعداد تصادفی کمتر از آن مدنظر ماست. در اینصورت به طور میانگین باید 2 دقیقه برای به دست آمدن هر عدد زیر 50 صبر کنیم. در صورتی که هدف ما اعداد زیر 20 باشد، این زمان به 5 دقیقه افزایش مییابد.
البته ممکن است شانس با ما یار باشد و همان عدد اولی که دستگاه به طور تصادفی انتخاب میکند، زیر 20 باشد اما در یک بازه طولانی، زمان مورد نیاز برای پیدا شدن عدد زیر 20 همان 5 دقیقه خواهد بود.
پس با عوض کردن عددی که آن را به عنوان هدف میشناسیم، مدت زمان به دست آمدن آن نیز تغییر میکند.
سختی شبکه یا دیفیکالتی نیز به همین صورت کار میکند. ماینرها تلاش میکنند تا با تولید اعداد تصادفی، به هشهایی کمتر از هش هدف (Target Hash) دست یابند. با سختتر شدن استخراج، هش هدف نیز کمتر و کمتر میشود. البته این کار با اضافه شدن صفرهای بیشتر به ابتدای هش هدف انجام میشود. به همین خاطر هم هشِ بلاکهای جدیدتر در شبکه بیت کوین، نسبت به بلاکهای چند سال قبل صفرهای بیشتری دارند ماینر ساز.
اما اگر مثال نمودار 1 تا 100 را در نظر بگیرید، اعدادی که بر روی نمودار بیت کوین وجود خواهند داشت بسیار بزرگ هستند. به همین دلیل هم کامپیوترها در فرمت هگزادسیمال یا پایه 16 با این اعداد سروکار دارند.