هش یک تابع ریاضی است که ورودیای با طول دلخواه را به خروجی رمزگذاریشدهای با طول ثابت تبدیل میکند. بنابراین، صرفنظر از حجم داده یا اندازه فایل اولیه، هش منحصربهفرد آن همیشه اندازه یکسانی خواهد داشت. علاوه بر این، هشهای امن نمیتوانند با فناوری کنونی به ورودی اصلی «معکوسسازی» شوند. اگر از تابع خاصی روی دادههای یکسان استفاده کنید، هش آن یکسان خواهد بود، بنابراین میتوانید با دانستن هش آن، تأیید کنید که دادهها یکسان هستند (یعنی بدون تغییر). استفاده از تابع متفاوتی، هش متفاوتی تولید خواهد کرد. هش کردن برای امنیت ارزهای دیجیتال و بلاکچین ضروری است.
نکات کلیدی
- هش تابعی است که نیازهای رمزگذاریشده لازم برای ایمنسازی اطلاعات را برآورده میکند.
- هشها یکی از ستونهای اصلی شبکه بلاکچین هستند.
- هش بر اساس اطلاعاتی که از طریق تابع ارسال میشود، ایجاد میگردد.
- در بلاکچینهای ارز دیجیتال، هشها اعداد هگزادسیمال قطعی هستند.
هشها چگونه کار میکنند
توابع هش معمولی ورودیهایی با طولهای متغیر را میگیرند و خروجیهایی با طول ثابت تولید میکنند. یک تابع هش رمزنگاریشده، قابلیتهای انتقال پیام توابع هش را با ویژگیهای امنیتی ترکیب میکند. توابع هش الگوریتمهایی هستند که نحوه رمزگذاری اطلاعات را تعیین میکنند. به عنوان مثال، الگوریتم هش امن ۲۵۶ (SHA-256) برای رمزگذاری ورودی دریافتی خود از طریق فرآیند زیر عمل میکند:
- تبدیل آن به باینری
- ایجاد مقادیر هش
- مقداردهی اولیه ثابتها
- تقسیمبندی دادهها به بیتها
- ایجاد یک برنامه پیام
- اجرای حلقه فشردهسازی
- اصلاح مقادیر نهایی با استفاده از SHA-256، کلمه "Hello" خروجیای تولید میکند که تعداد کاراکترهای آن (۶۴) برابر با "Hello world" و "Hello John" است. با این حال، هش برای هر سه به طور قابلتوجهی متفاوت خواهد بود—توجه داشته باشید که حروف بزرگ نیز هش را تغییر میدهند:
- Hello: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
- Hello world: 64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c
- Hello John: a8119595d77342cc73c93697a7f70920d3f4ded5d458e31907607e997ff76868 تابعی که برای تولید هش استفاده میشود، قطعی است، به این معنی که هر بار که ورودی یکسانی استفاده شود، نتیجه یکسانی تولید خواهد کرد. در حالی که SHA-256 میتواند خروجی هششده را در میلیثانیه با قدرت محاسباتی بسیار کم تولید کند، تعیین ورودی را دشوار میسازد. واقعیت سریع همه ارزهای دیجیتال از SHA-256 استفاده نمیکنند. Keccak256، Equihash، Scrypt، Ethash و Blake3 نیز نمونههایی از توابع هش مورد استفاده هستند. این امر باعث میشود هش کردن برای ایمنسازی ارز دیجیتال ایدهآل باشد، زیرا با فناوری مدرن، معکوس کردن رمزگذاری برای تعیین ورودی اصلی هزاران سال طول میکشد. توابع هش ساختارهای دادهای هستند که به طور معمول در سیستمهای محاسباتی برای وظایفی مانند بررسی یکپارچگی پیامها و احراز هویت اطلاعات استفاده میشوند. توابع هش رمزنگاریشده ویژگیهای امنیتی را اضافه میکنند و تشخیص محتوای یک پیام یا اطلاعات را دشوارتر میکنند. به طور خاص، توابع هش رمزنگاریشده سه ویژگی زیر را نشان میدهند:
- بدون برخورد: این بدان معناست که هیچ دو هش ورودی متفاوت نباید به یک هش خروجی یکسان نگاشت شوند.
- مخفی بودن: حدس زدن مقدار ورودی برای یک تابع هش از خروجی آن دشوار است.
- دوستدار پازل: انتخاب ورودیای که خروجی از پیش تعریفشدهای ارائه دهد باید دشوار باشد. بنابراین، ورودی باید از توزیعی انتخاب شود که تا حد امکان گسترده باشد. نکته به دلیل ویژگیهای یک هش، آنها به طور گسترده در امنیت آنلاین استفاده میشوند—از محافظت از رمزهای عبور گرفته تا تشخیص نقض دادهها و بررسی یکپارچگی فایلهای دانلودشده.
هش و بلاکچین ستون فقرات یک ارز دیجیتال، بلاکچین است که یک دفتر کل توزیعشده جهانی است که از طریق پیوند دادن بلوکهای (فایلهای) جداگانه دادههای تراکنش و اطلاعات از طریق هش کردن تشکیل میشود. بلاکچینها تنها شامل تراکنشهایی هستند که تأیید شدهاند. تأیید با مقایسه هشها انجام میشود که از تراکنشهای جعلی و هزینههای دوگانه جلوگیری میکند.
هش بیتکوین ارزهای دیجیتال از هشها به روشهای مختلفی استفاده میکنند. به عنوان مثال، ماینرها مشکل هش بیتکوین را با استفاده از دادههای موجود در یک بلوک به عنوان ورودی و تولید یک هش حل میکنند. هدف تولید هشی است که برابر یا کمتر از هش هدف شبکه باشد. برنامه ماینینگ اعداد متغیر را تنظیم میکند تا هشی کمتر یا برابر با هش هدف تولید کند. هنگامی که مشکل حل شد، هر گره سربرگ بلوک را با هش کردن آن دو بار و مقایسه نتیجه آن با هش بلوک جدید بررسی میکند.
هدف اصلی هش چیست؟
هشها اهداف متعددی دارند. در یک بلاکچین، آنها به عنوان راهی برای مقایسه دادهها و ایمنسازی آن عمل میکنند. برای اهداف سازمانی، میتوان از آن برای فشردهسازی دادهها برای مقاصد ذخیرهسازی استفاده کرد.
سادهترین تابع هش چیست؟
روش میانی-مربع یکی از سادهترین روشهاست. شما یک عدد را به توان دو میرسانید و از دو رقم میانی به عنوان هش استفاده میکنید. به عنوان مثال، توان دو عدد ۶۱ نتیجه ۳۷۲۱ را میدهد. هش ۷۲ خواهد بود، دو عدد میانی.
هش در رمزنگاری چیست؟
هش یک تابع ریاضی است که یک ورودی متغیر را به یک عدد هگزادسیمال قطعی تبدیل میکند.
نتیجهگیری
در یک بلاکچین ارز دیجیتال، هش یک عدد هگزادسیمال قطعی است. این بدان معناست که صرفنظر از تعداد کاراکترهای ورودی، هش همیشه تعداد کاراکترهای یکسانی خواهد داشت. به عنوان مثال، هشهای بیتکوین همیشه ۶۴ رقمی هستند. هشها برای ایمنسازی اطلاعات استفاده میشوند—در مورد ارز دیجیتال، آنها برای اطمینان از عدم تغییر دادههای موجود در بلوکهای بلاکچین استفاده میشوند. اطلاعات رمزگذاریشده توسط تابع هش توسط شرکتکنندگان شبکه هنگام تلاش برای تولید هشی کمتر از هدف شبکه تأیید میشود. هنگامی که هش هدف به دست آمد، شبکه بلوک را میبندد—توافق پس از بسته شدن بلوک حاصل میشود زیرا شبکه به تأیید تراکنشها و اطلاعات بلوک پس از یافتن راهحل هش ادامه میدهد.














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