nonce قسمت اصلی اثبات الگوریتم استخراج اثبات کار (PoW) برای بلاکچین ها و ارزهای رمزپایه مانند بیت کوین است. معدنچیان با یکدیگر به رقابت می پردازند یک nonce پیدا کنید که یک هش با مقداری کمتر یا مساوی با تعیین شده توسط سختی شبکه تولید کند. اگر یک ماینر چنین غیره ای را پیدا کند ، بنام a غیر طلایی, سپس آنها حق دارند آن بلوک را به بلاکچین اضافه کنند و پاداش بلاک را دریافت می کنند.

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

بلوک های ساختمانی با Nonces

nonce یک عدد 32 بیتی است. همراه با سایر داده های کلیدی ، مانند هدف دشواری و زمان سنجی ، در هدر بلوک باقی می ماند. وقتی ماینرها بلوک می سازند ، آنها به طور تصادفی یک nonce را انتخاب می کنند و آن را وارد هدر بلوک می کنند و یک هش هدر بلوک جدید ایجاد می کنند.

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

ساختار بلوک

اندازه 32 بیتی nonce به این معنی است که چهار میلیارد ترکیب ممکن وجود دارد. اگرچه از نظر فنی ، به دلیل چیزی بنام the غیر اضافی. این فضای اضافی برای مدت زمان طولانی نیست ، یعنی شما می توانید ده ها میلیارد ترکیب داشته باشید.

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

ارتباط با دشواری معدن

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

هنگام استخراج بیت کوین ، دشواری هر بلوک 2016 تنظیم می شود. این نتایج هر دو هفته یکبار انجام می شود. با این حال ، سایر بلاک چین های PoW تنظیمات سریعتری دارند. به عنوان مثال ، Litecoin به دلیل زمان بلوک کوتاه تر ، دشواری آن هر سه و نیم روز تنظیم می شود. از طرف دیگر ، Digibyte دشواری خود را در هر بلوک در زمان واقعی تنظیم می کند.

چرا تعدیل مهم است

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

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

در بیت کوین ، پس از هر بلوک 2016 ، مشتری بیت کوین زمان واقعی تولید هر بلاک را با زمان هدف مقایسه می کند. سپس دشواری را به طور مناسب تنظیم می کند. هدف این است که معدنچیان بلاک ها را دقیقاً نزدیک به ده دقیقه که ممکن است نزدیک کنند.

محافظت توسط الگوریتم های امن هش

انعطاف پذیری الگوریتم SHA-256 از ماینرها جلوگیری می کند تا روند آزمون و خطا را تسریع و تقلب کنند. SHA-256 از خانواده SHA-2 الگوریتم های هش امن است و توسط NSA در سال 2001 منتشر شد. اگر این الگوریتم شکسته شود ، همانطور که برای کلاس SHA-1 الگوریتم های هش رمزنگاری اتفاق افتاد ، روند PoW تضعیف می شود.

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

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

عملکرد هش

اکنون که تأثیر برخورد در برابر الگوریتم های SHA-1 اثبات شده است ، دیگر نمی توان به آنها اعتماد کرد. این حمله تا حدی به دلیل پیشرفتهای چشمگیر در قدرت رایانه طی دهه گذشته امکان پذیر شد.

در برخی مواقع ، وقتی توان محاسباتی به اندازه کافی افزایش یافته باشد ، SHA-256 نیز در برابر چنین حملاتی آسیب پذیر خواهد بود. با این حال ، توسعه دهندگان بیت کوین باید این موضوع را مدت ها قبل از وقوع بدانند. این بدان دلیل است که تقریباً همیشه چنین حملاتی از نظر تئوری امکان پذیر است ، قبل از اینکه واقعاً اثبات شود که در زندگی واقعی کار می کنند. تیم Bitcoin Core باید به سمت الگوریتمی جدیدتر و سخت تر متمرکز شود.

همچنین لازم به ذکر است که بیشتر پروتکل های احراز هویت در اینترنت در حال حاضر از الگوریتم های SHA-2 استفاده می کنند. اگر آنها یک شبه آسیب پذیر شوند ، ما مشکلات عمده جهانی بسیار فراتر از استخراج بیت کوین خواهیم داشت.

ارزش اثبات کار

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

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

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