نانس (Nonce) مخفف عبارت “عددی که تنها یک بار به کار میرود” (Number only used once) است و به عددی گفته میشود که به یک بلاک هش شده (Hashed) – یا رمزنگاری شده – در بلاکچین اضافه شده و هنگامی که این عدد به همراه هش بلاک مجدداً هش شوند (Rehash)، قادر خواهند بود هشی ایجاد کنند که شرایط و محدودیتهای تعریف شده توسط پارامتر سختی شبکه (Network Difficulty) را برآورده نماید. نانس همان عددی است که استخراج کنندگان بلاکچین به دنبال یافتن آن هستند. زمانی که راه حل هش پیدا میشود، استخراج کنندگان در ازای آن رمز ارز دریافت خواهند کرد.
نقش یک نانس nonce در یک بلاکچین
یک nonce که مخفف عبارت «تعداد یک بار استفاده شده – Number only used once» است، یک عدد ویژه است که در طول فرآیند استخراج به یک بلوک در بلاک چین اختصاص مییابد. این یک بخش اساسی از مکانیسم اجماع اثبات کار (PoW) است.
nonce که به عنوان یک پازل رمزنگاری عمل می کند، متغیری است که استخراج کنندگان آن را دستکاری می کنند تا یک مقدار هش تولید کنند که نیازهای خاص را برآورده کند. ماینرها به تغییر nonce ادامه میدهند تا زمانی که هشی را پیدا کنند که دارای ویژگیهای لازم است، که اغلب مجموعهای از صفرهای ابتدایی هستند. این فرآیند تکراری که به عنوان ماینینگ شناخته می شود، امنیت بلاک چین را تضمین می کند.
Nonce صحیح برای اعتبار بخشیدن به مشروعیت یک بلوک ضروری است و نقشی اساسی در ایجاد بلوک ایفا می کند. با بالا بردن تلاش محاسباتی مورد نیاز برای چنین تغییراتی، مانع از دستکاری عوامل مخرب در داده ها می شود.
فرآیند ماینینگ با روش آزمون و خطا که در تعیین غیر صحیح انجام می شود، پیچیده تر می شود. در صورتی که ماینرها متوجه Nonce صحیح شوند، بلوک قانونی تلقی می شود که نشان دهنده نقش حیاتی nonce در حفظ اجماع، امنیت و یکپارچگی بلاکچین است.
اهمیت یک نانس nonce در امنیت بلاکچین
عملکرد متنوع nonce آن را برای پشتیبانی از امنیت بلاک چین بسیار مهم می کند.
این در درجه اول برای جلوگیری از هزینه مضاعف مهم است که می تواند یکپارچگی ارزهای دیجیتال را به خطر بیندازد. بلاک چین با الزام ماینرها به انجام یک فرآیند محاسباتی برای کشف یک غیره خاص، امکان دستکاری متقلبانه را کاهش می دهد. این اطمینان می دهد که هر تراکنش به طور منحصر به فرد تأیید می شود.
علاوه بر این، با قرار دادن هزینه محاسباتی بر روی مهاجمانی که سعی می کنند بخش عمده ای از شبکه را در اختیار بگیرند، nonce به دفاع در برابر حملات Sybil میافزاید. بازیگران بدخواه با این استراتژی از پر کردن سیستم با هویتهای ساختگی منصرف می شوند.
علاوه بر این، nonce نقش مهمی در حفظ تغییرناپذیری بلوک ها ایفا می کند. هر تلاشی برای تغییر محتوای یک بلوک مستلزم محاسبه مجدد nonce است، که یک کار غیرعملی است که یکپارچگی بلاک چین و مقاومت در برابر دستکاری را تقویت می کند.
چگونه از nonce در شبکه بلاکچین بیت کوین استفاده میشود؟
ماینرها از nonce بیت کوین در فرآیند آزمون و خطا برای یافتن یک هش خاص استفاده می کنند و معیارهای دشواری شبکه را برآورده می کنند و در نتیجه یک بلوک جدید به بلاک چین اعتبار می دهند و اضافه می کنند.
فرآیند گام به گام زیر نحوه محاسبه و استفاده از nonce در استخراج بیت کوین را توضیح می دهد :
- راه اندازی بلوک: ماینرها یک بلوک جدید را با تراکنش های معلق جمع آوری می کنند.
- Nonce inclusion: یک nonce منحصر به فرد به هدر بلوک اضافه می شود.
- تلاش برای هش کردن: ماینرها بلوک را با استفاده از SHA-256 هش می کنند.
- بررسی دشواری: هش با هدف دشواری شبکه مقایسه می شود.
- فرآیند تکراری: ماینرها نونها را تنظیم می کنند تا زمانی که مشکل هش را پیدا کنند و بلوک را برای اضافه شدن به بلاکچین اعتبار سنجی کنند.
دشواری یافتن یک nonce معتبر در بلاک چین بیت کوین به صورت پویا تنظیم می شود تا نرخ ایجاد بلاک ثابت حفظ شود. برای اطمینان از اینکه ماینرها، که برای یافتن nonce صحیح برای یک هش بلاک معتبر رقابت می کنند، با چالشی متناسب با قدرت هش شبکه مواجه می شوند، این مشکل تطبیقی با تغییرات قدرت محاسباتی شبکه سازگار می شود.
مشکل با قدرت شبکه افزایش می یابد و برای یافتن یک nonce مناسب نیاز به قدرت پردازش بیشتری دارد. از سوی دیگر، زمانی که ظرفیت پردازش شبکه کاهش مییابد، سطح دشواری نیز کاهش مییابد و ایجاد بلوک را آسانتر میکند.
انواع مختلف نانس چیست؟
Nonces، اعم از رمزنگاری، مرتبط با عملکرد هش یا برنامهای، اهداف مشخصی را دنبال میکنند و هدفشان تضمین یکپارچگی دادهها در برنامههای محاسباتی مختلف است.
در حالی که این مفهوم به طور گسترده در فناوری بلاک چین استفاده می شود، انواع مختلفی از nonces در برنامه های مختلف وجود دارد. یک نوع رایج، nonce رمزنگاری است که در پروتکل های امنیتی برای خنثی کردن حملات تکراری با تولید یک مقدار انحصاری برای هر جلسه یا تراکنش استفاده می شود.
نوع دیگری از nonce شامل تابع هش رمزنگاری nonce است که در الگوریتم های هش برای تغییر nonce ورودی به منظور تغییر هش خروجی استفاده می شود. در برنامه نویسی، nonces می تواند به مقادیر تولید شده برای اطمینان از منحصر به فرد بودن داده ها یا جلوگیری از تضاد اشاره کند.
درک زمینه و هدف خاص بسیار مهم است زیرا nonces اشکال مختلفی دارد که هر کدام برای برآوردن نیازهای امنیتی یا عملکردی خاص در زمینه گسترده تر علوم کامپیوتر و رمزنگاری طراحی شده اند.
تفاوت بین هش و نونس چیست؟
هش مانند اثر انگشت داده است، در حالی که نونس یک عدد خاص است که در پازل امنیتی ایجاد ارز دیجیتال استفاده می شود.
در زمینه بلاک چین، nonce متغیری است که ماینرها برای تولید هش هایی که الزامات خاصی را برآورده می کنند، استفاده می کنند، در حالی که هش یک خروجی با اندازه ثابت است که از داده های ورودی تولید می شود. تمایز بین هش و nonce در جدول زیر برشمرده شده است.
حملات غیر مرتبط در کریپتو و نحوه جلوگیری از آنها
در زمینه رمزنگاری، حملاتی که شامل nonces میشوند، بیشتر بر استفاده از نقصها در ایجاد یا مدیریت nonces، بهویژه در پروتکلهای رمزنگاری متمرکز هستند.
یک مثال قابل توجه حمله “nonce reuse” است، که در آن یک طرف مخرب می تواند از nonce در طول یک فرآیند رمزنگاری استفاده مجدد کند، بنابراین احتمال به خطر افتادن ویژگی های امنیتی را افزایش می دهد. این امر مخصوصاً برای سیستمهایی که به منحصربهفرد بودن غیرنفرهها وابسته هستند، مانند امضای دیجیتال و رمزگذاری بسیار مهم است.
حمله غیر قابل پیش بینی یکی دیگر از حملات متداول است که در آن دشمنان می توانند عملیات رمزنگاری را پیش بینی و دستکاری کنند، زیرا nonces یک الگوی قابل پیش بینی از خود نشان می دهند. بهعلاوه، حملات «بیاتفاده» شامل سیستمهای فریبدهنده با استفاده از غیرمعتبر یا غیر معتبر قبلی است.
پروتکل های رمزنگاری باید منحصر به فرد بودن و ماهیت غیرقابل پیش بینی nonces را تضمین کنند تا از حملات غیرمرتبط با آن جلوگیری کنند. اجرای صحیح تولید اعداد تصادفی ضروری است و اطمینان حاصل می شود که نونس ها احتمال تکرار کمی دارند. علاوه بر این، پروتکلها باید مکانیسمهایی را برای شناسایی و رد غیر استفادهشدههای مجدد ترکیب کنند. استفاده مجدد از nonces در رمزنگاری نامتقارن می تواند عواقب خطرناکی داشته باشد، مانند افشای کلیدهای مخفی یا به خطر انداختن حریم خصوصی ارتباطات رمزگذاری شده.
علاوه بر این، ارتقاء مستمر کتابخانهها و پروتکلهای رمزنگاری، همراه با مشاهدات مداوم برای روندهای غیرعادی در استفاده غیرمعمول، به دفاع در برابر بردارهای حمله همیشه در حال تکامل کمک میکند. کاهش آسیبپذیریهای مربوط به nonces مستلزم استفاده از بهترین شیوههای امنیتی، مانند ارزیابی منظم پیادهسازی رمزنگاری و پیروی دقیق از الگوریتمهای رمزنگاری استاندارد شده است.
نظرات کاربران