عدد نانس (nonce) مخفف عبارت «عدد یکبار مصرف» است که در زمینه استخراج ارز دیجیتال به کار می رود. شاید برای شما نیز این سوال مطرح شود که عدد نانس در بلاک چین چیست؟ عدد نانس عددی است که به یک بلوک هش شده یا رمزگذاری شده در یک بلاک چین اضافه می شود که وقتی دوباره هش می شود، محدودیتهای سطح دشواری را برآورده می کند. Nonce عددی است که استخراج کنندگان بلاک چین در حال حل آن هستند. هنگامی که راه حل پیدا شد، به استخراج کنندگان بلاک چین، ارز دیجیتال ارائه می شود.
درک مفهوم عدد نانس در بلاک چین
بلاک چین سنگ بنای ارزهای دیجیتال است. به منظور ایمن نگه داشتن بلاک چین، داده های بلوک های قبلی رمزگذاری می شوند یا به صورت مجموعه ای از اعداد و حروف "هش" می شوند. این کار با پردازش ورودی بلوک از طریق تابعی انجام می شود که خروجی با طول ثابت تولید می کند.
تابع مورد استفاده برای تولید هش، قطعی (ثابت) است، به این معنی که هر بار از ورودی یکسان استفاده شود، همان نتیجه را ایجاد می کند. همچنین به این معنی است که این تابع می تواند ورودی هش شده را به طور موثر تولید کرده، تعیین ورودی را دشوار کند (که منجر به امنیت بلاک چین می شود) و تغییرات کوچکی در ورودی ایجاد کند که منجر به هش بسیار متفاوتی می شود. این سیستم پیچیده حریم خصوصی شبکه بلاک چین را ایجاد می کند.
نکته: افزودن تراکنش ها به بلاک چین به قدرت پردازش کامپیوتری قابل توجهی نیاز دارد. به افراد و شرکت هایی که بلوک ها را پردازش می کنند، ماینر می گویند. ماینرها تنها در صورتی پاداش دریافت می کنند که اولین کسانی باشند هش ایجاد کرده اند و مجموعه ای از الزامات را برآورده می کند که هش هدف نامیده می شود. فرآیند حدس زدن هش در هدر بلوک شروع می شود. این کار شامل شماره نسخه بلوک، یک مهر زمانی، هش استفاده شده در بلوک قبلی، هش ریشه Merkle، nonce و هش هدف است.
اگر هش الزامات مندرج در هدف را برآورده کند، بلوک به بلاک چین اضافه می شود. انجام این چرخه از راه حل ها، به منظور حدس زدن عدد نانس، به عنوان اثبات کار نامیده می شود و به استخراج کننده ای که بتواند ارزش را پیدا کند، بلوک اعطا و به عنوان پاداش ارز دیجیتال دریافت می کند.
یک عدد نانس طلایی منجر به یک مقدار هش می شود که کمتر از دشواری هدف است، به این معنی که نیاز بلوک بعدی را برآورده می کند.
کاربرد عدد نانس در بلاک چین و ارزهای دیجیتال
ارزهای دیجیتال مانند بیت کوین از زنجیره بلوک به عنوان یک دفتر کل دیجیتال غیرمتمرکز، توزیع شده و عمومی استفاده می کنند که تمام تراکنش های بیت کوین را ثبت می کند. بلاک چین یک ویژگی منحصر به فرد در ذخیره مقدار بلوک قبلی به عنوان یک مقدار هش در بلوک فعلی دارد که تغییر هر بلوکی را بدون تغییر همه بلوک های بعدی غیرممکن می کند.
ماینرها یک بلوک ایجاد و آن را تأیید می کنند و به خاطر استفاده از قدرت CPU خود برای انجام این کار پاداش دریافت می کنند. بلوکی که بیش از 50٪ اجماع داشته باشد به زنجیره بلوک اضافه می شود.
در طول تأیید بلوک، ماینرها اثبات کار را تکمیل می کنند که تمام داده های بلوک را پوشش می دهد و بررسی می کند که آیا مقدار هش بلوک فعلی کمتر از هدف است یا خیر.
برای ایجاد بلوکی که توسط اکثر شرکت کنندگان شبکه پذیرفته شود، ماینرها برای تکمیل اثبات کار، در اولین فرصت با یکدیگر رقابت می کنند. سختی کار به گونه ای تنظیم شده است که حداقل 10 دقیقه در هر بلوک طول بکشد، که به یک زمان استاندارد برای افزودن یک بلوک به زنجیره بلوک در مورد شبکه بیت کوین تبدیل شده است.
عدد نانس در بلاک چین بخش مرکزی این اثبات کار یا Proof of Work است. Nonce یک عدد کاملا تصادفی و یک فیلد 32 بیتی (4 بایتی) است که توسط ماینرها تنظیم می شود، به طوری که به یک عدد معتبر تبدیل شده که برای هش کردن مقدار بلوک استفاده می شود. عدد نانس در بلاک چین عددی است که فقط یک بار قابل استفاده است. هنگامی که Nonce کامل پیدا شد، به بلوک هش شده اضافه می شود. همراه با این عدد، مقدار هش آن بلوک مجددا هش می شود و یک الگوریتم دشوار ایجاد می کند.
سپس با هدف موجود مقایسه می شود، خواه کمتر یا برابر با هدف فعلی باشد. ماینرها میلیون ها عدد نانس را در ثانیه آزمایش می کنند و دور می اندازند تا زمانی که آن Nonce طلایی را پیدا کنند که معتبر است. برای اینکه تایید سریعتر از دیگران انجام شود، ماینرها با استفاده از قدرت هش رایانه خود با یکدیگر رقابت می کنند. هنگامی که عدد نانس طلایی پیدا شد، آنها می توانند بلوک را تکمیل کرده و آن را به زنجیره بلوک اضافه کنند و در آنجا پاداش بلوک را دریافت کنند.
این امر امکان تکرار یا استفاده دوباره از یک بیت کوین را منتفی می کند. چه بقیه فیلدها تغییر کنند یا نه، Nonce تغییر خواهد کرد، زیرا منحصر به فرد است و در نتیجه به مهم ترین مؤلفه Proof of Work تبدیل شده است. در ارزهای دیجیتال، nonce یک عدد دلخواه است که می تواند فقط یک بار در یک ارتباط رمزنگاری استفاده شود، یک عدد تصادفی است که در یک پروتکل احراز هویت صادر می شود تا اطمینان حاصل شود که از همان ارتباطات، مجددا استفاده نمی شود.
مقداری اطلاعات ثابت، مهر زمانی، مقدار سختی هش و عدد نانس وجود خواهد داشت که با عبور از الگوریتم Hash - SHA256 به یک بلوک جدید تبدیل می شود. در اینجا عدد نانس در بلاک چین نقش بسیار مهمی دارد. همانطور که قبلا گفته شد، میلیون ها عدد نانس امتحان می شوند تا زمانی که Golden Nonce پیدا شود. مقدار هش هدف به عنوان سختی شبکه تعریف می شود و محاسبه تکراری مقدار هش به منابع رایانه استخراج کننده نیاز دارد. فقط با مقدار Nonce صحیح، می توان اثبات کار را ایجاد کرد و در نتیجه یک بلوک جدید در زنجیره بلاک چین ایجاد کرد.
برای انواع برنامه های IT می توان از مقادیر نانس استفاده کرد، این برنامه ها شامل موارد زیر می شود:
احراز هویت: پروتکل های احراز هویت برای این که مطمئن شوند که ارتباطات قدیمی نمی توانند دوباره پردازش شوند، از مقادیر نانس استفاده می کنند.
هش کردن: سیستم های اثبات کار برای تغییر ورودی به یک تابع هش رمزنگاری، از مقادیر نانس استفاده می کنند که به ایجاد دشواری مطلوب و تحقق شرایط دلخواه کمک می کند.
مقداردهی اولیه: بردار اولیه یک نانس است که فقط یک بار برای رمزگذاری داده ها استفاده می شود و مانع از تکرار توالی ها در متن رمزگذاری شده می شود.
امضای الکترونیکی: گاهی اوقات ابزار های امضای الکترونیکی از مقادیر مخفی نانس برای ایجاد، مقایسه و تأیید امضاها استفاده می کنند.
چگونه عدد نانس در بلاک چین را پیدا کنیم؟
تعیین اینکه از کدام رشته به عنوان nonce استفاده شود به مقدار قابل توجهی آزمون و خطا نیاز دارد، زیرا یک رشته کاملا تصادفی است. یک ماینر باید یک nonce را حدس بزند، آن را به هش اصلی فعلی اضافه کند، مقدار را مجددا بازنویسی کرده و آن را با هش هدف مقایسه کند. اگر مقدار هش حاصل با الزامات مطابقت داشته باشد، ماینر یک راه حل ایجاد کرده و بلوک به او تعلق می گیرد.
همانطور که گفتیم بسیار بعید است که یک ماینر در اولین تلاش با موفقیت عدد نانس در بلاک چین را حدس بزند، به این معنی که ماینر ممکن است به طور بالقوه تعداد زیادی از اعداد نانس را قبل از درست کردن آن آزمون و خطا می کند. هرچه سختی بیشتر باشد(معیاری برای اینکه ایجاد هش کمتر از هدف چقدر سخت است) به احتمال زیاد تولید یک راه حل بیشتر طول می کشد.
سختی بلوک در کل شبکه یکسان است، به این معنی که همه ماینرها شانس یکسانی برای کشف هش صحیح دارند. شبکه های ارزهای دیجیتال معمولا تعداد بلوک های هدفی را ایجاد می کنند که می خواهند در یک دوره زمانی خاص پردازش شوند و به طور دوره ای سختی را تنظیم می کنند تا اطمینان حاصل شود که این هدف برآورده شده است. اگر تعداد بلوک های پردازش شده این هدف را برآورده نکند، دشواری کاهش می یابد.
عدد نانس کجا قرار می گیرد؟
عدد نانس یک عدد نیمه تصادفی یا تصادفی است که معمولاً در فناوری اطلاعات و امور کریپتو های رمزنگاری شده به کار برده می شود. طبق زمان، مقدار نانس تغییر می کند تا تایید شود که مقادیر بیش از یک بار مورد استفاده قرار نگرفته اند. تفاوت هایی در مقادیر عدد نانس با توجه به نوع کاربرد وجود دارد. یکی از رایج ترین کاربرد های این عدد در الگوریتم های اجماع می باشد. در الگوریتم های اجماع کاربرد نانس به این صورت است که تضمین عدم تکرار پردازش ارتباطات گذشته را انجام می دهد. استفاده از نانس در اثبات اصالت کالا در سایت های تجارت الکترونیک نمونه ای از این موارد می باشد. از عدد نانس در درخت مرکل یا Merkle tree نیز استفاده می شود. Merkle tree به عنوان یک ساختار داده در برنامه های کاربردی علوم کامپیوتر مورد استفاده قرار می گیرد. درختان مرکل در بیت کوین و ارز های دیجیتال دیگر، به طور موثرتر و ایمن تری برای کد گذاری داده های بلاک چین عمل می کنند. به آنها "درخت هش باینری" نیز گفته می شود که برای حل مشکلات فضای ذخیره سازی بلاک چین، ارائه شده است. از این رو می توان گفت درخت مرکل به عنوان نمونه ای کار آمد از طرح تعهد رمز نگاری می باشد. به طوری که در آن ریشه درخت یک تعهد در نظر گرفته می شود و ممکن است که گره های برگ نیز بخشی از تعهد اصلی باشند. نام گذاری مفهوم درخت هش به افتخار رالف مرکل انجام شده است که در سال 1979 آن را به ثبت رسانده است. سربرگ یا Header مهم ترین بخش این درخت است. در سربرگ، یک سری اطلاعات از جمله: عدد Nonce، هش ریشه و هش بلاک ثبت می شود. زمانی که یک بلاک در بلاک چین استخراج و سپس تایید می شود، می توان گفت که یک درخت مرکل ایجاد شده است. همه اطلاعات درخت مرکل در عدد نانس ثبت و ذخیره می شود.
نکات مهم در مورد عدد نانس در بلاک چین
- Nonce یا «عدد یکبار مصرف» به اولین عددی اشاره دارد که یک ماینر بلاک چین باید قبل از حل یک بلوک در بلاک چین پیدا کند.
- هنگامی که محاسبات ریاضی توسط ماینر حل شد، برای زمان و مهارت خود به آنها رمز ارز هدیه داده می شود.
- یافتن Nonces دشوار است و به عنوان راهی برای حذف ماینرهایی با استعداد کمتر در نظر گرفته می شود.
- دنیای کریپتو ماینینگ چالش برانگیز است و فرد اغلب به قدرت محاسباتی عالی نیاز دارد، حتی برای شروع به تلاش برای حل مشکل.
- Nonces برای طیف وسیعی از برنامه های شبکه کامپیوتری، از جمله احراز هویت برای خرید، احراز هویت دو مرحله ای، یا انواع دیگر بازیابی و شناسایی حساب و همچنین امضای الکترونیکی استفاده می شود.