سختی شبکه یا سختی استخراج چیست؟
سختی شبکه یا سختی استخراج (Difficulty)، معیاری است که نشان میدهد استخراج یک بلوک در یک بلاکچین برای یک رمزارز خاص چقدر دشوار است. سختی استخراج بالا به این معنی است که برای تأیید تراکنشهای وارد شده در یک بلاکچین به قدرت محاسباتی بیشتری نیاز دارد؛ فرآیندی که استخراج نامیده میشود. سختی پارامتری است که بیت کوین و سایر رمز ارزهایی که سازوکار آنها اثبات کار (PoW) میباشد، از آن برای ثابت نگه داشتن زمان متوسط بین بلاکها با تغییر قدرت هش شبکه استفاده میکنند. سختی در امر استخراج مهم است زیرا سختی بالا میتواند به ایمن کردن شبکه بلاکچین در برابر حملات مخرب کمک کند.
در این مقاله سعی شده سختی شبکه را به صورت خلاصه توضیح داده و همچنین تاثیر آن را بر استخراج رمز ارزها بررسی کنیم.
نحوه کار بیت کوین
بیتکوین و سایر رمز ارزها که از مکانیزم اثبات کار استفاده میکنند، از طریق فرآیند استخراج حفظ میشوند. استخراج یا ماینینگ توسط بنیانگذار بیت کوین، ساتوشی ناکاموتو طراحی شد. اساس کار رمزارزهایی که از مکانیزم استخراج استفاده میکنند، حل کردن یک مسئله به نام هش در هر بلاک میباشد. ماینرها تراکنشهایی را که روی یک بلاکچین انجام میشود تأیید میکنند و وظایف حسابرسان را برای جلوگیری از تقلب و اطمینان از مشروعیت تراکنشها انجام میدهند. ماینرها با حدس و خطا، هش هر بلاک را پیدا میکنند.
در این سیستم، ماینرها برای یافتن یک بلوک جدید با هم رقابت میکنند و جدیدترین دسته از دادههای تراکنش را به زنجیره اضافه میکنند. زمانی که به اندازه کافی تراکنش تایید شد، یک بلوک جدید به بلاکچین اضافه میشود. میزان قدرت محاسباتی مورد نیاز برای استخراج یک بلوک با معیار سختی داده میشود. مدت زمانی که برای یافتن یک بلوک جدید طول میکشد، به سطح سختی بستگی دارد. برای اندازهگیری سختی یک بلوک جدید، درک قدرت هش مهم است که نشاندهنده قدرت محاسباتی ترکیبی مورد استفاده برای استخراج و پردازش تراکنشهای روی بلاکچین است.
هش (Hash) چیست؟
هش یک کد الفبایی است که برای نمایش کلمات یا دادهها استفاده میشود. هش که همان مسئله ریاضی است که بالاتر به آن اشاره شد، حاصل تابعی به نام تابع هش (Hash Function) میباشد.
استخراجکنندهها یا ماینرها، دستهای از دادههای تراکنش را میگیرند و آن را از طریق یک الگوریتم هش اجرا میکنند، یک تابع یک طرفه که با توجه به مجموعهای از دادهها، همیشه همان خروجی را تولید میکند اما خروجی آن (رشته عباراتی با طول و حجم ثابت) برای نشان دادن دادههای اصلی قابل برگشت نیست. الگوریتمهای هش برای ایجاد این کدهای هش تصادفی استفاده میشود. قبل از اینکه بتوان دادههای جدیدی را به یک بلاکچین اضافه کرد، استخراجکنندگان باید برای تولید هش کمتر یا برابر با یک مقدار عددی به نام هش هدف (target hash) رقابت کنند.
مفهوم سختی شبکه یا سختی استخراج
یک هش معتبر باید از مقدار هدف مشخصی که بهطور خودکار و دورهای توسط پروتکل رمزارز تنظیم شده، کمتر باشد. هرچه مقدار هدف پایینتر باشد، یک ماینر باید تعداد دفعات بیشتری از تابع هش را طی کند تا به نتیجه قابل قبولی دست یابد، به عبارت دیگر، سختی بالاتر است. یک ماینر در تئوری، میتواند خوش شانس باشد و در اولین تلاش، یک هش معتبر برای یک بلوک مشخص به دست آورد. از آنجایی که هر هش بهطور تصادفی ایجاد میشود، میتواند میلیونها حدس یا هش را قبل از برآورده شدن هش هدف و ضرب کوینهای جدید، انجام دهد. پس از آن، تراکنشها به یک بلوک جدید در بلاکچین اضافه میشوند. در واقع فرآیند هش به نوعی شبیه به سیستم قرعهکشی است.
هرچه نرخ هش بالاتر باشد، کنترل بلاکچین برای یک کلاهبردار دشوارتر است زیرا به قدرت هش بیشتری نیاز است.
به عبارت دیگر، هر چه سختی بالاتر باشد، امنیت شبکه بیشتر میشود.
تاثیر سختی شبکه بر استخراج
اگر تعداد ماینرهای بیشتری به شبکه وارد شوند، منجر به پیدا شدن هر بلاک در زمانی کمتر از ۱۰ دقیقه خواهد شد. بنابراین برای جلوگیری از این اتفاق، سختی شبکه بیتکوین تقریبا هر دو هفته یک بار (پس از ساخته شدن هر ۲۰۱۶ بلاک) تغییر میکند تا این زمان به طور میانگین ۱۰ دقیقه باقی بماند.
درنتیجه اگر تعداد ماینرها در این دو هفتهای بیشتر شود و تعداد بلاک زودتر و یا دیرتر از موعد مشخص شده حل شوند، سختی شبکه باید خود را با تعداد ماینرها مطابقت دهد.
مثالی از سختی شبکه
تا ۲ آوریل ۲۰۲۱، سختی شبکه برای بیت کوین برابر با ۲۳.۱۴ تریلیون بود. اگر تغییر سختی را با هم مقایسه کنیم، میبینیم که در اول آوریل ۲۰۱۸، سختی بیت کوین ۳.۵۱ تریلیون بود. نمودار زیر، که از سایت glassnode.com دریافت شده است، تغییرات سختی بیتکوین را در طول سالها نشان میدهد:
مزایای سختی شبکه
ممکن است تعجب کنید که اگر سختی بالاتر به این معنی باشد که ماینرها یک عملکرد مشابه را بارها و بارها تکرار کنند، چرا شرکت کنندگان یک شبکه این سختی را ایجاد میکنند. دو مزیت کلیدی برای سختی وجود دارد:
نرخ ثابت بلوکهای جدید
وایت پیپر بیتکوین که توسط ساتوشی ناکاموتو نوشته شد، توضیح میدهد که چگونه سختی اثبات کار (proof of work) به تولید ثابت بلوکهای جدید اضافه شده به بلاکچین کمک میکند. اگر بلوکها خیلی سریع تولید شوند، سختی افزایش مییابد.
بیت کوین طوری طراحی شده که به طور متوسط هر ۱۰ دقیقه یک بلاک جدید به بلاکچین اضافه میکند. هدف دیگر رمز ارزها بلوکهای بیشتر است؛ به عنوان مثال، هدف رمز ارز لایت کوین، رسیدن به ۲.۵ دقیقه میباشد. اما مسئله این است که میزان قدرت محاسباتی که ماینرهای شبکه به طور جمعی کنترل میکنند میتواند بسیار متفاوت باشد.
هنگامی که ساتوشی ناکاموتو اولین بلوک را استخراج کرد، تنها یک دستگاه در شبکه وجود داشت؛ احتمالاً یک لپتاپ یا کامپیوتر ساده. اما امروزه تعداد زیادی از ASICها وجود دارد. ASICها ابزارهایی هستند که به طور خاص برای استخراج رمز ارزها با بیشترین سرعت ممکن طراحی شدهاند. به منظور اطمینان از اینکه شبکه بلوک جدید را با نرخ متوسط ثابت تولید میکند، نرم افزار تنظیم شده در دستگاه به طور خودکار هش هدف را بالا یا پایین تنظیم میکند که به این ترتیب منجر به سختی کمتر یا بالاتر میشود. وقتی ناکاموتو اولین بلوک (genesis block) را استخراج کرد، سختی بیت کوین یک بود.
امنیت شبکه
هش ریت کلی، بینشی در مورد امنیت شبکه رمز ارزها فراهم میکند، زیرا کلاهبرداران یا بازیگران بد باید بر کل قدرت هش شبکه غلبه کنند تا در یک حمله مخرب را انجام دهند.
هر چه سختی بالاتر باشد، حدسها یا هشهای بیشتری برای رسیدن به نیاز هش مورد نیاز است. در نتیجه، این فرآیند به دست آوردن کنترل اکثریت، اکثریت ۵۱ درصدی از شبکه بلاکچین، برای مهاجمان بسیار دشوار و پرهزینه میکند.
جمعبندی
معیار سختی شبکه یا سختی استخراج یا همان Difficulty، متغیری است با هدف ثابت نگه داشتن متوسط زمان ایجاد یک بلاک در شبکه. در رمز ارزهایی با قابلیت استخراج (دارای مکانیزم و اثبات کار یا PoW)، وجود معیاری که بتواند در برابر افزایش و یا کاهش تعداد ماینرها، انعطافپذیر عمل کند، ضروری میباشد. در این مقاله سعی شد، شما را بیشتر با این قابلیت آشنا کنیم و اینکه چه تاثیری روی قیمت خواهد داشت.