در حوزه ارزهای دیجیتال مفاهیم «هش» و «هش ریت» نقش اساسی در تضمین امنیت و کارایی شبکههای بلاک چین ایفا میکنند. در این زمینه هش یک رشته الفبایی منحصر به فرد و با طول ثابت است که توسط یک تابع هش رمزنگاری تولید می شود. در حقیقت هش اثر انگشت دیجیتال داده ها است و ایمینی و مقاومت بلاک چین در برابر دستکاری را تامین می کند. از سوی دیگر نرخ هش قدرت محاسباتی را در یک شبکه ارز دیجیتال بهویژه در سیستمهای اثبات کار (PoW) تعیین میکند. نرخ هش بالاتر نشان دهنده ظرفیت محاسباتی بیشتر و در نتیجه افزایش توانایی برای حل مسائل پیچیده ریاضی است. این مهارت محاسباتی برای ماینرهایی که به دنبال اضافه کردن بلوک های جدید به بلاک چین و ایمن سازی شبکه هستند، بسیار مهم است. برای درک بهتر تابع هش و هش ریت تا انتهای مقاله با ما همراه باشید.
هش (Hash) چیست؟
هش یا هشینگ یک تابع ریاضی است که ورودی با طول دلخواه را به خروجی رمزگذاری شده با طول ثابت تبدیل می کند. بنابراین صرف نظر از مقدار اصلی داده یا اندازه فایل درگیر، هش منحصر به فرد آن، همیشه یک اندازه خواهد بود. علاوه بر این هش ها را نمی توان برای “مهندسی معکوس” یعنی ورودی از خروجی هش شده استفاده کرد زیرا عملکردهای هش یک طرفه هستند. با این حال اگر از چنین تابعی روی همان داده استفاده شود هش آن یکسان خواهد بود.
هش چگونه عمل می کند؟
توابع تیپیکال هش ورودی هایی با طول های متغیر را برای برآیند خروجی هایی با طول ثابت دریافت می کنند. تابع هش رمزنگاری شده قابلیت ارسال پیام توابع هش را با ویژگیهای امنیتی ترکیب میکند. توابع هش الگوریتم هایی هستند که نحوه رمزگذاری اطلاعات را تعیین می کنند. در زیر نحوه عملکرد هش بیشتر توضیح داده شده است:
- کلید هش (Hash Key)
داده های ورودی که باید هش شوند به عنوان کلید نیز شناخته می شوند. یک کلید تقریباً در هر قالبی می تواند باشد که می تواند یک رشته متن، لیستی از اعداد، یک تصویر یا حتی یک فایل برنامه باشد.
- تابع هش (Hash Function)
بخش مرکزی هر فرآیند هشینگ، تابع هش است که کلید را می گیرد و آن را به یک رشته کاراکتر با طول ثابت تبدیل می کند. در حقیقت تابع هش داده ها را به بلوک هایی با اندازه مساوی تقسیم می کند.
- مقدار هش (Hash Value)
خروجی نهایی تابع هش مقدار هش است که در حالت ایده آل باید برای هر ورودی منحصر به فرد باشد. مقادیر هش ممکن است فقط یک بار برای احراز هویت داده ها یا امضاهای دیجیتال استفاده شوند یا ممکن است برای جستجوی آسان در یک جدول هش ذخیره شوند.
کلید هش (Hashing Key) چیست؟
کلید هش داده های خامی است که باید در جدول هش، هشینگ شوند. الگوریتم هش تابعی را برای ترجمه کلید هش به مقدار هش استفاده می شود. نتیجه تغذیه کلید هش از طریق الگوریتم هش، مقدار هش نامیده می شود. فرمول: کلید هش = مقدار کلید % تعداد اسلات ها در جدول
انواع مختلف کلیدهای هش
- کلید عمومی
کلید عمومی که اغلب کلید نامتقارن نیز نامیده می شود نوعی کلید است که فقط برای رمزگذاری داده ها استفاده می شود. مکانیسم آن نسبتا کندتر است زیرا کلید عمومی یک کلید باز است. کاربردهای رایج کلیدهای عمومی شامل کارکردهای رمزنگاری، انتقال بیت کوین و ایمن سازی جلسات آنلاین است. با این حال کلید عمومی به همراه مجموعه ای از کلیدهای خصوصی کار می کند در نتیجه امنیت کلی به خطر نمی افتد.
- کلید خصوصی
کلید خصوصی هم در رمزگذاری و هم در رمزگشایی استفاده می شود. هر طرفی که اطلاعات حساس رمزگذاری شده را ارسال یا دریافت می کند، یک کلید به اشتراک می گذارد. با توجه به اینکه هر دو طرف این اطلاعات را به اشتراک می گذارند، کلید خصوصی، کلید متقارن نیز نامیده می شود. یک کلید خصوصی معمولاً رشتهای طولانی و غیرممکن از بیتها است که بهطور تصادفی یا تصادفی مصنوعی تولید میشوند.
- کلید عمومی SSH
کلید SSH از هر دو کلید عمومی و خصوصی استفاده می کند. SSH مجموعه ای از کلیدها است که می تواند برای احراز هویت و رمزگشایی یک ارتباط ارسال شده از راه دور استفاده شود. هم سرورهای دور و هم ذینفعان به کلید عمومی دسترسی دارند.
تابع هش (Hash Function)
تابع هش الگوریتمهایی هستند که مجموعهای از دادهها را به یک رشته بیت با اندازه ثابت تبدیل یا ترسیم میکنند. یک کلید از طریق یک فرآیند ثابت در توابع هش به یک کلید هش تبدیل می شود. مقادیر هش مقادیر محدود شده طولی هستند که می توانند از یک کلید استخراج شوند. با وجود این واقعیت که مقدار هش معمولاً کمتر از میزان اصلی است توالی اصلی کاراکترها همچنان در مقدار هش منعکس می شوند. پس از انتقال امضای دیجیتال، گیرنده هم مقدار هش و هم امضای دیجیتال را دریافت می کند. الگوریتم هش یکسان، مقدار هش تولید شده توسط گیرنده و مقدار هش دریافتی همراه با پیام را مقایسه می کند. اگر مقادیر هش آنها دقیقاً مطابقت داشته باشد پیام ها بدون خطا ارسال می شوند.
ویژگی های تابع هش
- هیچ محدودیتی برای طول پیام وجود ندارد.
- خلاصه پیام ها با طول ثابت تولید می شوند.
- خلاصه پیام را می توان به سرعت و به راحتی محاسبه کرد.
- خلاصه پیام ها را نمی توان از هش تولید کرد زیرا آنها برگشت ناپذیر هستند.
- هنگامی که تغییرات کوچک ایجاد می شود مقادیر پیام به طور چشمگیری تغییر می کند.
- تابع هش بدون تقابل (collision-free) است زیرا دو پیام مختلف نمی توانند به یک مقدار هش منجر شوند.
انواع توابع هش
بسیاری از توابع هش از کلیدهای الفبایی یا عددی استفاده می کنند. مهم ترین نوع توابع هش عبارتند از:
- روش تقسیم (Division)
- روش مید مربعی (Mid Square)
- روش فولدینگ (Folding)
- روش ضرب (Multiplication)
اجازه دهید این روش ها را با جزئیات بیشتری بررسی کنیم:
1- روش تقسیم
روش تقسیم ساده ترین روشی است که برای تولید مقدار هش استفاده می شود. در این تابع هش مقدار k بر M تقسیم می شود و از باقی مانده آن به عنوان حاصل تقسیم استفاده می شود.
- فرمول: h(K) = k mod M
(که در آن k = مقدار کلید و M = اندازه جدول هش است.)
2- روش مید مربعی
مراحل مربوط به محاسبه این روش هش شامل موارد زیر است:
- مربع کردن مقدار k (مانند k*k)
- استخراج مقدار هش از ارقام r میانی
- فرمول: h(K) = h(k x k)
(که در آن k = مقدار کلید است.)
3- روش فولدینگ
در این روش دو مرحله وجود دارد:
- مقدار کلید k باید به تعداد معینی از قسمتها تقسیم شود مانند k1، k2، k3،…، kn، که هر کدام به غیر از جزء نهایی، تعداد ارقام بسیار یکسانی دارند که ممکن است نسبت به قستمتهای باقی مانده اعداد کمتری داشته باشند.
- هر جزء را جداگانه اضافه کنید. آخرین جزء مقدار هش را تعیین می کند.
- فرمول – k = k1، k2، k3، k4، …..، kn
- s = k1+ k2 + k3 + k4 +….+ kn
- h(K)= s
(که در آن s = جمع اجزای کلید k است.)
4. روش ضرب
برای روش ضرب باید مراحل زیر را دنبال کرد:
- مقدار ثابت A را انتخاب کنید (که 0 < A < 1).
- A را با مقدار کلید ضرب کنید.
- قسمت کسری kA را بگیرید.
- حاصل مراقبل را با اندازه جدول هش M ضرب کنید.
- فرمول: h(K) = طبقه (M (kA mod 1))
(که در آن M = اندازه جدول هش، k = مقدار کلید و A = مقدار ثابت است.)
نرخ هش (Hash Rate) چیست؟
نرخ هش یا هش ریت معیاری از قدرت محاسباتی است که برای استخراج و پردازش تراکنشهای بلاک چین اثبات کار (PoW) مانند بیتکوین، مونرو (Monero) و غیره استفاده میشود. هش یک کد الفبایی با طول ثابت است که برای نمایش کلمات، پیامها و دادهها با هر طولی استفاده میشود. پروژههای کریپتو از الگوریتمهای هش متفاوت برای ایجاد انواع کدهای هش استفاده میکنند، مانند SHA-256 برای بیتکوین و RandomX برای مونرو!
نرخ هش معیاری از قدرت محاسباتی ترکیبی است که یک شبکه بلاک چین برای پردازش تراکنش ها استفاده می کند. نرخ هش همچنین دشواری استخراج یا ماینینگ را نیز اندازه گیری می کند که نشان می دهد اضافه کردن یک بلوک به یک بلاک چین چقدر زمان بر است. نرخ هش می تواند بر اساس تعداد ماینرهایی که تراکنش ها را تأیید می کنند قدرت شبکه از جمله امنیت و سلامت آن را نشان دهد. به عبارت دیگر نرخ هش کارایی و عملکرد یک شبکه کریپتو را تعیین می کند.
عملکرد هش ریت
شبکه بلاک چین به طور معمول از تابع ریاضی خاصی با عنوان الگوریتم هش برای تولید تصادفی مقدار هش استفاده می کند. ماینرهای شبکه برای تولید هش صحیح با هم رقابت می کنند. سپس ماینر برنده اعتبار معاملات را ارزش گذاری می کند و برای حل پازل ریاضی پاداش می گیرد.
با این حال برای تولید یک هش معتبر میلیونها حدس و گمان زده می شود. تعداد حدس های انجام شده در ثانیه به عنوان هش ریت محاسبه می شوند. نرخ هش بالا به این معنی است که شبکه دارای ماینرهای رقیب زیادی است و به طور کلی نشان دهنده ایمنی و کارآمدی یک شبکه است.
نحوه اندازه گیری هش ریت
نرخ هش با تعداد هش در ثانیه اندازه گیری می شود که می تواند به اندازه کوین تیلیون ها (quintillions) باشد. بسته به اندازه و مقیاس عملیات استخراج یا ماینینگ، هش ریت را می توان در واحدهای مختلفی بیان کرد، مانند:
- کیلوهاش (KH/s) = 1000 هش در ثانیه
- مگاش (MH/s) = 1,000,000 هش در ثانیه
- گیگاهش (GH/s) = 1,000,000,000 هش در ثانیه
- تراهاش (TH/s) = 1,000,000,000,000 هش در ثانیه
- پتاهاش (PH/s) = 1,000,000,000,000,000 هش در ثانیه
- اگزاهاش (EH/s) = 1,000,000,000,000,000,000 هش در ثانیه
ارزهای دیجیتال مختلف بسته به سختی و محبوبیت استخراج آنها، نرخ هش متفاوتی دارند. به عنوان مثال شبکه بیت کوین دارای نرخ هش حدود 150 اگزاهاش EH/s است در حالی که شبکه اتریوم دارای نرخ هش حدود 600 تراهاش TH/s است.
هش چگونه محاسبه می شود؟
یک تابع هش از الگوریتم های پیچیده ای استفاده می کند که داده هایی با طول دلخواه را به داده هایی با طول ثابت تبدیل می کند. اگر یک بیت را در هر جایی از داده های اصلی تغییر دهید، کل مقدار هش تغییر می کند همچنین برای تأیید صحت فایل های دیجیتال و سایر داده ها مفید است.
الگوریتم هش چیست؟
ده ها الگوریتم هش مختلف وجود دارد و همه آنها به صورت متفاوت عمل می کنند. اما نکته اشتراک بین همه آنها این است که افراد الگوریتم ها را به صورت داده تایپ میکنند و برنامه آنها را به شکل دیگری تغییر میدهد. همه الگوریتم های هش عبارتند از:
- محاسباتی
قوانین ریاضی سختگیرانه، زیربنای کار یک الگوریتم هستند و آن قوانین را نمی توان شکست یا تغییر داد.
- یک شکل
هنگامی که یک نوع الگوریتم هش را انتخاب می کنید و دادههای هر تعداد کاراکتر سیستم را واردار می کند تا طول داده ها را نسبت به برنامه از پیش تعیین شده در بیاورد.
- باثبات
الگوریتم فقط یک کار انجام می دهد و آن فشرده سازی داده ها است.
- یک طرفه
پس از تغییر شکل توسط الگوریتم بازگشت داده ها به حالت اولیه تقریبا غیرممکن است.
درک این نکته مهم است که هش و رمزگذاری عملکردهای متفاوتی هستند. ممکن است از آنها در هماهنگی با یکدیگر استفاده شود اما استفاده از این اصطلاحات به جای هم صحیح نیست.
کاربرد هش در بلاک چین
هش در بلاک چین به معنای تبدیل داده های ورودی به خروجی با اندازه ثابت از طریق یک الگوریتم خاص است. هشینگ داده ها را یکپارچه می کند و از تراکنش های تقلبی جلوگیری می نماید. هسته اصلی این فرآیند توابع هش است که اثر انگشت دیجیتال منحصر به فردی را برای داده ها ایجاد می کند. خروجی که به عنوان مقدار هش شناخته می شود برای داده های ورودی منحصر به فرد است. اگر داده های ورودی کمی تغییر کنند مقدار هش به شدت متفاوت خواهد بود. این ویژگی توابع هش آنها را به یک جزء ضروری از ساختارهای داده مختلف از جمله فناوری زنجیره بلوکی، که در آن هر بلوک حاوی هش بلوک قبلی است، تبدیل میکند.
هش ها در چندین بخش از یک سیستم بلاک چین استفاده می شوند. هر هدر بلاک (block header) حاوی هش بلاک قبلی است که تضمین میکند با اضافه شدن بلاکهای جدید، هیچ چیز دستکاری نشده است. بلاک چینهای ارزهای دیجیتال از هشها برای ایمن کردن اطلاعات و غیرقابل تغییر کردن دفتر کل استفاده میکنند.
نقش نرخ هش در ماینینگ
ماینینگ فرآیندی اساسی است که شامل اعتبارسنجی تراکنش ها و افزودن آنها به دفتر کل بلاک چین است. این فرآیند نه تنها برای حفظ یکپارچگی و تداوم بلاک چین، بلکه برای ایجاد کوین های جدید نیز حیاتی است. هش ریت نقش اصلی در فرآیند استخراج بازی می کند.
- مکانیزیم های ماینینگ
استخراج شامل حل پازل های پیچیده ریاضی با استفاده از توابع هش رمزنگاری شده است. این پازل ها برای فرآیند اعتبارسنجی تراکنش ها و ایجاد بلاک های جدید در بلاک چین ضروری هستند.
- اهمیت نرخ هش
نرخ هش اندازه گیری می کند که ماینرها چند بار در ثانیه می توانند این پازل ها را حل کنند. این نشانگر مستقیم عملکرد و کارایی سخت افزار ماینینگ است. نرخ هش بالاتر به این معنی است که در یک ثانیه می توان تلاش های بیشتری انجام داد و شانس حل پازل و استخراج موفقیت آمیز یک بلوک جدید را افزایش داد.
کاربردهای هش ریت
نرخ هش به چند دلیل مهم است، هم برای ماینرها و هم برای امنیت شبکه و هم پایداری شبکه بلاک چین! نرخ هش به تعیین امنیت و سختی استخراج شبکه بلاک چین کمک می کند. تعداد بالای ماینرها در شبکه بلاک چین نشان دهنده سطح پایین فعالیت مخرب علیه شبکه است. نرخ هش در شبکه بلاک چین به طور مستقیم با سختی استخراج متناسب است. عملیات استخراج در شبکه هایی با نرخ هش بالا کارآمدتر است.
- سختی ماینینگ
سختی ماینینگ میزان سختی است که ماینرهای شبکه بلاک چین برای تولید یک هش کمتر از ارزش هش هدف متحمل می شوند. هر هش با به حداقل رساندن ارزش عددی هدر بلاک به دست می آید. زمان لازم برای یافتن بلاکها توسط ماینرها در شبکه 10 دقیقه در نظر گرفته می شود. اگر ماینرها به طور متوسط هر 10 دقیقه یک بار بلاک ها را استخراج کنند و ارزهای رمزنگاری شده را پیدا کنند، میزان سختی افزایش می یابد. برای ماینرها، نرخ هش یک عامل کلیدی است که عملکرد و سود ماینینگ آنها را تعیین می کند.
هرچه نرخ هش بالاتر باشد، ماینر شانس بیشتری برای یافتن بلوک بعدی و کسب پاداش دارد. با این حال، نرخ هش تنها عاملی نیست که بر سوددهی ماینینگ تأثیر می گذارد. همانطور که ماینرهای بیشتری به شبکه می پیوندند و نرخ هش افزایش می یابد، شبکه به طور خودکار سختی استخراج پازل ها را تنظیم می کند تا اطمینان حاصل کند که زمان استخراج هر بلاک ثابت باقی می ماند به این عمل سختی ماینینگ گفته می شود.
- مفاهیم امنیتی
نرخ هش بالا به معنای مقدار زیادی از توان محاسباتی توزیع شده در سراسر شبکه است. این توزیع گسترده قدرت کنترل شبکه را برای عوامل مخرب دشوار می کند. هرچه قدرت محاسباتی غیرمتمرکزتر باشد، شبکه در برابر حملات احتمالی ایمن تر است. با افزایش نرخ هش فرآیند افزودن بلاکهای جدید به بلاک چین رقابتیتر و چالش برانگیزتر میشود و تضمین میکند که فقط تراکنشهای معتبر و تایید شده ثبت شوند. این فرایند یکپارچگی بلاک چین را حفظ می کند و از فعالیت های تقلبی جلوگیری می کند.
نرخ هش بالاتر به طور کلی به معنای امنیت بیشتر شبکه است. با قدرت محاسباتی بیشتری که برای استخراج بلاکهای جدید نیاز است بهطور فزایندهای برای هر واحد کنترل اکثریت قدرت ماینینگ شبکه کار دشواری خواهد بود (این عمل به حمله 51 درصدی معروف است). این توزیع غیرمتمرکز قدرت ماینینگ برای حفظ یکپارچگی و امنیت بلاک چین بسیار مهم است.
- پایداری شبکه
برای شبکه، نرخ هش معیاری برای سنجش امنیت و سلامت بلاک چین است. هرچه نرخ هش شبکه بالاتر باشد، شبکه در برابر حملاتی مانند حملات 51 درصدی، هزینه مضاعف یا سانسور ایمن تر و انعطاف پذیرتر می شود. حمله 51 درصدی زمانی است که یک ماینر مخرب یا گروهی از ماینرها بیش از 50 درصد از قدرت هش شبکه را کنترل می کنند و می توانند با معکوس کردن تراکنش ها، جلوگیری از تراکنش های جدید یا ایجاد کوین های جدید، بلاک چین را دستکاری کنند. نرخ هش شبکه بالا، راه اندازی چنین حمله ای را برای هر کسی بسیار گران و دشوار می کند.
نرخ هش همچنین یک شاخص کلیدی از سلامت و ثبات یک شبکه ارز دیجیتال است. نرخ هش بالا یا در حال افزایش، نشان دهنده یک شبکه قوی و ایمن است، در حالی که کاهش نرخ هش می تواند نشان دهنده آسیب پذیری ها یا کاهش علاقه ماینرها باشد.
نتیجه گیری
نرخ هش یک مفهوم مهم برای استخراج ارزهای دیجیتال است، زیرا سرعت و کارایی فرآیند استخراج، امنیت و سلامت شبکه و سودآوری و رقابت ماینرها را تعیین می کند. با درک اینکه نرخ هش چیست، چگونه اندازه گیری می شود، چرا مهم است و چگونه می توان آن را بهینه کرد، می توانید عملکرد و درآمد استخراج خود را بهبود بخشید و به توسعه و رشد اکوسیستم ارزهای دیجیتال کمک کنید.
سوالات متداول
1- هش در زمینه ارز دیجیتال چیست؟
هش در ارز دیجیتال به یک رشته الفبایی با طول ثابت اشاره دارد که توسط یک تابع هش ایجاد می شود. این یک تابع یک طرفه است که یک ورودی (داده) را می گیرد و یک خروجی منحصر به فرد و با اندازه ثابت تولید می کند. در فناوری بلاک چین هش ها نقش مهمی در پیوند دادن بلوک ها به یکدیگر، تضمین یکپارچگی داده ها و افزایش امنیت دارند.
2- اهمیت هش ریت در استخراج ارزهای دیجیتال چیست؟
نرخ هش که بر حسب هش در ثانیه (H/s) اندازه گیری می شود معیاری است که قدرت محاسباتی یک ماینر یا یک شبکه را نشان می دهد. در استخراج ارزهای دیجیتال به ویژه در سیستمهای اثبات کار (PoW) مانند بیتکوین نرخ هش بالاتر شانس حل موفقیتآمیز مسائل پیچیده ریاضی برای افزودن یک بلوک جدید به بلاک چین را افزایش میدهد. ماینرهایی با نرخ هش بالاتر از مزیت رقابتی در اعتبارسنجی تراکنش ها و کسب پاداش های بلوک برخوردارند.
3- هش ریت چگونه بر امنیت شبکه در ارزهای دیجیتال تأثیر می گذارد؟
نرخ هش بالاتر به طور کلی به افزایش امنیت شبکه در ارزهای دیجیتال کمک می کند. در بلاک چین های مبتنی بر PoW، نرخ هش جمعی بالاتر، راه اندازی یک حمله 51 درصدی را برای عوامل مخرب دشوارتر می کند. حمله 51 درصدی زمانی اتفاق میافتد که یک نهاد بیش از نیمی از نرخ هش شبکه را کنترل میکند و به طور بالقوه به آنها اجازه میدهد تراکنشها را دستکاری کنند یا کوین ها را دوبار خرج کنند. نرخ هش قوی چنین حملاتی را از نظر اقتصادی و محاسباتی چالش برانگیز می کند.
4- آیا هش ریت بین ارزهای دیجیتال مختلف متفاوت است؟
بله نرخ هش می تواند به طور قابل توجهی بین ارزهای دیجیتال مختلف متفاوت باشد. هر ارز دیجیتال بر اساس الگوریتم خود عمل میکند و نرخ هش تحت تأثیر عواملی مانند پیچیدگی الگوریتم و تعداد ماینرهای شرکتکننده است. برای مثال، بیتکوین و اتریوم الگوریتمهای استخراج متفاوتی دارند (به ترتیب SHA-256 و Ethash)، که منجر به تغییراتی در نرخ هش آنها میشود.
5- نرخ هش چگونه بر مصرف انرژی در استخراج ارزهای دیجیتال تأثیر می گذارد؟
نرخ هش مستقیماً با مصرف انرژی عملیات استخراج ارزهای دیجیتال به ویژه در سیستمهای PoW، ارتباط دارد. نرخ هش بالاتر اغلب به قدرت محاسباتی بیشتری نیاز دارد که منجر به افزایش مصرف برق می شود. این نگرانیها را در مورد تأثیر زیستمحیطی ارزهای دیجیتال بهویژه در مورد کوین های محبوبی مانند بیتکوین ایجاد کرده است.