عدد نانس در بلاک چین چیست؟ پاسخ شگفتانگیز معمای استخراج

عدد نانس یا Nonce درواقع کوتاه شده عبارت «شمارهای که فقط یکبار استفاده شده» یا (number only used once) است. در حوزهی استخراج ارز دیجیتال، نانس در واقع همان شمارهای است که به بلاکِ هششده یا رمزنگاری شده در بلاکچین اضافه میشود.
در این مقاله ابتدا تعریفی ساده از بلاک چین و انواع بلاک چین ارائه میکنیم، سپس عدد نانس در بلاک چین را توضیح میدهیم.
فهرست مطالب
بلاک چین چیست؟
بلاک چین یک پایگاه داده توزیع شده است که بین نودهای یک شبکه کامپیوتری به اشتراک گذاشته میشود. یک بلاک چین اطلاعات را در قالب دادههای دیجیتال ذخیره میکند. بلاک چین ها بیشتر به دلیل نقش حیاتی خود در سیستم های ارزهای دیجیتال، مانند بیت کوین شناخته می شوند.
یکی از تفاوتهای کلیدی بین یک پایگاه داده معمولی و یک بلاک چین، نحوه ساختار دادهها است. یک بلاک چین اطلاعات را با هم در گروههایی به نام بلاک جمع آوری میکند. هر یک از این بلاکها دارای ظرفیتهای ذخیرهسازی خاصی هستند و هنگامی که از داده پر میشوند به بلاک پرشده قبلی متصل میشوند و زنجیرهای از دادهها را تشکیل میدهند که به نام زنجیره بلاکی شناخته میشود. تفاوت دیگر را هنگام ساختاربندی دادهها است.یک پایگاه داده معمولاً داده های خود را در جدولهای خاص خود پیاده میکند در حالی که یک بلاک چین داده های خود را به قطعاتی که در کنار هم قرار گرفته اند متصل میکند.
انواع بلاک چین
بلاک چینها عموماً به دو مدل عمومی و خصوصی تقسیم میشوند. البته با ترکیبی از بلاک چین عمومی و خصوصی دو مدل دیگر از بلاک چین نیز ساخته میشود که در زیر به توضیح کوتاهی در مورد آنها پرداختهایم.
بلاک چین عمومی
بلاک چین عمومی، همانطور که از نامش پیدا است، یک اکوسیستم آزاد و بدون نیاز به مجوز است که هر کسی میتواند به دادههای آن دسترسی داشته باشد. بلاک چین بیت کوین مثال بارزی از یک بلاک چین عمومی است.
بلاک چین خصوصی
بلاک چینهای خصوصی معمولاً توسط سازمان یا افراد خاصی مدیریت میشوند. این نوع از بلاک چینها بیشتر روی متمرکز بودن فعالیتهایشان تمرکز دارند و دسترسی عمومی به آنها محدود است.
بلاک چینهای کنسرسیومی
بلاک چینهای کنسرسیومی، بلاک چینهای مجاز هستند که توسط گروهی از سازمانها اداره میشوند. بنابراین، بلاکچینهای کنسرسیومی نسبت به بلاکچینهای خصوصی از تمرکززدایی بیشتری برخوردار هستند و در نتیجه سطوح امنیتی بالاتری را به همراه دارند.
بلاک چین ترکیبی (Hybrid)
بلاک چینهای ترکیبی، بلاکچینهایی هستند که توسط یک سازمان کنترل میشوند اما نظارت روی آنها مشابه بلاک چینهای عمومی است. تراکنشها و اعتبار سنجی در آنها نیز شباهت بسیاری به مدل بلاک چین عمومی دارد.
عدد نانس چیست؟
Nonce یک شماره تصادفی یا نیمهتصادفی است که برای یک مصرف خاص به وجود میآید. عدد نانس عموماً در ارتباطات رمزنگاریشده و فناوری اطلاعات به کار میرود. نانس در واقع مقداری است که بر اساس زمان تغییر میکند، آن هم به این خاطر که تأیید کند، مقادیر خاص بیش از یکبار استفاده نشدهاند. Nonce را میتوان یک برچسبزمان (timestamp)، یا شمارنده بازدیدکنندگان یک وبسایت درنظر گرفت؛ به بیان دیگر، چیزی است که زمان جزئی از وجود او است.
همانطور که میدانید، بلاک چین بستری برای ایجاد رمز ارزها است. برای اینکه بلاکچین امن باقی بماند، دادههای بلاکهای قبلی به صورت یک سری اعداد یا حروف رمزگذاری یا به اصطلاح هش میشوند. این عمل با پردازش ورودی بلاک از طریق یک تابع انجام میشود که یک خروجی با طول ثابت و مشخص به ما میدهد.
تابعی که برای ایجاد هش به کار میرود یک تابع قطعی و ثابت است؛ به این معنا که هر زمان که همان ورودی به آن داده شود، نتیجه تغییر نخواهد کرد. معنای دیگر آن این است که تابع میتواند ورودی را نیز رمزنگاری کند تا معلوم شدن مقادیر ورودی مشکل یا ناممکن شود. همچنین هر تغییر کوچک در ورودی، یک هش بسیار متفاوت به وجود میآورد. این سیستم پیچیده، شبکه محرمانگی بلاکچین را به وجود میآورد.
نانس چه کاربردی دارد؟
مقادیر Nonce با توجه نوع مصرف آن تفاوتهایی دارد. یکی از مصارف معمول نانس برای الگوریتمهای اجماع است. الگوریتمهای اجماع معمولاً باید از طریقی اطمینان حاصل کنند که ارتباطات گذشته بازپردازش نشوند. به همین منظور این الگوریتمها از نانس استفاده میکنند. برای مثال وقتی از یک سایت کالایی را سفارش میدهید، نانس باعث میشود که اصالت خرید شما تأیید شود. بدون این فرآیند، اشخاص دیگر به صورت بالقوه میتوانند اطلاعات رمزنگاری شده را هرچند بار که دلشان بخواهند به کار بگیرند و تحت نام و اطلاعات خرید شما، برای خودشان سفارشاتی ثبت کنند.
در هشکردن یا Hashing، نانس نقش کلیدی دارد. سیستم اثبات کار یا گواه کار (Proof of Work) از مقادیر نانس برای تغییر دادن ورودی به یک تابع هش رمزنگاری استفاده میکند. در اینجا Nonce کمک میکند تا به میزان مطلوب سختی شبکه برسیم. در الگوریتم اثبات کار، ما از استخراج برای تولید بلاکهای جدید در بلاکچین استفاده میکنیم. در رمز ارزها عدد نانس همان چیزی که استخرجکنندگان یا به اصطلاح ماینرها برای رسیدن به آن تلاش میکنند. وقتی که راهحل معادله پیدا میشود، در مقابل آن راه حل یک رمز ارز به استخراجکنندگان ارائه میشود.
کاربرد دیگر Nonce، مدیریت هویت افراد است. برای مثال وقتی بخواهیم حساب کاربریمان را چه با تأیید یک مرحلهای و چه دو مرحلهای بازیابی کنیم، این بازیابی با استفاده از مقادیر انجام میشود. به همین ترتیب، نرمافزارهای ایجاد کنندهی امضاهای دیجیتال نیز از نانس استفاده کرده و همچنین با Nonce امضاها را مقایسه و تأیید میکنند.
عدد نانس کجا قرار میگیرد؟

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

استخراج بیت کوین به زبان ساده، حل کردن معادلات ریاضی مختلف برای پیدا کردن یک بلاک در بلاک چین است که توسط شبکه تایید شود. استخراج بیت کوین از الگوریتم گواه اثبات کار استفاده میکند. در واقع هر عدد بیت کوین، یک رشته کد از حروف و اعداد است که در فضایی به نام بلاک ذخیره شده است. هر بلاک بیت کوین شامل سربرگ و اطلاعات تراکنشهای قبلی است.
عدد نانس در واقع، عدد ۲۵۶ بیتی هش بلاک جدید را مشخص میکند. ماینرهای بیت کوین آنقدر نانسهای مختلفی را آزمایش میکنند تا به عددی برسند که با استفاده از آن، عدد هش هدر بلاک از هدف تعیین شده توسط شبکه بیت کوین کوچکتر باشد. اولین ماینری که موفق شد این عدد را پیدا کند، یک بلاک میسازد و پاداش استخراج بلاک را دریافت میکند. به همین دلیل، به این عدد، عدد رویایی ماینرها گفته میشود.
نانس صفر به چه معناست؟
بدون حضور عدد نانس در مشخصات یک تراکنش، ماینر نمیتواند با حفظ نظم تراکنشها به آنها ساماندهی کند. برای مثال اگر چهاردهمین اتریوم در حال استخراج باشد و نانس اتریوم شمارهی ۱۰، صفر باشد، یعنی توالی بلاکها و تراکنشها برهم خورده است. به همین دلیل تراکنشهایی با نانس ۰ در لیست تایید ماینرها قرار نمیگیرند چرا که انسجام بلاک چین را حفظ نمیکنند. به همین دلیل اگر نانس یک تراکنش صفر باشد، تراکنش هرگز انجام نخواهد شد.
کاربرد عدد نانس در لغو تراکنش در حال انتظار
ماینرها هنگام فعالیت در شبکه و استخراج رمز ارزها، به دنبال دو نوع مختلف پاداش هستند. یکی پاداش بلاک و دیگری کارمزد تراکنشهای کاربران. به همین دلیل زمانی که یک تراکنش را برای تایید انتخاب میکنند، تلاش میکنند تراکنشهایی را انتخاب کنند که بیشترین کارمزد را دارند. به همین دلیل زمانی که ترافیک شبکه زیاد است، تراکنشها با کارمزد پایین تایید نمیشوند.
نانس، نگهبان امنیت بلاک چین
عدد Nonce یک راه حل دقیق برای حفظ امنیت رمزنگاری در بلاک چین است. ما در این مقاله والکس تلاش کردیم تا مفهوم این اصطلاح را تا حد زیادی برای شما روشن کنیم و کاربرد آن را به شما نشان دهیم. با این حال، ممکن است درک عملکرد این عدد چندان آسان نباشد. به همین دلیل ما در تیم محتوا منتظر سوالات شما درباره نانس شگفت انگیز هستیم.
اگر پیشنهادی برای بهبود مقاله دارید یا فکر میکنید نکتهای هست که بهتر است به آن بپردازیم، لطفاً آن را در بخش دیدگاهها با ما در میان بگذارید.