Nonce در ماینینگ ارزهای دیجیتال

0 ۵۰

Nonce یک بخش مرکزی از الگوریتم ماینینگ proof of work برای تکنولوژی بلاک چین‌ها و ارزهای دیجیتالی مانند بیت کوین است.
ماینرهای ارزهای دیجیتال بر سر پیدا کردن nonceی که به وسیله‌ی آن بتوانند هشی با قدرت پردازش کمتر یا برابری از سختی‌های موجود در شبکه تولید کنند، با یکدیگر رقابت دارند.
اگر ماینری بتواند یک nonce پیدا کند، nonce مورد نظر “golden nonce” نامیده می شود
و پس از آن، ماینرها می توانند یک بلاک به بلاک چین اضافه کرده و پاداش دریافت کنند.

Nonce یک عدد تصادفی است.

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

ایجاد بلاک‌ها به وسیله‌ی Nonces!

Nonce یک عدد (شماره) 32 بیتی است.
این پارامتر همراه با داده‌های کلیدی‌ای مانند برچسب زمانی در بلاک هدر (block header) باقی می مانند.
هنگامی که ماینرها شروع به ساخت بلاک‌ها می کنند، به صورت رندوم یک nonce انتخاب کرده و آن را در بلاک هدر قرار می دهند
سپس یک هش جدید در بلاک هدر ایجاد می شود.

هش یک عدد 256 بیتی است

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

اندازه 32 بیتی nonce به این معنی است

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

سختی‌های موجود در فرآیند ماینینگ!

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

هنگام ماینینگ رمزارز بیت کوین، سختی‌های موجود در شبکه در هر 2016 بلاک ، مطابقت داده می شوند.

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

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

80%
Awesome
  • Design

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.