وارد شوید

سوالی دارید؟

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

blogImage
تریدسرا
20 آبان 1400

هش و هش ریت چیست؟

0

هش تابعی است که یک ورودی از حروف و اعداد با طول متغیر را به یک خروجی رمزنگاری شده با طول ثابت تبدیل می کند. فرآیند رمزنگاری شبکه‌‌های بلاک چین‌‌، با استفاده از سیستمی پیچیده صورت می‌‌گیرد که در نهایت امنیت شبکه را تامین می‌‌کند. داده‌‌های ورودی با استفاده از فرآیند هشینگ (Hashing) به زنجیره‌‌ای تصادفی از اعداد و حروف تبدیل می‌‌شوند و استخراج‌‌کنندگان باید به منظور دریافت پاداش‌‌، آنها را حل کنند. بلاک چین‌‌ تنها حاوی تراکنش‌‌های معتبر است و همین مسئله باعث جلوگیری از تراکنش‌‌های کلاهبردارانه و حمله خرج دوباره (Double Spend Attack) می‌‌شود. نرخ به دست آمده شامل مجموعه‌‌ای از اعداد و حروف است که شباهتی با داده‌‌های اولیه ندارند و با نام هش شناخته می‌‌شوند. استخراج رمز ارز ها با استفاده از این هش‌‌ها انجام می‌‌شود.
به زبان ساده، هشینگ با استفاده از یک تابع ریاضی مقداری را به مقدار دیگر تبدیل می‌کند. هشینگ یکی از راه‌های ایجاد امنیت در هنگام انتقال پیام است (زمانی که می‌خواهیم پیام فقط برای یک گیرنده خاص قابل‌شناسایی باشد). به طور معمول، الگوریتم‌های Hash رمز ارزها، به عنوان توابع یک طرفه طراحی می‌شوند، بدین معنی که بدون صرف مقدار زیادی زمان و محاسبات پیچیده، نمی‌توان آن‌ها را به راحتی برگرداند. به عبارت دیگر، ایجاد خروجی از ورودی کاملاً آسان بوده، اما حرکت در جهت مخالف (تولید ورودی از خروجی) بسیار دشوار است. به طور کلی، یافتن ورودی هرچه دشوارتر باشد، الگوریتم هش امن‌تر محسوب می‌شود.

تابع Hash چگونه کار می‌کند؟

توابع Hash مختلف، خروجی‌هایی با اندازه‌های متفاوت تولید می‌کنند، اما اندازه‌های خروجی برای هر الگوریتم همیشه ثابت است. به عنوان مثال، الگوریتم SHA-256 فقط می‌تواند خروجی با اندازه 256 بیت را تولید کند، در حالی که SHA-1 همیشه یک خروجی 160 بیتی ایجاد می‌کند.
برای توضیح، بیایید کلمات “Ali” و “ali” را از طریق الگوریتم هش SHA-256 (الگویی که در بیت کوین استفاده می‌شود) اجرا کنیم.
Ali:862ef3927a7c8acfd3e79aa547800ef285cd9b13a39f5ec2d47554981cb313c8
ali:94419b99b12c11133a4dfeccc3e17885974beb48f7827c48239aabfbcad238d8
توجه داشته باشید که یک تغییر جزئی (بزرگ یا کوچک بودن حرف اول) منجر به یک مقدار Hash کاملا متفاوت می‌شود. اما از آنجایی که ما از SHA-256 استفاده می‌کنیم، خروجی‌ها همیشه یک اندازه ثابت 256 بیت (یا 64 کاراکتر مبتنی بر هگزادسیمال) بدون تاثیر از اندازه ورودی خواهند داشت. همچنین، مهم نیست که چند بار دو کلمه را از طریق الگوریتم اجرا کنیم، دو خروجی ثابت می‌مانند.
برعکس، اگر ورودی‌های مشابه را از طریق الگوریتم هش SHA-1 اجرا کنیم، نتایج زیر را خواهیم داشت:
Ali:93F0A0D81E4BFCB912857A1EA8E5101A515269E8
ali:B42A6D93D796915222F6FFB2FFDD6137D93C1CDB

تفاوت هشینگ و رمزنگاری

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

کاربردهای هش در کریپتوگرافی

یک تابع هش که تکنیک‌های رمزنگاری را به کار می‌برد، به عنوان یک “تابع هش رمزنگاری” تعریف می‌شود. به طور کلی، شکستن عملکرد Hash رمزنگاری نیاز به تلاش مداوم بسیار زیادی دارد. برای اینکه شخص یک عملکرد هش رمزنگاری را برگرداند، باید با استفاده از سعی و خطا، حالات مختلف ورودی را امتحان کند تا به خروجی مدنظر برسد.
با این وجود، امکان تولید یک خروجی مشابه از ورودی‌های مختلف نیز وجود دارد که به آن مشکل خروجی یکسان یا تصادم (Collision) می‌گویند.
از نظر فنی، یک تابع Hash رمزنگاری باید سه ویژگی داشته باشد تا ایمن محسوب شود. این ویژگی‌ها را می‌توانیم تحت عناوین: عدم تصادم، یک طرفه بودن و عدم پیش بینی خروجی یکسان توصیف کنیم.
قبل از بحث در مورد هر ویژگی، بیایید منطق آن‌ها را در سه جمله کوتاه خلاصه کنیم.

عدم تصادم: هر ورودی خاص، خروجی مختص به خود را دارد.

یک طرفه بودن: برگرداندن تابع Hash (یافتن ورودی از یک خروجی معین) غیرممکن است.

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

کاربرد هش در استخراج

مراحل زیادی در استخراج بیت کوین وجود دارد که در آنها از توابع هش استفاده می شود. اما یکی از دلایل اصلی امنیت بلاک چین بیت کوین این مسئله است که ماینرها برای یافتن یک Hash معتبر برای بلاک بعدی، نیاز به اجرای بی‌شمار تابع هش دارند.
به طور خاص، یک ماینر هنگام ایجاد مقدار هش برای بلاک مورد نظر خود، مجبور است چندین ورودی مختلف را امتحان کند. در واقع، آن‌ها فقط در صورتی قادر به اعتبارسنجی بلاک خود هستند که بتوانند یک هش با تعداد صفرهای اولیه مشخص پیدا کنند. تعداد صفرها چیزی است که سختی استخراج را تعیین می‌کند و بسته به میزان Hash اختصاص داده شده متفاوت بوده و توسط شبکه تعیین می‌شود.در این حالت، نرخ هش یا هش ریت (Hash rate) نشان‌دهنده میزان قدرت پردازش شبکه در استخراج بیت کوین است. اگر میزان Hash شبکه افزایش یابد، پروتکل بیت کوین به طور خودکار سختی استخراج را تنظیم می‌کند تا میانگین زمان لازم برای استخراج یک بلاک نزدیک به 10 دقیقه باقی بماند. در مقابل، اگر چندین استخراج کننده تصمیم بگیرند که از شبکه خارج شوند و باعث کاهش قابل توجه میزان Hash شوند، سختی استخراج تنظیم شده و ماینینگ آسان‌تر می‌شود (تا میانگین زمان بلاک ​​به 10 دقیقه برسد).

واحد هش ریت چیست؟

هش ریت بر مبنای ثانیه اندازه‌گیری می‌شود (h/s).

درجه‌بندی هش ریت:

۱ KH/s برابر با ۱،۰۰۰ (هزار) هش در ثانیه است.

۱ MH/s برابر با ۱،۰۰۰،۰۰۰ (یک‌میلیون) هش در ثانیه است.

۱ GH/s برابر با ۱،۰۰۰،۰۰۰،۰۰۰ (۱ میلیارد) هش در ثانیه است.

۱ TH/s برابر با ۱،۰۰۰،۰۰۰،۰۰۰،۰۰۰ (۱ تریلیون) هش در ثانیه است.

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

اشتراک گذاری در:
منبع مقاله: Robinhood

برچسب های مقاله:

نظرات کاربران

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

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

دیگر مطالب مرتبط