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

هش (Hash) چیست؟

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

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

هش چیست؟

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

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

چه کسانی از هشینگ استفاده می‌کنند؟

هش چیست؟

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

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

هش چیست؟

در بلاک چین بیت کوین، فرآیند “ماینینگ” اساساً با اجرای یکسری توابع هشینگ SHA-256 انجام می‌شود. امروزه در بلاک چین ارزهای دیجیتال، از فرآیند هشینگ برای نوشتن تراکنش‌های جدید، زمان گذاری آن‌ها و درنهایت افزودن آن‌ها به بلاک قبلی استفاده می‌شود. هنگامی که یک بلاک از تراکنش‌ها به بلاک چین اضافه و میان اپراتور نودهای مختلف اجماع حاصل می‌شود، از آن پس معکوس کردن فرآیند معامله به دلیل ماهیت یک‌طرفه بودن هشینگ تقریباً غیرممکن خواهد شد. بنابراین هشینگ برای حفظ یکپارچگی بلاک چین بسیار حیاتی است.

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

هش چیست؟

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

یک مطلب جالب دیگر بخوانید:  بلاک چین به زبان ساده چیست؟

فرآیند هشینگ چگونه کار می‌کند؟

هش چیست؟

در ارز دیجیتال بیت کوین، تراکنش‌ها به عنوان ورودی دریافت می‌شوند و از طریق الگوریتم هشینگ (که بیت کوین از الگوریتم SHA-256 استفاده می‌کند) به یک خروجی با طولی ثابت تبدیل می‌شوند. برای درک بهتر این موضوع، ما در مثال مان از همان الگوریتم SHA-256 استفاده می‌کنیم:

هش چیست؟

همان‌طور که مشاهده می‌کنید، در خصوص الگوریتم SHA-256، مهم نیست ورودی شما به چه اندازه بزرگ و یا کوچک باشد، خروجی درنهایت همیشه دارای طول ثابت ۲۵۶ بیت خواهد بود. این مسئله زمانی مهم است که شما با تعداد زیادی از داده‌ها و تراکنش‌ها سروکار دارید. بنابراین اساساً، به جای به یادآوردن داده‌های ورودی که می‌توانند بسیار هم زیاد باشند، می‌توانید فقط مقدار هش را به خاطر بسپارید و آن را پیگیری کنید. پیش از اینکه بیشتر در این خصوص توضیح دهیم، بهتر است ابتدا به ویژگی‌های توابع هشینگ و نحوه پیاده‌سازی آن‌ها در بلاک چین بپردازیم.

توابع رمزنگاری شده

هش چیست؟

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

  • ویژگی شماره ۱: قطعیت

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

  • ویژگی شماره ۲: محاسبات سریع

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

  • ویژگی شماره ۳: غیرعملی بودن تبدیل هش بدست آمده به ورودی

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

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

  • ویژگی شماره ۴: تغییرات کوچک در ورودی، هش خروجی را تغییر می‌دهد
یک مطلب جالب دیگر بخوانید:  فناوری بلاک چین چگونه کار می کند؟

حتی اگر تغییر کوچکی در ورودی خود ایجاد کنید، تغییراتی که در هش بوجود می‌آیند بسیار چشمگیر خواهند بود. اجازه دهید این مثال را با استفاده از الگوریتم SHA-256 آزمایش کنیم:

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

  • ویژگی شماره ۵: مقادیر هش هرگز باهم برابر نخواهند بود

با توجه به دو ورودی مختلف A و B، غیرعملی است که مقادیر هش A با هش B برابر باشد. این یعنی اینکه برای بیشتر قسمت‌ها، هر ورودی هش منحصر به فرد خود را دارد. (مجدداً یادآوری می‌کنیم که “غیرعملی” به معنای “غیرممکن” نیست، چراکه در واقعیت افرادی هستند که این کار را انجام می‌دهند).

  • ویژگی شماره ۶: بدون توجه به ورودی، خروجی همیشه به یک اندازه خواهد بود

اگر شما یک کلمه واحد را تبدیل به هش کنید، خروجی به یک اندازه معین خواهد بود (در خصوص تابع SHA-256، اندازه آن ۲۵۶ بیت خواهد بود). اگر هم یک کتاب را تبدیل به هش کنید، بازهم خروجی به همان اندازه ۲۵۶ بیت خواهد بود. این‌یکی دیگر از ویژگی‌های مهمی است که می‌تواند باعث صرفه‌جویی در زمان محاسبات شود. یکی از بهترین مثال‌ها در این خصوص، استفاده از هش به عنوان یک کلید در نقشه داده‌هاست. نقشه داده، یک ساختار ساده است که در علم کامپیوتر برای ذخیره‌سازی داده‌ها استفاده می‌شود.

هش

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

هش ریت (Hash Rate) یا نرخ آ چیست؟

هش چیست؟

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

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

هش چیست؟

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

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

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

تبدیل‌های رایج هش ریت:

  • ۱ MH/s = 1,000 kH/s
  • ۱ GH/s = 1,000 MH/s = 1,000,000 kH/s
  • ۱ TH/s = 1,000 GH/s = 1,000,000 MH/s = 1,000,000,000 kH/s
ترتیبی که برای خواندن مقالات" بلاک چین "به شما پیشنهاد می‌کنیم:

دیدگاه شما

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