داموندمگ

نانس (Nonce) در بلاک چین چیست + کاربرد آن در استخراج

DAMOND
توضیح ساده و کامل نانس (Nonce) در بلاک چین

نانس (Nonce) یکی از اجزای بلاک‌ها در بلاک چین است که یکی از کاربردهای اصلی آن در استخراج ارزهای دیجیتال است. شاید توضیح فنی نانس پیچیده باشد، اما در این مقاله قصد داریم به زبان ساده و با بیان مثال‌های مختلف توضیحات کاملی درباره مفهوم نانس و کاربرد آن در استخراج رمزارزها بدهیم.

در این مطلب برای فهم بیشتر ابتدا با زبان ساده درباره هش کردن و توابع هشینگ صحبت می‌کنیم و سپس توضیح می‌دهیم عدد نانس Nonce در بلاک چین چیست؟ و چه کاربردی دارد. اگر علاقه‌مند به یادگیری مفاهیم پایه‌ای بلاک چین و فهم دقیق فرآیند استخراج ارز دیجیتال هستید، توصیه می‌کنیم که تا انتهای این مقاله همراه داموند مگ باشید.

هشینگ یا هش کردن چیست؟

هشینگ یکی از تکنیک‌های مدرن رمزنگاری به حساب می‌آید. در طی فرآیند هشینگ یک عبارت یا کلمه وارد تابع هش می‌شود و خروجی این تابع یک رشته از اعداد و حروف پیچیده است که همواره طول ثابتی دارد.

برای فهم بیشتر تصویر زیر را نگاه کنید. همانطور که در جدول زیر می‌بینید، یکبار کلمه Hi ، وارد تابع هش شده است و تبدیل به یک عبارت هش شده است که از کاراکترهای عددی و حروف متنوعی تشکیل شده است. برای بار دوم کلمه welcome هش شده است و همانطور که می‌بینید، با اینکه طول کلمات Hi و Welcome متفاوت است، اما طول عبارت هش آن‌ها با هم برابر است.

مثال هش

ویژگی های هشینگ

هش کردن یک داده، دارای چند ویژگی اصلی زیر است :

  • مهم نیست که یک کلمه را چند بار وارد تابع هش می‌کنید، نتیجه تابع همواره یک هش ثابت خواهد بود. امکان ندارد که یک کلمه را چند بار هش کنید و نتایج مختلف به دست آورید.
  • طول هش خروجی فقط به نوع تابع هش بستگی دارد و به تعداد کلمات داده اولیه ارتباط ندارد. همانطور که در تصویر بالا نیز مشاهده کردید، طول عبارت هش حاصل از کلمه Hi با کلمه welcome یکسان است.
  • حتی اگر یک نقطه در ورودی عوض شود، عبارت هش خروجی به صورت کامل عوض خواهد شد. به طور مثال اگر به جای کلمه خدا، کلمه جدا را هش کنیم، عبارت هش خروجی به صورت کامل عوض خواهد شد.
  • تابع هشینگ، یک تابع یک طرفه است. هیچگاه نمی‌توان از روی خروجی (هش به دست آمده) به ورودی تابع دست پیدا کرد. یعنی از روی عبارت هش هیچگاه نمی‌توانید بفهمید که ورودی تابع چه چیزی بوده است.

کاربرد هشینگ

یکی از مهم‌ترین کاربردهای هش کردن، در امنیت و رمزنگاری است. شاید برایتان جالب باشد که در تمام سایت‌ها و سیستم‌ها عبارت رمز شما ذخیره نمی‌شود، بلکه رمزی که شما وارد می‌کنید وارد تابع هش می‌شود و در نهایت هش خروجی در سرور یا حافظه سیستم ذخیره می‌شود.

مطلب پیشنهادی  استاندارد ERC20 و توکن ERC20 : سازوکار شبکه اتریوم

هنگامی که برای ورود به سیستم رمز خود را وارد می‌کنید، سیستم آن را هش می‌کند و با هش ذخیره شده در خود مقایسه می‌کند، اگر هش‌ها با هم برابر باشد، نتیجه‌گیری می‌کند که رمز درست وارد شده و بنابراین به شما اجازه دسترسی داده می‌شود. بنابراین هیچکس نمی‌تواند بفهمد که چه رمز عبوری وارد کرده‌اید و تنها هش رمز شما بر روی سیستم ذخیره شده است.

یکی دیگر از کاربردهای هشینگ در بلاک چین ها و استخراج ارزهای دیجیتال است. همانطور که مقاله بلاک چین چیست، توضیح دادیم، تمام اطلاعات موجود در بلاک‌های یک بلاک چین هش می‌شوند و هش بلاک‌های قبلی در بلاک‌های بعدی خود قرار می‌گیرد. این قضیه باعث می‌شود که بلاک‌ها به صورت زنجیره‌ای به یکدیگر مربوط باشند و هیچکس نتواند اطلاعات موجود در یک بلاک را دستکاری کند.

در ادامه به توضیح کاربرد هشینگ در بلاک چین و استخراج ارزهای دیجیتال پرداخته و نقش عدد نانس در استخراج ارزهای دیجیتال را بیان می‌کنیم.

عدد نانس در بلاک چین چیست؟

ساختار هدر بلاک

به تصویر بالا نگاه کنید، ساختار هر بلاک در بلاک چین مانند شکل زیر است. هر بلاک شامل یک هدر (سر برگ) و یک بدنه است. تراکنش‌های انجام شده در شبکه درون بدنه بلاک قرار می‌گیرند. هدر بلاک نیز از اجزای زیر تشکیل شده است:

  • شماره نسخه بلاک
  • برچسب زمانی حال حاضر
  • تارگت سختی شبکه (بعدا بیشتر توضیح خواهیم داد)
  • هش بلاک قبلی
  • نانس
  • هش ریشه مرکل (Merkle)

در این مطلب فقط قصد داریم درباره نانس صحبت کنیم، بنابراین برای کسب اطلاعات بیشتر می‌توانید، مقاله هش ریشه مرکل چیست؟ را مطالعه کنید. بنابراین نانس یا Nonce  یکی از اجزای هدر بلاک در بلاک چین است. نانس یک عدد است که با سایر اجزای بلاک ترکیب شده و سپس همه این اطلاعات با هم وارد تابع هش می‌شوند و یک عبارت هش تولید می‌شود.

برای آنکه با مفهوم هش آشنا شویم، بهتر است کاربرد نانس در استخراج ارز دیجیتال را توضیح دهیم. با فهم چگونگی استخراج می‌توانید متوجه نقش نانس در بلاک چین شوید و به این ترتیب مفهوم آن را نیز متوجه شوید.

کاربرد نانس در استخراج ارز دیجیتال

قبلا در مقاله استخراج ارز دیجیتال چیست؟ به صورت ساده توضیح دادیم که استخراج‌کنندگان به منظور استخراج رمزارز باید به وسیله دستگاه‌های کامپیوتری قوی، معماهای ریاضی را حل کنند و هر کس که بتواند این معماها را حل کند، موفق به استخراج بلاک شده و از شبکه پاداش استخراج را دریافت می‌کند. در آن مقاله در مورد نوع معمایی که استخراج کننده حل می‌کند، توضیحی ندادیم، در اینجا این معما را توضیح می‌دهیم و نقش نانس نیز مشخص می‌شود.

مطلب پیشنهادی  ساتوشی چیست و هر SAT معادل چند بیت کوین است؟

کاربرد نانس در استخراج

معادله استخراج و عدد نانس

اگر بخواهیم معادله استخراج را بیان کنیم، چیزی به شکل زیر است :

H(k|x) = Y

نگران سختی شکل معادله نباشید، همه اجزای آن را به زبان ساده توضیح خواهیم داد. اجزای این معادله به این صورت هستند :

  • نانس = K
  • هش بلاک = x
  • تارگت سختی استخراج = Y

k|x به چه معناست؟ علامت “|” نشان‌دهنده به هم پیوستن یا الحاق است. الحاق به معنای اضافه کردن دو رشته به یکدیگر است. به طور مثال من اگر بخواهم آسمان و آبی را به یکدیگر الحاق دهم، از عبارت آسمان|آبی استفاده می‌کنم و نتیجه آن آسمان آبی خواهد بود.

حالا این فرمول استخراج به زبان ساده قصد بیان چه موضوعی را دارد؟ این فرمول می‌گوید که هش بلاک به علاوه یک عدد نانس وارد یک تابع هش می‌شود و نتیجه آن یک عبارت است که تارگت سختی استخراج است.

استخراج ‌کنندگان در عملیات استخراج، هش بلاک (x) را می‌دانند، اما از عدد نانسی (k) که با هش بلاک ترکیب شده اطلاعی ندارند. از آنجا که تابع هش یک طرفه است، نمی‌توانند از روی تابع سختی (Y) ، نانس را به دست آورند. بنابراین تنها راهی که برای به حل کردن این معادله وجود دارد، این است که مدام نانس‌های تصادفی را به جای k در تابع هش بگذارند و پس از انجام هشینگ، نتیجه را با Y مقایسه کنند. پس از قرار دادن مقدار نانس صحیح، یک تطابق با Y حاصل می‌شود و به این ترتیب معمای استخراج حل می‌شود.

اگر بخواهیم با یک مثال ساده این قضیه را توضیح دهیم، همانند این است که یک قفل وجود دارد و یک دسته کلید بزرگ نیز به شما داده شده است. این قفل همان Y یا سختی استخراج است. کلیدها هم همان k یا اعداد نانس تصادفی هستند که در اختیار شما قرار گرفته‌اند.

شما نمی‌دانید که کدام کلید قفل را باز می‌کند، بنابراین تمام کلیدها را یک به یک تست می‌کنید. در نهایت یک کلید با قفل انطباق پیدا کرده و آن را باز می‌کند. در این حالت می‌توانیم بگوییم که شما عملیات استخراج را با موفقیت انجام داده‌اید و نانس صحیح را پیدا کرده‌اید. بنابراین می‌توانید جایزه استخراج را دریافت کنید.

استخراج و نانس
برای استخراج باید تعداد زیادی نانس تصادفی تست شود.

مفهوم دقیق استخراج ارز دیجیتال

همه استخراج کنندگان ارز دیجیتال، یک مجموعه بسیار بزرگ از اعداد نانس (Nonce) تصادفی دریافت می‌کنند. آن‌ها برای استخراج یک بلاک باید مراحل زیر طی شود :

  • استخراج کننده یکی از نانس‌ها را انتخاب می‌کند و آن را با هش بلاک ترکیب می‌کند.
  • استخراج کننده ترکیب به دست آمده در مرحله قبل را وارد تابع هش می‌کند و یک خروجی به دست می‌آورد.
  • اگر خروجی به دست آمده با میزان سختی استخراج تعیین شده، تطابق داشته باشد، مساله حل شده و استخراج با موفقیت انجام می‌شود.
  • اگر خروجی به دست آمده با پارامتر سختی استخراج تطابق نداشته باشد، استخراج‌کننده باید یک نانس دیگر انتخاب کند و تمام مراحل را مجددا تکرار کند تا به نانس صحیح دست پیدا کند.
مطلب پیشنهادی  وب 3.0 چیست؟ اینترنت غیرمتمرکز، نسل جدید اینترنت در راه است

بنابراین یک استخراج کننده می‌تواند با سناریوهای زیر روبرو شود :

بهترین سناریو: در اولین تلاش خود نانس صحیح را درون مجموعه نانس‌ها پیدا می‌کنید. احتمالا در این صورت خوش‌شانس‌ترین فرد روی دنیا هستید، چرا که امکان رخ دادن چنین اتفاقی بسیار نجومی است.

بدترین سناریو: شما جواب خود را پس از 2^128 – 1 دفعه تلاش به دست می‌آورید. اساسا به این معناست که شما کل نانس‌های موجود را تست کرده‌اید.

سناریو معمولی: در میانه احتمالات ممکن، یعنی پس از 2^128/2 = 2^127 دفعه به جواب خود می‌رسید. این عدد برابر 1.7 X 10^38 است و به عبارت دیگر عدد بسیار بزرگی است.

مفهوم قدرت هشینگ در ماینرهای ارز دیجیتال

قدرت هش ماینر

چنانچه بحث‌های قبلی را به خوبی خوانده باشید، متوجه نحوه استخراج ارزهای دیجیتال شده‌اید. بنابراین اکنون به خوبی می‌توانید حدس بزنید که قدرت هشینگ یا نرخ هشینگ در ماشین‌های ماینر ارز دیجیتال به چه معناست.

همانطور که در قسمت‌های قبلی گفتیم، برای انجام استخراج باید از یک مجموعه بسیار بزرگ نانس‌های تصادفی، یکی از انتخاب کنید و آن را هش کنید و نتیجه را با پارامتر سختی استخراج مقایسه کنید. همانطور که مشخص است این کار توسط کامپیوتر انجام می‌شود. هر چقدر که دستگاه شما نرخ هشینگ بالاتری داشته باشد، در یک ثانیه تعداد زیادتر نانس انتخاب می‌کند، آن را هش می‌کند و با سختی استخراج مقایسه می‌کند.

امروزه هر ماشین ماینر بیت کوین، در هر ثانیه چند ترا هش پردازش می‌کنند و به این معنا است که این ماینرها در یک ثانیه، چندین تریلیون بار کار گفته شده در بالا را انجام می‌دهند که تصور این قضیه واقعا شگفت انگیز است. انگار که در هر ثانیه چند تریلیون کلید را برای باز کردن یک قفل تست کنید.

بنابراین مشخص است که هر چقدر ماینرهای بیشتر و قوی‌تری داشته باشید، قدرت هشینگ شما بالاتر خواهد رفت و شانس شما برای پیدا کردن نانس صحیح، افزایش پیدا می‌کند. استخراج ارز دیجیتال همانند یک مسابقه برای پیدا کردن سوزن در انبار کاه است. هر کس که قدرت جستجوی بیشتر داشته باشد، زودتر برنده خواهد شد.

سخن پایانی

مفهوم نانس در بلاک چین و ارزهای دیجیتال، یک مفهوم ریاضی پیچیده است؛ اما در این مقاله سعی شد تا بدون پرداختن به ابعاد فنی، این قضیه را با زبان ساده و ذکر مثال توضیح دهیم. در این مقاله توضیح دادیم که Nonce چیست و کاربرد آن را نیز در استخراج ارزهای دیجیتال توضیح دادیم.

با مطالعه این مقاله علاوه بر اطلاع از چیستی Nonce، با مفهوم دقیق استخراج ارزهای دیجیتال نیز آشنا خواهید شد و متوجه ابعاد فنی فرآیند استخراج رمزارزها نیز خواهید شد. امیدواریم با نوشتن این مطلب توانسته باشیم مفاهیم پیچیده بلاک چین را با زبانی ساده به شما توضیح داده و آگاهی شما را در این زمینه بالاتر ببریم.

دسته بندی مطالب
مطالب مرتبط
مطالب مرجع

ارز دیجیتال چیست؟

بلاک چین چیست؟

متاورس چیست؟

NFT چیست؟

دیفای (DeFi) چیست؟

صرافی غیرمتمرکز چیست؟

کیف پول چیست؟

تحلیل تکنیکال چیست؟

ایردراپ چیست؟

استیکینگ ارز دیجیتال چیست؟

بیت کوین چیست؟

اتریوم چیست؟

تتر چیست؟

خرید و فروش ارز های دیجیتال
ما را دنبال کنید
نظرات کاربران

2 پاسخ

  1. درود بر شما
    دم شما گرم عالی بود
    ولی یه سری سوال دارم چطور با شما مکاتبه کنم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.