نانس Nonce: فرآیندنگاری در دنیای بلاکچین و کاربردهای آن

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

اصطلاح نانس از دو قسمت تشکیل شده است. حرف (n) به معنای عدد (Number) و کلمه (Once) به معنای یکبار است. در واقع، عدد نانس به نوعی مخفف عبارت (number only used once) است که به معنای “شمارهای که فقط یکبار استفاده میشود” میباشد.
Nonce در واقع یک شماره تصادفی یا نیمهتصادفی است که برای یک عملکرد خاص ساخته میشود. این عدد معمولاً در فرآیندهای رمزنگاریشده و فناوری اطلاعات به کار میرود. نانس به طور مستمر تغییر میکند تا اطمینان حاصل شود که مقادیر خاص بیش از یکبار مورد استفاده قرار نگرفتهاند.
مطالعه بیشتر: بلاکچین: همه آنچه که باید درباره شبکه بلاکچین بدانید
مفهوم عدد نانس در بلاکچین
بلاکچین به عنوان زیرساختی برای ایجاد ارزهای دیجیتال عمل میکند. برای حفظ امنیت بلاکچین، دادههای بلاکهای قبلی به صورت مجموعهای از اعداد یا حروف رمزگذاری میشوند که به آنها هش گفته میشود. این فرآیند با پردازش ورودی بلاک از طریق تابع هش (Hash Function) انجام میشود که خروجیای با طول ثابت تولید میکند.
تابع هش یک تابع ثابت و قطعی است؛ بدین معنا که خروجی آن برای یک ورودی ثابت هرگز تغییر نخواهد کرد و هر تغییر کوچک در ورودی، خروجیای بسیار متفاوت را ایجاد خواهد کرد. این سیستم پیچیده امنیت بلاکچین را تأمین میکند.
همهجا طلا یه قیمت نیست
چندکس رو باز کن و ببین چطور با یه بودجه ثابت، بیشترین طلا رو از بهترین پلتفرم میگیری. مقایسه کن تا ضرر نکنی!
بلاکچینهایی که از الگوریتم اثبات کار استفاده میکنند، برای تولید هش از نانس بهره میبرند. در این گونه بلاکچینها، ماینرها به طور رقابتی برای کشف نانس هنگام پردازش تراکنشها با یکدیگر به رقابت میپردازند.
کاربردهای نانس

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

عدد Nonce عمدتاً در درخت مرکل (Merkle Tree) مورد استفاده قرار میگیرد. این ساختار، راهحلی است که ساتوشی ناکاموتو برای مشکلات فضای ذخیرهسازی بلاکچین بیت کوین ارائه کرده است. سیستم درخت مرکل به گونهای طراحی شده که اجازه میدهد تا پس از انجام و تأیید یک تراکنش جدید، تمامی تراکنشهای قبلی نادیده گرفته شوند. باید ذکر کرد که در این روش، تراکنشهای قبلی حذف نمیشوند بلکه به شکل مختصر در ریشه درخت ذخیره میشوند.
نکته کلیدی در درخت مرکل، سربرگ (Header) آن است. این بخش شامل اطلاعات crucial مانند نانس، هش بلاک و هش ریشه میباشد. زمانی که بلاک در بلاکچین استخراج و تأیید میشود، در واقع یک درخت مرکل در آن تعریف میشود. نانس، عددی است که کلیه اطلاعات درخت مرکل در آن ثبت شده است.
کاربرد نانس در استخراج بیت کوین

به طور کلی، استخراج بیت کوین به معنی حل معادلات ریاضی برای ایجاد بلوکی در بلاکچین است که باید توسط شبکه تأیید شود. از الگوریتم گواه اثبات کار (Proof of Work) برای استخراج بیت کوین استفاده میشود. هر بیت کوین در حقیقت یک رشته کد از حروف و اعداد است که در فضایی به نام بلاک ذخیره میشود. هر بلاک از دو قسمت هدر بلاک (Block Header) و بدنه بلاک (Block Body) تشکیل یافته است. اطلاعات موجود در هدر بلاک شامل هش هدر بلاک قبلی، هش ریشه مرکل تراکنشها، زمان شروع پردازش هش بلاک و عدد نانس است.
کاربرد نانس در استخراج بیت کوین این است که ماینر با تغییر این عدد قادر است اطلاعات هدر بلاک را دستخوش تغییر کند. ماینرها به طور مداوم نانسهای مختلفی را امتحان میکنند تا به عددی برسند که با استفاده از آن، هش هدر بلاک کمتر از حد مشخص شده توسط شبکه بیت کوین باشد. ماینری که موفق به یافتن این عدد میشود، بلاک جدیدی میسازد و پاداش استخراج بلاک را ادعا میکند. به همین علت این عدد به عنوان “عدد رویایی ماینرها” شناخته میشود. این فرایند تا زمانی که بلاک جدیدی تولید شود، ادامه مییابد.
نانس صفر
بدون وجود عدد نانس در مشخصات یک تراکنش، ماینر نمیتواند ترتیب تراکنشها را حفظ کند. برای مثال، اگر چهاردهمین اتریوم در حال استخراج باشد و نانس این اتریوم صفر باشد، بدین معناست که ترتیب بلاکها و تراکنشها مختل میشود. از همین رو، تراکنشهایی با نانس صفر قابلیت تأیید توسط ماینرها را ندارند زیرا انسجام بلاکچین را به هم میزنند. به همین دلیل، چنانچه نانس یک تراکنش صفر باشد، آن تراکنش هرگز انجام نخواهد شد.
کاربرد عدد نانس در لغو تراکنش در حال انتظار
هنگامی که ماینرها در شبکه فعالیت میکنند و در حال استخراج ارز دیجیتال هستند، به دنبال دو نوع پاداش هستند: پاداش بلاک و کارمزد تراکنشهای کاربران.
به همین دلیل، زمانیکه ماینرها برای تأیید یک تراکنش تصمیم میگیرند، تلاش میکنند تا تراکنشهایی را انتخاب کنند که دارای بالاترین کارمزد هستند و در شرایطی که ترافیک شبکه افزایش یابد، تراکنشهایی با کارمزد پایینتر تأیید نمیشوند.
ترتیب پردازش تراکنشها در شبکه به وسیله عدد نانس تعیین میشود. اگر کاربر بخواهد تراکنش در حال انتظار خود را لغو کند و آن را دوباره ارسال کند، نخستین اقدام این است که مقدار نانس آن را پیدا کند. سپس، یک تراکنش جدید با همان نانس ولی با کارمزد بالاتر ایجاد میکند. بدین ترتیب، شبکه تراکنش دوم را جانشین تراکنش در حال انتظار خواهد کرد.
نانس، نگهبان امنیت بلاکچین
ماینینگ یا استخراج ارز دیجیتال یکی از روشهای جذاب برای درآمدزایی است که بسیاری از مردم به آن علاقهمند هستند. یکی از چالشهای عمدهای که ماینرها با آن روبرو هستند، دسترسی به قدرت محاسباتی بالا است. رقابت بین ماینرها هر روز افزایش مییابد و عدد نانس به عنوان ابزاری برای کنار گذاشتن ماینرهایی که توان محاسباتی پایینتری دارند عمل میکند. به دلیل دشواری در یافتن عدد نانس، این امر مفهومی میشود.
اضافه بر این، عدد Nonce به عنوان راهحلی مطمئن برای حفظ امنیت رمزنگاری در انواع بلاکچینها مورد استفاده قرار میگیرد. با توجه به کمبود قضاوت در شبکههای غیرمتمرکز، وجود ساز و کارهایی که امنیت شبکه را افزایش دهند، بسیار حائز اهمیت است. بنابراین میتوان نتیجه گرفت که عدد نانس نقش حیاتی در فناوری بلاکچین ایفا میکند. آیا فکر میکنید تنها کاربرد عدد نانس در بلاکچین است؟ آیا در مورد کاربردهای دیگر آن چیزی میدانید؟





