پیشبینی بازارها · تحلیل بنیادین
هش چیست؟
هش چیست؟ توابع هش و استخراج ارزهای دیجیتال
هش چیست؟
هش یک تابع ریاضی است که یک ورودی با طول دلخواه را به یک خروجی رمزگذاری شده با طول ثابت تبدیل میکند. بنابراین، صرف نظر از مقدار اولیه داده یا اندازه فایل، هش منحصر به فرد آن همیشه یک اندازه خواهد داشت. علاوه بر این، هشهای امن را نمیتوان "مهندسی معکوس" کرد تا ورودی را از خروجی هش شده به دست آورد، حداقل با فناوریهای فعلی.اگر از یک تابع خاص روی دادههای مشابه استفاده کنید، هش آن یکسان خواهد بود، بنابراین میتوانید تأیید کنید که دادهها یکسان هستند (یعنی دستنخورده) اگر از قبل هش آن را بدانید. یک تابع متفاوت، هش متفاوتی را ارائه میدهد.
هشینگ برای امنیت ارزهای دیجیتال و بلاکچین ضروری است.
نکات کلیدی
- هش تابعی است که نیازهای رمزگذاری شده لازم برای ایمنسازی اطلاعات را برآورده میکند.
- هشها یکی از ستونهای اصلی شبکه بلاکچین هستند.
- هش بر اساس اطلاعات ارسال شده از طریق تابع ایجاد میشود.
- در بلاکچینهای ارز دیجیتال، هشها اعداد شانزدهشانزدهی قطعی هستند.
نحوه کار هشها
توابع هش معمولی ورودیهایی با طول متغیر را برای بازگرداندن خروجیهایی با طول ثابت دریافت میکنند. یک تابع هش رمزنگاری، قابلیتهای انتقال پیام توابع هش را با ویژگیهای امنیتی ترکیب میکند. توابع هش الگوریتمهایی هستند که تعیین میکنند چگونه اطلاعات رمزگذاری میشوند.به عنوان مثال، الگوریتم هش1 امن 256 (SHA-256) فرآیندی را طی میکند تا ورودی دریافتی خود را به این صورت رمزگذاری کند:
- تبدیل آن به باینری
- ایجاد مقادیر هش
- مقداردهی اولیه ثابتها
- تکه تکه کردن دادهها به بیتها
- ایجاد یک برنامه پیام
- اجرای یک حلقه فشردهسازی
- اصلاح مقادیر نهایی
با استفاده از SHA-256، کلمه "Hello" خروجیای را تولید میکند که همان تعداد کاراکتر (64) را با "Hello world" و "Hello John" دارد. با این حال، هش برای هر سه به طور قابل توجهی متفاوت خواهد بود—به خاطر داشته باشید که حروف بزرگ نیز هش را تغییر میدهند:
- Hello: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
- Hello world: 64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c
- Hello John: a8119595d77342cc73c93697a7f70920d3f4ded5d458e31907607e997ff76868
تابعی که برای تولید هش استفاده میشود، قطعی است، به این معنی که هر بار که از همان ورودی استفاده شود، همان نتیجه را تولید میکند. در حالی که SHA 256 میتواند یک خروجی هش شده را در میلیثانیه با قدرت محاسباتی بسیار کم تولید کند، تعیین ورودی را دشوار میکند.همه ارزهای دیجیتال از SHA 256 استفاده نمیکنند. Keccak256، Equihash، Scrypt، Ethash و Blake3 نیز نمونههایی از توابع هش مورد استفاده هستند.این امر هشینگ را برای ایمنسازی ارزهای دیجیتال ایدهآل میکند، زیرا با فناوری مدرن، هزاران سال طول میکشد تا رمزگذاری معکوس شود و ورودی اصلی تعیین شود.توابع هش ساختارهای دادهای رایج در سیستمهای محاسباتی برای وظایفی مانند بررسی یکپارچگی پیامها و احراز هویت اطلاعات هستند. توابع هش رمزنگاری ویژگیهای امنیتی را اضافه میکنند و تشخیص محتوای یک پیام یا اطلاعات را دشوارتر میکنند.
به طور خاص، توابع هش رمزنگاری این سه ویژگی را نشان میدهند:
- آنها بدون برخورد هستند: 2 این بدان معناست که هیچ دو هش ورودی متفاوت نباید به یک هش خروجی یکسان نگاشت شوند.
- آنها میتوانند پنهان شوند: حدس زدن مقدار ورودی برای یک تابع هش از خروجی آن دشوار است.
- آنها باید دوستدار پازل باشند: انتخاب ورودی که خروجی از پیش تعیین شده را ارائه میدهد باید دشوار باشد. بنابراین، ورودی باید از توزیعی انتخاب شود که تا حد امکان گسترده باشد.
به دلیل ویژگیهای هش، آنها به طور گسترده در امنیت آنلاین استفاده میشوند—از محافظت از گذرواژهها گرفته تا تشخیص نقض دادهها و بررسی یکپارچگی یک فایل دانلود شده.
هشینگ و بلاکچینها
ستون فقرات یک ارز دیجیتال، بلاکچین است که یک دفتر کل توزیع شده جهانی است که از طریق هشینگ با پیوند دادن بلوکهای منفرد (فایلها) دادهها و اطلاعات تراکنش تشکیل میشود.بلاکچینها فقط حاوی تراکنشهایی هستند که تأیید شدهاند. تأیید با مقایسه هشها تکمیل میشود که از تراکنشهای جعلی و دوبار خرج کردن جلوگیری میکند.
هشینگ بیتکوین
ارزهای دیجیتال از هشها به روشهای مختلف استفاده میکنند. به عنوان مثال، ماینرها با استفاده از دادههای یک بلوک به عنوان ورودی و تولید یک هش، مسئله هش بیتکوین را حل میکنند.هدف، تولید هشی است که برابر یا کمتر از هش هدف شبکه باشد. برنامه استخراج اعداد متغیر را تنظیم میکند تا زمانی که هشی کمتر یا مساوی هش هدف تولید کند.پس از حل مسئله، هر گره هدر بلوک را با هش کردن آن دو بار و مقایسه نتیجه آن با هش بلوک جدید مقایسه میکند.
هدف اصلی هش چیست؟
هشها اهداف زیادی دارند. در یک بلاکچین، آنها به عنوان راهی برای مقایسه دادهها و ایمن کردن آن عمل میکنند. برای یک هدف سازمانی، میتوان از آن برای فشردهسازی دادهها برای اهداف ذخیرهسازی استفاده کرد.
سادهترین تابع هش چیست؟
روش مربع میانی یکی از سادهترینهاست. شما یک عدد را مربع میکنید و از دو رقم میانی به عنوان هش استفاده میکنید. به عنوان مثال، مربع کردن عدد 61 نتیجه 3721 را به شما میدهد. هش 72 خواهد بود، دو عدد میانی.
هش در رمزنگاری چیست؟
هش یک تابع ریاضی است که یک ورودی متغیر را به یک عدد شانزدهشانزدهی قطعی تبدیل میکند.
نکته پایانی
در یک بلاکچین ارز دیجیتال، هش یک عدد شانزدهشانزدهی قطعی است. این بدان معناست که مهم نیست ورودی چند کاراکتر داشته باشد، هش همیشه همان تعداد کاراکتر خواهد داشت. به عنوان مثال، هشهای بیتکوین همیشه 64 رقم هستند.هشها برای ایمنسازی اطلاعات استفاده میشوند—در مورد ارزهای دیجیتال، از آنها برای اطمینان از دستنخورده بودن دادههای موجود در بلوکهای یک بلاکچین استفاده میشود. اطلاعات رمزگذاری شده توسط تابع هش، زمانی که شرکتکنندگان شبکه سعی میکنند هشی کمتر از هدف شبکه تولید کنند، تأیید میشود. پس از رسیدن به هش هدف، شبکه بلوک را میبندد—پس از بسته شدن بلوک، اجماع حاصل میشود، زیرا شبکه پس از یافتن راه حل هش، به تأیید تراکنشها و اطلاعات بلوک ادامه میدهد.