فهرست مطالب
- سختی شبکه؛ نگاهی به این شاخص مهم دنیای ارزهای دیجیتال
- بررسی مفهوم هش؛ موضوعی مهم برای درک بهتر سختی شبکه
- چگونگی عملکرد سختی شبکه
- نوسانات سختی شبکه چطور ارزیابی میشوند
- چه عواملی بر درجه سختی شبکه بیتکوین تاثیر میگذارند
- سختی شبکه بیتکوین چه اهمیتی دارد
- تکامل تجهیزات ماینینگ بیتکوین از زمان شروع به کار تا به امروز
- کدام ارزهای دیجیتال بازار، سختی استخراج دارند
- سختی شبکه بیتکوین چگونه محاسبه میشود
- نمودار سختی شبکه، چه پارامترهایی را به ما نشان میدهد
- اعداد تصادفی چه نقشی در فعالیت ماینینگ دارند
- سخن آخر
سختی شبکه؛ نگاهی به این شاخص مهم دنیای ارزهای دیجیتال
سختی شبکه یا سختی استخراج، در واقع بیانگر میزان دشواری حل معماهای پیچیده ریاضی فرایند استخراج است. سختی شبکه متغیری است که هدف آن، ثابت نگه داشتن میانگین زمان ایجاد یک بلاک درون شبکه است. چنین متغیری برای ارزهای دیجیتالی قابل استفاده است که ساز و کاری ثابت دارند.
سختی استخراج، تابعی کنترل شده است که سبب میشود تعداد کوینهای مورد نظر در محدوده زمانی مشخصی تولید و کنترل شود. با افزایش میزان سختی شبکه، فرایند ماینینگ نیز پیچیدهتر میشود. بنابراین بهتر است فراموش نکنید که در زمان بررسی کردن این مساله که کدام ارز دیجیتال را باید استخراج کنید، عامل سختی شبکه را نیز مد نظر داشته باشید و محاسبات مربوط به سوددهی خود را انجام دهید. از طرفی همانطور که ارزهای دیجیتالی مانند بیتکوین روز به روز محبوبتر میشوند، تعداد رایانههای شرکتکننده در شبکه همتا به همتا نیز افزایش پیدا میکند.
بررسی مفهوم هش؛ موضوعی مهم برای درک بهتر سختی شبکه
هش تابعی است که هر ورودی با هر طولی را به یک خروجی با طول ثابت تبدیل میکند. در بحث بازار ارزهای دیجیتال به خصوص بیتکوین، با هشهای بسیار زیادی مواجه هستیم. اصولا هر تراکنش در بلاکچین بیتکوین حاوی اطلاعاتی است که بسیار طولانی هستند و نباید با مشاهده آنها بتوانیم جزئیات تراکنش را متوجه بشیم. در واقع مقدار تراکنش و شخصی که آن را ثبت کرده است باید کاملا پنهان بماند. تابع هش این وظیفه مهم را بر عهده دارد.
دقیقا به همین خاطر است که تراکنشهای بیتکوین برگشتناپذیر هستند. در این بین اما مفهومی هم به نام هشریت وجود دارد. هشریت تعیین میکند که چند فرایند هشینگ در جریان است. در واقع هشریت نشاندهنده قدرت و سرعت دستگاه ماینینگ است. به هر میزان که هشریت بیشتر باشد، یعنی شانس بیشتری نیز برای استخراج داریم.
چگونگی عملکرد سختی شبکه
در بلاکچینهای یک ارز دیجیتال بر پایه اثبات کار مانند بیتکوینکش، هشریت همیشه باید با سختی استخراج تناسب داشته باشد. در واقع یک هش زمانی معتبر است که کمتر یا برابر با مقدار هش هدف تعیین شده باشد. هش هدف نیز به صورت دورهای و اتوماتیک توسط پروتکل هر رمزارز محاسبه میشود. به هر میزان که فاصله مجاز بین هش به دست آمده توسط ماینرها و هش هدف کمتر باشد، ماینر نیز باید تابع هش هدف را در دفعات بیشتری اجرا کند تا بتواند به یک مقدار قابل قبول دست پیدا کند.
در نتیجه میتوان گفت که هش هدف دقیقتر، معادل با سختی استخراج بیشتر است. بر روی کاغذ اگر بخواهیم یک ماینر خوشاقبال را در نظر بگیریم، میتواند در نخستین تلاش خود، موفق به پیدا کردن هش معتبر برای بلاک بشود. با این وجود، با گذشت زمان و افزایش میزان سختی استخراج، ماینرها مجبورند که به صورت متوسط برای هر بلاک، نیروی بیشتری را صرف کنند تا بتواند یک هش معتبر پیدا کنند.
توان رایانهای
به صورت معمول، افراد و سازمانها برای افزایش شانس خود در مسابقه پیدا کردن هش معتبر، توان رایانهای خود را با یکدیگر به اشتراک میگذارند. بنابراین توان هش یک شبکه رمزارزی، در واقع نشاندهنده هشریست همه دستگاههای استخراج است. هشریست هم به نوبه خود بیانگر تعداد هشهایی است که یک ماینر میتواند در هر ثانیه تولید کند.
از آنجایی که هر هش به صورت تصادقی تولید میشود، قبل از پیدا کردن هش معتبر، این امکان وجود دارد که میلیونها هش تولید بشود. بعد از آنکه هش معتبر یافت شد، کوینهای جدید ایجاد میشوند و در قالب پاداش به ماینر برنده اعطا میشوند. به بیان سادهتر میتوان گفت که فرایند هش نیز درست به مانند یک قرعهکشی است که تنها برنده میتواند به بلاکچین، بلاک تازه اضافه کند و مستحق دریافت پاداش باشد.
نوسانات سختی شبکه چطور ارزیابی میشوند
سختی استخراج، به عنوان پارامتری پویا عمل میکند که به شکل مداوم با توجه به شرایط شبکه تنظیم میشود. بهتر است به یاد داشته باشید که هدف از ماینینگ، کشف و تولید یک بلاک جدید با توجه به برنامهنویسی شبکه است. در نتیجه سختی نیز باید توسط همان سیستم تنظیم بشود. همه این موارد با در نظر گرفتن قدرت هشی که شبکه در یک لحظه خاص دارد، صورت میگیرد.
مثالی برای درک بهتر نوسانات سختی شبکه
فرض کنید اگر شبکه بیتکوین بلاکهای جدید را در زمان کمتر از 10 دقیقه تعیین شده تولید کند، در این صورت همان شبکه سختی را نیز به میزان بیشتری تنظیم خواهد کرد. این یعنی هرچقدر که بلاکها، سریعتر از حد استاندارد تولید شوند، سختی نیز افزایش پیدا میکند. برعکس این موضوع، در صورتی که شبکه، بلاکهای جدید را در مدت زمان بیش از 10 دقیقه تولید کند، سختی استخراج کاهش پیدا میکند، زیرا سرعت تولید بلاک کم شده است.
چه عواملی بر درجه سختی شبکه بیتکوین تاثیر میگذارند
یکی از جنبههای تاثیرگذار بر درجه سختی شبکه بیتکوین، هزینه برق و ارزش بیتکوین در بازار است. این مطلب با ارز امانی که به منظور پوشش هزینههای عملیاتی که در شبکه استفاده میشود، در ارتباط است. زمانی که قیمت بیتکوین بالا باشد، استخراج سودآور میشود. برعکس، در صورتی که قیمت بیتکوین پایین باشد، بعضی از ماینرها شبکه را ترک خواهند کرد زیر سود آنها، هزینههای عملیاتی را پوشش نخواهد داد. در نتیجه زمانی که ماینینگ سودآور باشد، تعداد ماینرهای متصل به شبکه بیشتر و در نتیجه قدرت هش بیشتر و درجه سختی نیز بیشتر میشود.
از طرفی اگر ماینیگ سودی نداشته باشد، قدرت کاهش یافته و به همراه آن سختی نیز کاهش پیدا میکند. میزان سختی شبکه بیتکوین با توجه به میزان سهولت عملیات استخراج میتواند کاهش یا افزایش یابد. در شبکه بیتکوین زمان ایجاد یک بلاک جدید باید 10 دقیقه باشد. این یعنی هر 10 دقیقه یکبار یک بلاک جدید در شبکه بیتکوین ایجاد میشود. بنابراین به منظور اطمینان از حفظ تعادل و یکپارچگی شبکه، زمانی که تعداد ماینرها بیشتر شده و یا به اصطلاح استخراج، آسانتر میشود، سختی نیز افزایش پیدا میکند. بالعکس زمانی هم که استخراج به دلیل کاهش ماینرها سخت میشود، سختی شبکه نیز افزایش پیدا میکند.
سختی شبکه بیتکوین چه اهمیتی دارد
به منظور درک اهمیت سختی استخراج در زیستبوم بیتکوین، ابتدا باید بدانیم که ساز و کار اجماع این رمزارز به چه شکل است. در یک شبکه گسترده که در واقع بر هیچ نهاد مرکزی متکی نیست، پروتکلهای اجماع، تنها روش برای اعمال تغییرات هستند. در این بین، ساختارهای سنتی اجماع نمیتوانند انتظارات یک شبکه رمزارزی گسترده که غیرمتمرکز میباشند را برآورده کنند. در همین راستا، ساتوشی ناکاماتو، خالق بیتکوین، دست به ابتکاری به نام ساز و کار اجماع اثبات کار زد. ایده اصلی نهفته در پشت این ساختار این است که هر فردی که به دنبال مشارکت در شبکه بیتکوین است، باید مبلغی را بپردازد. در این شبکه بیتکوین، کاربران این بها را بهوسیله کار خود پرداخت میکنند.
منظور از کار چیست
مقصود از کار هم در این بحث، میزان توان رایانشی است که هر کاربر و یا ماینر باید به منظور استخراج واحدهای تازه بیتکوین مصرف کند. درست در همین نقطه، شاخص سختی استخراج تعریف میشود تا همزمان با رشد شبکه و افزایش تعداد ماینرها، استخراج بیتکوینهای تازه به آسانی گذشته نباشد.
از سویی دیگر میتوان گفت که سختی شبکه، معیاری است که میزان دشواری استخراج بیتکوین را افزایش میدهد تا ماینرهای خرابکار دیگر نتوانند با تکیه بر توان رایانشی فزاینده خود، اقدام به هرگونه خرابکاری در شبکه کنند.
تکامل تجهیزات ماینینگ بیتکوین از زمان شروع به کار تا به امروز
در ابتدا نخستین ماینرها از CPU رایانههای شخصی خود برای استخراج بیتکوین استفاده میکردند. ماینرها سپس با استفاده از کارتهای گرافیکی به منظور استخراج هر چه بهتر بیتکوین توسعه پیدا کردند. اما با این حال کارتهای گرافیکی نیز نیاز به صرف انرژی بیشتری دارند.
در سالهای اخیر قابلیتی به «ASIC» یا تراشههای مدار مجتمع ویژه برنامه به طور خاص برای استخراج بیتکوین توسعه پیدا کردند. در حال حاضر بیتکوین و سایر ارزهای دیجیتال از طریق استخرهای ماینینگ، استخراج میشوند. برخلاف طلا که هنوز ذخایر کشف نشدهای دارد، بیتکوین دارای تعداد محدود 21 میلیون واحد است. در حال حاضر آمارها نشان میدهند که بیش از 85 درصد کل بیتکوین قبلا استخراج شده است و تخمین زده میشود که آخرین بیتکوین تا سال 2140 استخراج شود.
کدام ارزهای دیجیتال بازار، سختی استخراج دارند
علاوه بر بیتکوین، هر ارز دیجیتال دیگری که از روش اثبات کار برای تایید و اعتبارسنجی تراکنشها استفاده میکند، دارای سختی استخراج است. در روش اثبات کار، ماینرها علاوه بر یافتن بلاک جدید و اضافه کردن آن به زنجیره، با هم رقابت میکنند.
از بین ارزهای پرشماری که بر اساس بلاکچینهای اثبات کار هستند، میتوانیم به موارد زیر اشاره کنیم:
سختی شبکه بیتکوین چگونه محاسبه میشود
سختی شبکه بیتکوین با هر 2016 بلاک جدید، تقریبا در هر دو هفته تغییر میکند. این موضوع یعنی هر بار که 2016 بلاک در زنجیره بلاکها ساخته میشود، برای تولید هر بلاک زمانی در حدود 10 دقیقه وقت صرف میشود. با این حال اگر تعداد ماینرها افزایش پیدا کند و یا زمان حل معمای رمزنگاری شده بیشتر یا کمتر شود، سختی شبکه نیازمند این است که خود را با تعداد ماینرها تطابق دهد.
ذکر مثالی برای محاسبه سختی شبکه بیتکوین
اگر فرض کنیم با افزایش تعداد ماینرها، زمان حل بلاکها در دو هفته 19000 دقیقه باشد، با استفاده از روشی که در ادامه به آن خواهیم پرداخت، میتوانیم میزان سختی شبکه را محاسبه کنیم. زمان حل شدن 2016 بلاک در مدت زمان تقریبی 10 دقیقه برابر با 20160 دقیقه است. بنابراین از طریق تناسب زیر متوجه میشویم که سختی شبکه باید 3.1 برابر حالت قبلی شود.
در شرایطی که این نسبت بزرگتر از یک باشد، نشاندهنده این موضوع است که ماینرها با سرعت بیشتری عمل استخراج را انجام دادهاند. اما در صورتی که این نسبت کمتر از یک باشد یعنی توانایی ماینرها در مقایسه با حالت قبلی کاهش پیدا کرده است.
نمودار سختی شبکه، چه پارامترهایی را به ما نشان میدهد
اگر به چارت دیفیکالتی شبکه بیتکوین توجه کنیم، اعدادی را میبینیم که نشانگر میزان سختی و یک نسبت هستند. این نسبت سختی، شبکه استخراج بیتکوین را به ما نشان میدهد، به این معنا که دیفیکالتی شبکه در مقایسه با هفته گذشته یا نخستین روزهای آغازین انتشار بیتکوین، به چه میزان سختتر شده است.
تصور کنید اعداد یک تا صد بر روی یک نمودار قرار گرفتهاند و در هر دقیقه ماشینی یک عدد تصادفی را انتخاب میکند. اگر یکی از این اعداد تصادفی عدد 50 باشد، به طور متوسط دو دقیقه طول میکشد تا عددی زیر 50 انتخاب شود.
حال در شرایطی که هدف انتخاب عددی زیر 20 باشد، برای انتخاب این عدد، زمان لازم 5 است. البته امکان دارد که بر حسب شانس، نخستین عددی که ماشین به صورت تصادفی انتخاب میکند، زیر 20 دقیقه باشد. اما در یک محدوده زمانی طولانی، مدت زمانی که لازم است تا عدد زیر 20 پیدا شود، همان 5 دقیقه خواهد بود. اگر هر عدد منتخب دیگری را هم به عنوان هدف در نظر بگیریم، مدت زمان لازم برای به دست آوردن آن نیز تغییر میکند.
اعداد تصادفی چه نقشی در فعالیت ماینینگ دارند
در واقع میتوان گفت که کارکرد سختی شبکه یا همان network difficulty نیز مشابه مطالبی است که قبلا به آن اشاره کردیم. ماینرها در تلاش هستند تا با استخراج اعداد تصادفی، به هشهایی دست پیدا کنند که کمتر از هش هدف باشد. به هر میزانی که ماینینگ سختتر بشود، میزان هش هدف نیز کمتر میشود. در واقع صفرهای بیشتری به اول هش اضافه میشوند که سبب کمتر شدن هش هدف میشوند. در بررسی هش بلاکهای جدیدتر در شبکه هر ارز دیجیتالی از جمله بیتکوین دیده شده که در مقایسه با بلاکهای اولین سالهای تولید، صفرهای بیشتری دارند.
سخن آخر
افرادی که در رشتههای مرتبط با علوم کامپیوتری تحصیل کردهاند به خوبی میدانند که الگوریتمهایی که برای جستجو طراحی میشوند، در زمان اجرا معمولا به زمان بسیار بیشتری نسبت به سایر الگوریتمها نیاز دارند. حال تصور کنید در شبکه بلاکچین و ارز دیجیتال بیتکوین بخواهید در جستجوی عددی با ارقام زیاد باشید. یقینا این کار به خودی خود و در شرایط عادی، بسیار دشوار است. سختی شبکه فاکتوری است که باید شبکه را کنترل کند تا ماینرها بیش از حد زیاد نشوند و تعداد کوینهای استخراج شده هم در شرایط متعادل باقی بمانند.