Bitcoin Mining Difficulty - What is it And How Does it Work?

Updated on: May 2nd, 2020
This content has been Fact-Checked.
Bitcoin Mining Difficulty - What is it And How Does it Work?

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

معدن چگونه کار می کند؟ چه مدت طول می کشد تا بیت کوین 1 من?

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

معدنچی معاملات انتظار در mempool را بر می دارد و آنها را هش می کند.

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

این هش باید کمتر از یک مقدار خاص باشد که «مشکل» نامیده می شود.

چه چیزی مشکل استخراج بیت کوین را تعیین می کند؟ چرا BTC مشکل افزایش می یابد؟

#1 برای حفظ یکپارچگی شبکه

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

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

کاهش مشکل شبکه هنگامی که آن را سخت تر می شود برای کارگران معدن به معدن.

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

#2 ارتباط با نرخ هش

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

معکوس نیز درست است.

اگر مقدار بیت کوین کاهش یابد، مشکل شبکه نیز کاهش خواهد یافت. ممکن است هاشرات به دلایل زیر کاهش یابد:

Bitcoin در حال حاضر مشکل زیادی دارد، به همین دلیل است که معدنچیان زمان سختی را در سیستم دارند.

قیمت BTC کاهش یافت، به همین دلیل بسیاری از معدنچیان معدن را ترک کردند.

برای درک همبستگی بین این دو، بیایید نمودارهای خود را بررسی کنیم. اول از همه، ما نرخ هش را داریم.

پس از آن، ما نمودار دشواری بیتکوین را داریم:

همانطور که می بینید، یک ارتباط بسیار نزدیک بین این دو وجود دارد. در حدود 26 مارس، مشکل شبکه از 16٪ از 16.55 تریلیون به 13.9 تریلیون کاهش یافت. این بزرگترین سقوط در مشکل شبکه از اوایل سال 2013 بود. برای درک اینکه چرا این بار در این زمان اتفاق افتاد، نگاه کنید که چگونه هاسرات نیز درست قبل از کاهش مشکل بیت کوین کاهش یافته است. این شیب به دلیل سقوط قیمت Bitcoin رخ داده است، که بسیاری از معدنچیان را مجبور به ترک عملیات کرد.

بیت کوین چگونه مشکل را محاسبه می کند؟

مشکل شبکه بیت کوین هر بلوک 2016 را تغییر می دهد. فرمول استفاده شده توسط شبکه برای محاسبه مشکل به شرح زیر است:

مشکل = difficulty_1_target/current_target

در فرمول بالا:

هدف یک عدد 256 بیتی است. طبق پروتکل بیت کوین، اهداف یک نوع نقطه شناور سفارشی با دقت محدود هستند. مشتریان بیت کوین بر اساس این واقعیت مشکل دارند. این مقدار نیز به عنوان bdiff شناخته شده است.

difficulty_1_target می تواند بسته به نحوه انتخاب شما برای اندازه گیری مشکل متفاوت باشد. به طور سنتی، این نشان دهنده یک هش است که در آن 32 بیت پیشرو صفر است و بقیه یکی هستند. در واقع، این مقدار نیز به عنوان مشکل استخر و یا pdiff شناخته شده است.

هر بلوک یک نمایش بسته بندی شده از مشکل بیت کوین را در بلوک های خود به نام «بیت» ذخیره می کند. این هدف معمولا به صورت 0x1b0404cb ظاهر می شود (ذخیره شده به ترتیب کمی اندی: cb 04 1b).

یک بلوک مقدار هدف را از طریق یک فرمول از پیش تعیین شده محاسبه می کند. به عنوان مثال. با هدف بسته بندی شده در بالا، به عنوان مثال 0x1b0404cb. هدف هگزادسیمال:

0x0404cb * 2** (8* (0x1b - 3) = 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

حالا بیایید bdiff و pdiff را محاسبه کنیم.

بالاترین هدف ممکن (difficulty_1_target) به عنوان 0x1d00ffff تعریف شده یا به صورت سحر و جادو:

0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

اکنون که ما این مقدار را می دانیم، می توانیم از این برای محاسبه bdiff ما با استفاده از فرمول دشواری = difficulty_1_target/current_target استفاده کنیم

در حال حاضر، همانطور که در بخش قبلی تعریف کردیم، current_target 0x1b0404cb یا 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

بنابراین، برای محاسبه مشکل فعلی:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

= 16307.420938523983

بنابراین، bdiff 16307.420938523983 است.

حالا، بیایید پدیف را محاسبه کنیم. استخر معدن تمایل به استفاده از اهداف غیر کوتاه قرار می دهد که difficulty_1_target در 0x000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

اگر این مورد باشد، برای همین current_target، pdiff ما خواهد بود:

0x00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

= 16307.669773817162

در اینجا یک کد برنامه ای است که از ویکی بیت کوین گرفته شده است که به لاگ ها متکی است تا محاسبات دشواری را آسانتر کند:

آیواستریم #include

#include CMEE

شناور درون خطی fast_log (شناور وال)

{

اعضای هیات * توایع exp_ptr = اعضای هیات reinterpret_cast * (و VAL);

اعضای هیات x = *exp_ptr;

const int log_2 = (((x 23) و 255) - 128;

x و = ~ (255 23)؛

x += 127 23;

*exp_ptr = x;

val = ((-1.0f/3) * val + 2) * val - 2.0f/3؛

بازگشت (((Val + log_2) * 0.69314718f)؛

}

مشکل شناور (بیت بین المللی بدون علامت)

{

max_body دو استاتیک = fast_log (0x00ffff), اسکالند = fast_log (256);

بازگشت درصد این سطح (max_body - fast_log (بیت و 0x00ffffff) + اسکالند * (0x1d - ((بیت و 0xff000000) 24));

}

اعضای هیات اصلی ()

{

std: :دشواری (0x1b0404cb) std: :endl;

بازگشت 0؛

}

چگونه یک مشکل معدن را تنظیم می کنید؟

کارگران معدن استفاده از سخت افزار ASIC تخصصی به معدن بیتکوین. این ماشین ها بسیار سریع هستند و هر ثانیه tetrahashes تولید می کنند. برای یک سیستم بسیار غیر عملی خواهد بود که به سختی هر یک از آنها را بررسی کند تا ببیند آیا همه شرایط لازم را برآورده می کنند یا خیر. این به صورت تصاعدی برای استخرهای معدن درست است. آنها نمی توانند تمام هش های تولید شده توسط یک معدنچی بیت کوین را در هر ثانیه بررسی کنند. به همین دلیل استخرهای معدن از یک مفهوم به نام «زمان اشتراک» استفاده می کنند.

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

دقیقا چطور این کار انجام می شود؟

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

معدنچي ها چطور پاداش ميگيرند؟

کارگران معدن در استخر بر اساس «پرداخت هر سهم» (PPS) پاداش. در این سیستم، معدنچیان برای سهام آنها پاداش می گیرند. ارزش سهام به طور کامل وابسته به چقدر دشوار بود برای کشف سهم است.

بیایید مثال بزنیم تا ببینیم این چگونه کار می کند:

فرض کنید شما یک معدنچی با عجله فردی 50 TH/s هستید.

استخر معدن که شما به آن ملحق شده اند مشکل اشتراک خود را در 1،000،000 تعیین کرده است.

لحظه اي که سهام بالاتر از 1000 هزار دلار گيرت بياد، از استخر پاداش ميگيري.

استخر ممکن است مشکل خود را تغییر دهید تا مطمئن شوید که شما سهام خود را خیلی سریع ارسال نمی کنید.

در حال حاضر، اگر شما برخی از تجهیزات جدید را خریداری کنید و عجله خود را به 150 TH/s افزایش دهید، استخر مشکل شما را به 3،000،000 افزایش می دهد. شما سهام را با همان نرخی که قبلا ارسال کرده اید ارسال خواهید کرد. با این حال، شما 3 برابر پاداش دریافت می کنید که قبلا برای سهام شما ارسال می شود.

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

توجه: اشتراک هدف = 1/مشکل اشتراک گذاری

اهمیت دشواری در اجماع ناکاموتو

برای درک چگونگی دشواری اکوسیستم بیت کوین، باید بدانید که اجماع ناکاموتو چگونه کار می کند. پروتکل های اجماع تنها راه حفظ هر نوع حکمرانی هستند. الگوریتم های اجماع سنتی مانند «فت» ایده آل برای حفظ پروتکل اقتصادی رمزنگاری شده در منطقه گسترده نیستند. به همین دلیل است که ساتوشی ناکاموتو، خالق بیت کوین، با توافق ناکاموتو روبرو شد. اصل مرکزی اجماع ناکاموتو این است که برای شرکت در سیستم، باید یک قیمت پرداخت. در مورد اثبات کار (POW)، یعنی، اجماع Bitcoin، معدنچیان با «کار» قیمت می پردازند. کار، در این مورد، مقدار سنگین انرژی محاسباتی است که یک معدنچی باید برای من یک بیت کوین خرج کند. این جایی است که مشکل وارد می شود. دشواری متریک است که بیت کوین را سخت می کند، به علاوه، این چیزی است که ناکاموتو اجماع اهرم ها را برای حل مشکل هزینه های دوگانه حل می کند.

هزینه های دوگانه چیست؟

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

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

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

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

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

بعدش چي ميشه؟

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

نتیجه گیری - مشکل استخراج بیت کوین

ما امیدواریم که ارزش زیادی در این مقاله پیدا کنید. اگر شما برخی از شک و تردید، پس از آن احساس رایگان برای رسیدن به ما در هر زمان.

Ameer Rosic
#SerialEntrepreneur, Investor, #Digitalmarketing Adviser and Cofounder of @Blockgks a #blockchain innovation hub

Like what you read? Give us one like or share it to your friends and get +16

0
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In