منظور از هش (Hash) چیست؟

منظور از هش (Hash) چیست؟
زمان مطالعه: 4 دقیقه

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

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

نکات کلیدی

  • هش (Hash) تابعی است که نیازهای رمزگذاری‌شده لازم برای حل محاسبات بلاک‌چین را برآورده می‌کند.
  • هش‌ها طول ثابت دارند، از این رو اگر کسی سعی کند بلاکچین را بشکند، حدس زدن طول هش ناممکن است.
  • داده‌های یکسان همیشه مقدار هش یکسانی تولید می‌کنند.
  • هش مثل تَک‌بار (nonce) یا یک راه‌حل، بخش اصلی شبکه بلاک‌چین است.
  • هش بر اساس اطلاعات موجود در بلوک اصلی توسعه داده می‌شود.

هش (Hash) چگونه کار می‌کند؟

توابع معمولی هش ورودی‌هایی با طول متغیر را دریافت می‌کنند و خروجی‌هایی با طول ثابت را تولید می‌کنند. یک تابع رمزنگاری هش، قابلیت‌های پیام‌رسانی (message-passing) توابع هش را با ویژگی‌های امنیتی ترکیب می‌کند.

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

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

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

  • توابع مذکور «بدون برخورد» (collision-free) هستند. یعنی هیچ دو هش ورودی نباید به یک هش خروجی نگاشته شوند.
  • می‌توان این توابع را پنهان کرد. شناسایی مقدار ورودی یک تابع هش با توجه به خروجی آن دشوار است.
  • توابع فوق باید معماگونه باشند. شناسایی و انتخاب ورودی که خروجی از پیش تعریف‌شده داشته باشد، چندان ساده نیست. از این رو ورودی فوق باید از داده‌های بسیار گسترده انتخاب شود.

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

فرآیند هش (Hash) و کریپتوکارنسی‌ها

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

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

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

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

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

ملاحظات خاص

در فرایند حل هش (Hash) ماینر تعیین می‌کند که از کدام رشته به عنوان تک‌بار استفاده کند و این مرحله خود آزمون و خطای بسیاری می‌طلبد. این مساله به این دلیل است که تک‌بار فوق یک رشته تصادفی است.

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

نمونه‌ای از هش (Hash)

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

چنین تابعی ورودی هش‌شده را به شکل موثر تولید می‌کند. همچنین تعیین ورودی را دشوار می‌کند (و به استخراج می‌انجامد) و تغییرات کوچکی در ورودی ایجاد می‌کند که منجر به یک هش غیرقابل تشخیص و کاملاً متفاوت شود.

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

سوالات متداول

تابع هش چیست؟

توابع هش (Hash) توابع ریاضیاتی هستند که مجموعه‌ای معین از داده‌ها را به یک رشته بیت با اندازه ثابت تبدیل یا «ترسیم» می‌کنند و نتیجه حاصل را «مقدار هش» می‌نامند.

مقدار هش چگونه محاسبه می‌شود؟

یک تابع هش (Hash) از الگوریتم‌های پیچیده ریاضیاتی استفاده می‌کند که داده‌هایی با طول متفاوت را به داده‌هایی با طول ثابت (مثلاً 256 کاراکتر) تبدیل می‌کند. چنانچه یک بیت را در هر جایی از داده‌های اصلی تغییر دهید، کل مقدار هش تغییر می‌کند، از اینرو محاسبه فوق برای تأیید صحت فایل‌های دیجیتال و سایر داده‌ها مفید است.

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

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

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

 

اترکس؛ صرافی ارزهای دیجیتال

می خواهید بهترین صرافی برای خرید و فروش ارزهای گوناگون با خدمات خودکار و درگاه بانکی را بشناسید؟ اترکس بهترین گزینه است!

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

همین حالا به اترکس ملحق شوید و تجربه کار با صرافی مدرن و راحت را تجربه کنید.

بیشتر بخوانید:

اصطلاحات تخصصی ارز دیجیتال، واژه‌نامه عمومی

منظور از درخت مرکل (Merkle Tree) چیست؟

مطالب مشابه

نظرات

ارﺳﺎل ﻧﻈﺮ ﺟﺪﯾﺪ

نام و نام خانوادگی
ایمیل شما
متن پیام
با اپلیکیشن اِتراِکس، در لحظه خرید و فروش کنید!
دانلود اپلیکیشن اتراکس
android
cafebazaar
google-play
myket
myket
apple
sibche
sibapp
pwa
pwa