آموزش Web3آموزش ارز دیجیتالآموزش امنیت ارز دیجیتالآموزش بلاکچین

تابع هش، هشینگ و هش ریت چیست؟

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

تابع هش و هشینگ چیست؟

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

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

چگونگی انجام فرآیند هشینگ

هر شخصی که در ریاضیات و عمل رمزنگاری دارای تخصص باشد می‌تواند تابع هش برای خود بسازد. تابع هش انواع مختلفی داشته و برای ساخت آن روش‌های متنوعی وجود دارد. پرکاربردترین نوع تابع هش sha-256 نام دارد. هر مقدار ورودی تحویل تابع هش شود، به جمله‌ای رمزنگاری شده به‌صورت یک رشته با طول ثابت تبدیل می‌شود. برای مثال اگر جمله‌ی “الاغ‌ها پرواز نمی‌کنند” را توسط الگوریتم به هش تبدیل کنیم، به یک رشته مثل ۴e17j835 خواهیم رسید.

تابع هش و هشینگ چیست

تابع هش sha-256

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

تابع هش رمزنگاری و ویژگی‌های آن

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

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

تابع هش و هشینگ چیست؟

معین و مشخص بودن

در تابع هش به­ ازای هر ورودی معین، خروجی مشخص و ثابتی را تحویل می­‌دهد. تفاوتی ندارد چند مرتبه و در چه زمان­‌هایی ورودی را تحویل تابع داده‌­اید؛ همیشه خروجی ثابت است. اهمیت این ویژگی از این بابت است که اگر هر بار تابع هش تغییر کند، دیگر پیگیری و ردیابی اطلاعات آن غیرممکن است. به­‌عنوان مثال اگر کلمه “خوبی” را هزار بار در تابع هش وارد کنیم، در تمامی موارد هش آن ثابت است.

تسریع در محاسبه

کارآمدی آن براساس سرعت محاسبه است. اگر تابع هش در محاسبه ورودی­‌ها سریع عمل نکند سبب ناکارآمدی سیستم می‌شود.

یک طرفه بودن تابع

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

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

هشینگ در ارزهای دیجیتال چیست

تغییر ورودی هش را تغییر می­‌دهد

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

عدم یکسان بودن خروجی‌­ها

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

توابع هش

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

الگوریتم RIPEMD

این کلمه مخفف RACE Integrity Primitives Evaluation Message Digest است. این الگوریتم مجموعه‌­ای از توابع هش بوده که توسط گروه بلژیکی COSIC در سال ۱۹۹۶ توسعه یافت. طول هش توابع این الگوریتم ۱۲۸، ۱۶۰، ۲۵۶ و ۳۲۰ بیتی است. تاکنون در خصوص حمله نسخه ۱۶۰ آن گزارشی اعلام نشده است؛ اما دو مورد ۲۵۶ و ۳۲۰ دارای سطح امنیتی کمتری بوده و تنها از یکسان بودن خروجی­‌ها جلوگیری می­‌کنند.

الگوریتم MD5

این الگوریتم که مخفف کلمه Message Digest به معنی خلاصه پیام بوده و توسط رونالد ریوست در سال ۱۹۹۱ به­‌منظور جایگزینی برای تابع قبلی MD4 طراحی شده است. این الگوریتم به شکل گسترده استفاده شده و هش ۱۲۸ بیتی ایجاد می‌­کند.

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

الگوریتم md5

الگوریتم BLAKE

این الگوریتم در رقابتی که از طرف موسسه ملی استاندارد و فناوری آمریکا با هدف انتخاب بهترین تابع برای توسعه SHA-3 برگزار شد، در میان ۵ الگوریتم برتر حضور داشت.

الگوریتم بلیک دارای ۲ نسخه متفاوت است. شناخته­‌شده‌­ترین عضو در خانواده بلیک، نسخه blake-2 است. این الگوریتم در سال ۲۰۱۲ انتشار یافت. هدف از ایجاد آن، جایگزینی مناسب برای الگوریتم­‌های MD5 و SHA-1 بود. الگوریتم‌­های نام برده شده کاربردهای بسیاری داشتند و از طرفی آسیب‌پذیر نیز بودند.

الگوریتم blake-2 به دو گروه blake-2s  و blake-2b تقسیم می‌­شود. گزارشات نشان می­‌دهند که نسخه blake-2 از از الگوریتم‌های MD5، SHA-3، SHA-2 و SHA-1 بسیار سریع­تر بوده و از نظر امنیت با آخرین نسخه تابع هش SHA برابری می‌کند.

کاربرد هش در بلاک‌چین چیست؟

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

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

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

کاربرد هش در بلاک‌چین

هش در ماینینگ

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

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

فرایند ماینینگ بیت کوین چگونه است؟

یکسان بودن توابع هش

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

افزایش بلاک‌­های یتیم

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

هشینگ در ارزهای دیجیتال

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

ارز دیجیتال چیست؟ آشنایی با مهم‌ترین مفاهیم بازار رمزارزها

هشینگ داده‌ها

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

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

هشینگ در ارزهای دیجیتال

اعتبارسنجی و امضای دیجیتال

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

مکانیزم امضای دیجیتال اولین‌بار در سال ۱۹۷۰ ارائه شد و نقش قابل‌توجهی در توسعه علم رمزنگاری ایجاد کرد. توجه داشته باشید که برای امضا کردن سندهای طولانی نباید از الگوریتم‌های رمزنگاری کلید عمومی استفاده کرد. معمولاً بیشتر پروتکل‌های ارزهای دیجیتال برای صرفه‌جویی در زمان، به‌جای رمزنگاری کل پیام از توابع هش استفاده می‌کنند.

امضای دیجیتال

امضا کردن

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

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

هش ریت چیست؟

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

واحد هش ریت چیست و چگونه اندازه­‌گیری می­‌شود؟

قدرت هش براساس محاسباتی که ماینر در مدت زمان یک ثانیه انجام می­‌دهد اندازه‌­گیری می­‌شود و واحد آن “هش بر ثاینه” (H/S) است. این واحد به مانند دیگر عملیات­‌های محاسباتی دارای واحدهای بزرگ­تر و کوچک­تر است.

  • یک کیلوهش بر ثانیه یا هزارش هش بر ثانیه KH/S1
  • یک مگاهش بر ثانیه یا یک میلیون هش بر ثانیه MH/S1
  • یک گیگاهش بر ثانیه یا یک میلیارد هش بر ثانیه GH/S1
  • یک تراهش بر ثانیه یا یک تریلیون هش بر ثانیه TH/S1
  • یک پتاهش بر ثانیه یا یک کوادریلیون هش بر ثانیه PH/S1
  • یک اگزاهش بر ثانیه یا کوئینتیلیون  هش بر ثانیه EH/S1

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

ارتباط هش ریت با سود آوری چیست

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

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

تاثیر هش ریت بر سرمایه گذاران و سختی شبکه

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

جمع‌بندی

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

الهه سیدان

من الهه سیدان هستم، فارغ‌التحصیل رشته حسابداری و دارای مدرک پیشرفته زبان انگلیسی. با توجه به رشته تحصیلم، به اقتصاد علاقه زیادی دارم و از سال ۹۲ در عرصه اقتصادی به‌عنوان خبرنگار مشغول به فعالیت بودم. بازار کریپتو به عنوان صنعتی نوپا به دلیل کارکردهای گسترده‌ و فرصت‌های مالی که در اختیار جوامع قرار می‌دهد، به تدریج توجه من را جلب کرد و باعث شد به این بازار جدید مالی علاقه‌مند شوم. در حال حاضر حدود ۵ سال است که محتوای تحلیلی- خبری در حوزه رمزارز تولید می‌کنم و امیدوارم بتوانم نقشی موثر در ارائه به موقع اطلاعات و اخبار این حوزه مالی به علاقه‌مندان دنیای ارز دیجیتال داشته‌باشم.

مطالعه بیشتر

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا