نانس (Nonce)، عددی که تمام ماینرها به دنبال محاسبه ی آن هستند
حتما شنیدهاید که ماینرها با دستگاههای خود به دنبال حل یک مساله ریاضی و یافتن یک عدد هستند و با یافتن جواب آن، پاداش استخراج بلاک جدید به آن ماینر میرسد. مثلا در شبکه بیت کوین تمام ماینرها به طور مداوم در حال شرکت در مسابقهای هستند که هر ده دقیقه یکبار، یک برنده دارد. این برنده ماینری است که موفق شده آن عدد را درست حدس بزند. پس میتوان گفت که تمام ماینرها برای یافتن یک عدد با هم در رقابت هستند. اما این عدد چیست؟ نانس (Nonce) همان عددی است که این همه ماینر در سراسر جهان با مصرف برق زیاد و به کار بستن کامپیوترهای فوق العاده قدرتمند خود به دنبال یافتن آن و دریافت پاداش استخراج بلاک جدید در بلاک چین هستند. در این مقاله قصد داریم شما را با عدد نانس و کاربرد آن در شبکه بلاک چین آشنا کنیم.
ساختار بلاک چین چگونه است؟
برای شناخت بهتر nonce ، ابتدا بهتر است با ساختار بلاکچین آشنا شوید. ساختار بلاکچین از سه مفهوم مهم تشکیل شده است: بلاکها، گرهها و ماینرها.
بلاکها
هر زنجیره (chain) از چندین بلوک تشکیل شده که هرکدام از آنها دارای سه عنصر اصلی داده، نانس و هش هستند. دادهها درون بلوکها ثبت و ذخیره میشوند. نانس یک عدد 32 بیتی است که هنگام ایجاد بلاک بهطور تصادفی تولید میشود و سپس یک هش هدر بلاک ایجاد میکند. هش یک عدد 256 بیتی است که به نانس وصل میشود و باید با تعداد زیادی صفر شروع شود. زمانی که اولین بلوک از زنجیره ایجاد شد، هش رمزنگاری توسط نانس تولید میشود. دادههای درون بلاک تا زمانی که استخراج نشدهاند، با نانس و هش گره میخورند.
ماینرها
ماینرها یا استخراجکنندگان از طریق فرایندی به نام استخراج بلوکهای جدیدی روی زنجیره ایجاد میکنند. در یک بلاکچین، هر بلوک دارای نانس و هش منحصربهفرد خود است و در عین حال، به هش بلوک قبلی در زنجیره هم اشاره میکند. بنابراین استخراج یک بلاک، بهخصوص در زنجیرههای بزرگ، کار آسانی نیست.
ماینرها از نرمافزار ویژهای برای حل مسئله ریاضیاتی فوقالعاده پیچیده بهمنظور یافتن نانس استفاده میکنند. به گفته سایت builtin، از آنجایی که نانس تنها 32 بیت و هش 256 بیت است، تقریبا ۴ میلیارد ترکیب نانس-هش وجود دارد که باید قبل از یافتن ترکیب درست، استخراج شوند. زمانی که استخراجکنندگان این ترکیب را که به آن «نانس طلایی» میگویند پیدا کنند، یک بلوک به زنجیره اضافه میشود.
یکی از مهمترین مفاهیم در بلاکچین، عدم تمرکز است. هیچ یک از کامپیوترها و سازمانها نمیتوانند مالک این زنجیره باشند. در عوض، بلاکچین یک دفتر توزیعشده از طریق گرههای متصل به زنجیره است. گرهها میتوانند یک دستگاه الکترونیکی باشند که کپیهای بلاکچین را درون خود نگه میدارند و عملکرد شبکه را ادامه میدهند.
معنی نانس چیست؟
نانس (nonce) مخفف عبارت «Number Only Used Once» به معنای عددی است که تنها یک بار مورداستفاده قرار میگیرد. نانس در بلاک چین و در زمینه استخراج رمزارز معنی پیدا میکند و منظور از آن، همان عددی است که به یک بلوک هش شده یا رمزنگاری شده در بلاکچین اضافه میشود. استخراجکنندگان شبکه بلاکچین برای یافتن این عدد، مسائل را حل میکنند. زمانی که راهحل پیدا شد، به ماینرهای بلاکچین یک رمزارز به عنوان پاداش کارشان داده میشود.
مفهوم nonce در بلاک چین چیست؟
پیدا کردن نانس در بلاک چین کار دشواری است. از همین رو، از آن بهعنوان راهی برای از بین بردن ماینرهای ضعیف به کار رفته است. دنیای استخراج رمزارزها بسیار چالشبرانگیز است و ماینر اغلب اوقات به یک قدرت محاسباتی عالی احتیاج دارد تا بتواند برای حل کردن نانس تلاش کرده و آن را به دست آورد.
بلاکچین را سنگ بنای رمزارز میدانند. بهمنظور ایمن نگه داشتن بلاکچین، دادههای بلوکهای قبلی، رمزنگاری میشوند و بهصورت دنبالهای از اعداد و حروف درهم «هش» میشوند. این کار با پردازش ورودی بلوک از طریق تابعی که یک خروجی با طول ثابت تولید میکند، انجام میشود.
تابعی که برای تولید هش استفاده میشود، قطعی است. این بدان معناست که تابع بهازای تمام ورودیهایی که استفاده میشود، یک نتیجه یکسان ایجاد میکند. به عبارت دیگر، این تابع میتواند یک ورودی هش شده را به طور کارآمد تولید کرده و با توجه به امنیت بلاکچین، تعیین ورودی را دشوار کند. تابع استفادهشده در بلاکچین در یک هش کاملا متفاوت، تغییرات کوچکی را برای نتیجه ورودی ایجاد میکند. این سیستم پیچیده امنیت و حریم خصوصی شبکه بلاکچین را تامین میکند.
افزودن تراکنشها به بلاکچین به قدرت پردازش کامپیوتری قابلتوجهی نیاز دارد. پاداش استخراج به ماینری تعلق میگیرد که بتواند بهعنوان اولین نفر هشی را ایجاد کند که مجموعه خاصی از الزامات را برآورده میکند. این هش با نام هش هدف شناخته میشود. روند حدس زدن هش از هدر بلوک آغاز میشود. هر هش شامل موارد زیر است:
- شماره نسخه بلوک
- زمان اجرا
- هش بهکاررفته در بلوک قبلی
- هش ریشه میکل (Merkle Root)
- نانس
- هش هدف
شیوه کار بدین صورت است که اگر هش مطابق با الزامات تعیینشده در هدف باشد، یک بلاک ساخته شده و به بلاکچین افزوده میشود. آزمایش کردن راهحلهای مختلف بهمنظور حدس زدن نانس، با نام اثبات کار (Proof Of Work) شناخته میشود و به استخراجکنندهای که قادر باشد مقدار آن را پیدا کند، یک بلاک به عنوان پاداش داده میشود. در واقع ماینر پاداش خود را در قالب یک رمزارز دریافت میکند.
انواع nonce چیست؟
نانسها را میتوان بر اساس نحوه تولید آن به دو دسته تصادفی یا متوالی تقسیم میشود. یک نانس تصادفی با رشتهای از اعداد دلخواه در کنار هم تولید میشود. در حالی که یک نانس متوالی بهصورت افزایشی تولید میشود. استفاده از روش nonce متوالی تضمین میکند که مقادیر تکرار نمیشوند، دوباره نمایش داده نمیشوند و فضای غیرضروری را اشغال نمیکنند. با این حال، با استفاده از نانس تصادفی، شبکه در مقابل حملهکنندگانی که چندین کلید داخل سیستم جمع میکنند، حفاظت میشود. در حالت ایدهآل، یک نانس دارای یک بخش تصادفی و یک بخش متوالی خواهد بود.