سختی شبکه بیت کوین چیست؟ – به زبان ساده + روش محاسبه

۶۱۴ بازدید
آخرین به‌روزرسانی: ۲۱ شهریور ۱۴۰۲
زمان مطالعه: ۹ دقیقه
سختی شبکه بیت کوین چیست؟ – به زبان ساده + روش محاسبه

اطلاعات تراکنش‌ها در شبکه بیت کوین بین تمامی نودهای شبکه توزیع شده است. این اطلاعات توسط ماینرهای شبکه پردازش و در بلاک‌ها ذخیره می‌شوند. با توجه به این‌که بلاک چین بیت کوین نوعی دفتر کل توزیع شده است بنابراین هیچ نهاد متمرکزی بر اجرای صحیح تراکنش‌ها در بلاک چین بیت کوین نظارت ندارد. بنابراین بلاک‌ها در شبکه بیت کوین توسط «الگوریتم اجماع اثبات کار» (Proof of Work) اعتبارسنجی می‌شوند. برای افزایش امنیت شبکه بیت کوین ماینرها برای تولید بلاک جدید باید پازل محاسباتی پیچیده‌ای را حل کنند. سختی شبکه بیت کوین از طرف بلاک چین بیت کوین به‌طور خودکار تنظیم می‌شود و میزان سختی تولید بلاک جدید را تعیین می‌کند.

سختی شبکه بیت کوین چیست ؟

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

مفهوم سختی شبکه بیت کوین

برای این‌که درک بهتری از سختی شبکه بیت کوین داشته باشیم در ابتدا بهتر است نحوه پردازش و ذخیره‌سازی تراکنش‌ها در بلاک چین و نحوه تولید بلاک جدید در بلاک چین را مرور کنیم. شبکه بیت کوین از «الگوریتم اجماع اثبات کار» (Proof of Work) استفاده می‌کند و فعالیت و کارکرد آن‌ وابسته به فرآیند «استخراج» (Mining) است.

ماینرهای شبکه بیت کوین پردازش و بررسی صحت تراکنش‌ها را برعهده دارند. ماینرها در واقع با عملکرد خود امنیت شبکه بیت کوین را حفظ می‌کنند و از درست بودن تراکنش‌ها مطمئن می‌شوند.

ماینرها نرم افزار مخصوص ماینینگ را در کامپیوترهای خود نصب می‌کنند. با کمک این نرم‌افزار ماینرهای بیت کوین می‌توانند با حفظ امنیت با یکدیگر ارتباط داشته باشند. هنگامی که یک کامپویتر نرم افزار ماینینگ را نصب می‌کند به شبکه بیت کوین وارد می‌شود و می‌تواند به ماین بیت کوین اقدام کند.

ارسال کننده تراکنش از «کلید خصوصی» (Private Key) و اطلاعاتی برای رمزنگاری پیام خود استفاده می‌کند. بنابراین به عنوان مثال اگر علی بخواهد تراکنشی را به مهدی ارسال کند باید تراکنشی را به‌طور دیجیتال با استفاده از کلید خصوصی و اطلاعات تراکنش امضاء و سپس آن‌را به نودهای شبکه ارسال کند.

بعد از این‌که تراکنش به شبکه اسال شد، این تراکنش توسط تمامی نودهای موجود در شبکه بررسی و اعتبارسنجی می‌شود. در این مثال نودهای شبکه اطلاعات «کلید عمومی» (Public Key) و اطلاعات مربوط به کلید خصوصی و تراکنش را اعتبارسنجی و درستی آن‌ها را بررسی می‌کنند. کلید خصوصی همانند رمز چهار رقمی کارت عابر بانک است و هر کس آن‌را داشته باشد می‌تواند از حساب شما برداشت کند اما کلید عمومی همانند شماره حساب یا شماره کارت است و آدرسی است که می‌توان به آن بیت کوین واریز کرد.

مفهوم سختی شبکه بیت کوین

Mempool چیست ؟

تمامی تراکنش‌های معتبر در انتظار تأیید توسط شبکه، در Mempool ذخیره می‌شوند. ماینرها تراکنش‌ها را از Mempool برای تولید بلاک جدید انتخاب می‌کنند. Mem اول کلمه memory به معنای حافظه است. pool به معنای استخر است. بنابراین «استخر حافظه» (Mempool) محلی است که هر نود شبکه فهرستی از تراکنش‌های در انتظار تأیید را نگه می‌دارد. در واقع همانند اتاق انتظار است که در آن تراکنش‌ها منتظر هستند تا توسط ماینرها پردازش شوند و در بلاک جدید قرار بگیرند.

در ادامه به توضیح مفهوم هش در بلاک چین و تابع هش می‌پردازیم و نحوه تولید بلاک جدید در بلاک چین و ارتباط آن با سختی شبکه بیت کوین را شرح می‌دهیم.

مفهوم هش در بلاک چین

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

درخت مرکل چیست ؟

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

 

تابع هش چیست ؟

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

 هش ریت چیست ؟

میزان کل قدرت پردازشی مورد نیاز برای پردازش تراکنش‌ها در شبکه «هش ریت» (Hashrate) نام دارد. هش ریت به کاربران شبکه بلاکچینی میزان امنیت و سلامت شبکه را نشان می‌دهد. هر چه میزان هش ریت شبکه بیت کوین بیشتر باشد شبکه از امنیت بالاتری برخوردار خواهد بود. هر چه تعداد ماینرهای شبکه بیشتر شود قدرت پردازشی کل شبکه و هش ریت آن بالاتر می‌رود.

هش سختی شبکه بیت کوین

«هش هدف» (Target Hash) یا هش سختی شبکه مقداری عددی است که هش بلاک هدر برای تولید بلاک جدید باید کمتر یا برابر با آن باشد. تارگت هش برای تعیین سختی شبکه به‌کار برده می‌شود. هش هدف قابل تغییر است و برای تنظیم سختی شبکه بیت کوین استفاده می‌شود. در حالت کلی هش هدف در بلاکچین‌هایی که از «الگوریتم اثبات کار» (Proof-of-Work) استفاده می‌کنند برای تنظیم سختی استخراج به‌کار می‌رود.

شبکه بیت کوین با تنظیم هش هدف، سختی استخراج یا سختی شبکه را تغییر می‌دهد. شبکه بیت کوین با تغییر و تنظیم سختی شبکه، بازه زمانی 10 دقیقه برای تولید هر بلاک جدید در شبکه را ثابت نگه می‌دارد.

هش ریت

نانس چیست ؟

«نانس» (Nonce) عددی است که ماینرها برای پیدا کردن هش مورد نظر و مطابق با هش هدف آن را به‌طور تصادفی تولید می‌کنند. فرآیند تولید بلاک جدید به این شکل است که نانس به هش اطلاعات بلاک اضافه و دوباره هش می‌شود. اگر هش تولید شده شرایط هش هدف را داشت، آن‌گاه بلاک جدید به بلاک چین اضافه می‌شود. در واقع ماینرها با تغییر دادن نانس، بلاک هدر را چندین بار هش می‌کنند تا به میزان کمتر یا برابر با تارگت هش برسند.

بلاک هدر چیست ؟

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

  • «شماره نسخه بلاک» (Block Version Number): شماره نسخه بلاک برای ردیابی تغییرات و به‌روزرسانی‌های شبکه کاربرد دارد.
  • هش بلاک قبلی: ارتباط بین بلاک‌ها و امنیت شبکه بیت کوین را تأمین می‌کند.
  • ریشه مرکل: خلاصه‌ تمامی تراکنش‌های موجود در بلاک است که به‌صورت یک هش در بلاک هدر ذخیره می‌شود.
  • «تأیید زمانی» (Timestamp): اطلاعات زمانی مربوط به رویدادهای بلاک را در خود دارد.
  • میزان سختی هدف: این سختی از طرف شبکه تعیین می‌شود و میزان سختی در تولید بلاک جدید در شبکه را مشخص می‌کند.
  • «نانس» (Nonce): مقداری تصادفی است که ماینرها برای پیدا کردن هش مناسب و مورد تأیید هر بلاک آن را تولید می‌کنند.

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

تولید بلاک جدید

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

تأثیر سختی شبکه بیت کوین بر قیمت

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

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

سختی شبکه و قیمت

نمودار سختی شبکه بیت کوین

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

بنابراین با تغییراتی که در تعداد ماینرهای شبکه روی می‌دهد هش ریت شبکه بیت کوین تغییر می‌کند. با تغییر هش ریت شبکه سرعت تولید بلاک در بلاک چین تغییر می‌کند. برای این‌که سرعت تولید بلاک در شبکه بیت کوین همواره برابر با 10 دقیقه باشد، بلاک چین بیت کوین سختی شبکه را بعد از تولید تعداد معینی بلاک دوباره تنظیم می‌کند. این تغییرات در سختی شبکه را در بازه‌های زمانی مختلف می‌توان توسط نمودار سختی شبکه بیت کوین بررسی کرد. در نمودار زیر سختی شبکه بیت کوین همراه با قیمت بیت کوین را مشاهده می‌کنید.

نمودار سختی شبکه بیت کوین

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

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

محاسبه سختی شبکه بیت کوین

در ابتدای هر 2016 بلاک، شبکه بیت کوین تارگت فعلی را دوباره محاسبه می‌کند. شبکه بیت کوین این کار را با محاسبه مقدار کل دقیقه‌های صرف شده برای استخراج 2016 بلاک قبلی انجام می‌دهد. شبکه بیت کوین این مقدار دقیقه به‌دست آمده را با عدد 20160 مقایسه می‌کند. در هر 2016 بلاک سختی شبکه بیت کوین تنظیم می‌شود تا تولید هر بلاک جدید 10 دقیقه زمان ببرد. بنابراین با ضرب تعداد 2016 بلاک در 10 دقیقه عدد 20160 به‌دست می‌آید که مبنای مقایسه با تعداد دقیقه‌های صرف شده برای تولید 2016 بلاک قبلی است.

برای درک بهتر نحوه محاسبه سختی شبکه بیت کوین فرض کنید تعداد ماینرهای شبکه کاهش پیدا کرده است. بنابراین به‌جای مدت 20160 دقیقه برای تولید 2016 بلاک، این تعداد بلاک در مدت زمانی 25000 دقیقه تولید شده‌اند. سوالی که در این‌جا مطرح می‌شود این است که با توجه به این اطلاعات و کم شدن تعداد ماینرهای شبکه، سختی شبکه بیت کوین را چگونه محاسبه کنیم.

برای این‌کار 25000 را بر 20160 تقسیم می‌کنیم. با تقریب خوبی عدد 1/24 به‌دست می‌آید. عدد به‌دست آمده بزرگتر از یک است و این نشان می‌دهدکه ماینرها با سرعت کمتری استخراج کرده‌اند. اگر این نسبت کمتر از یک باشد نشان‌دهنده این است که ماینرها با سرعت بیشتری استخراج کرده‌اند. بنابراین برای محاسبه سختی شبکه بیت کوین می‌توانیم از فرمول زیر استفاده کنیم.

  • A: سختی شبکه بیت کوین
  • B: سختی قبلی شبکه بیت کوین
  • C: زمان صرف شده برای استخراج 2016 بلاک قبلی

$$A=Btimes(C/20160)$$

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

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

علت پایین رفتن سختی شبکه

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

جمع بندی

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

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

بر اساس رای ۱۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Investopedia
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *