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