هش
مرداد 4, 1403
هش (Hash) در بلاکچین چه مفهومی دارد؟
بلاکچین، به عنوان یک تکنولوژی اساسی در حوزههای مختلفی از جمله ارزهای رمزنگاری شده و سیستمهای رایانش ابری، به سرعت به محبوبیت رسیده است. یکی از عناصر اساسی در بلاکچین، استفاده از تابع هش میباشد که نقش مهمی در ایجاد امنیت و حفظ اصالت دادهها و تراکنشها ایفا میکند. هش یک تابع رمزنگاری است که دادههای ورودی را به صورت یک مقدار یکتا به طول ثابت تبدیل میکند که به عنوان “اثر انگشت” داده معروف است. این تابع یکطرفه است، به این معنا که نمیتوان از مقدار هش به داده اصلی پی برد، اما از داده اصلی به هش میتوان رسید. همچنین، هشها بسیار حساس به تغییرات هستند؛ حتی اگر تغییر کوچکی در داده ورودی انجام شود، هش تولید شده به کلی متفاوت خواهد بود . این ویژگی از اهمیت زیادی برخوردار است زیرا به صورت موثری از تقلب و تغییر در دادهها جلوگیری میکند. در ادامه به بررسی مفهوم هش، اهمیت و کاربردهای آن در بلاکچین میپردازیم و همچنین ارتباط میان هشینگ و امضای دیجیتال را بررسی خواهیم کرد.
برخی از ویژگیهای اصلی هش که موجب میشوند این مفهوم در بلاک چین اهمیت پیدا کند عبارتند از:
- اصولاً ناممکن است از مقدار هش به داده ورودی اصلی پی ببریم (تابع یکطرفه).
- هر داده ورودی منحصر به فرد یک مقدار هش دارد.
- حجم خروجی هش ثابت است، بنابراین مستقل از حجم داده ورودی.
هش در بلاکچین چه کاربردهایی دارد؟
1 . تایید اصالت دادهها :
در شبکههای بلاکچین، هر بلوک اطلاعات مخصوص به خود را به همراه مقدار هش اطلاعات قبلی (هش بلوک قبلی) دارد. هش بلوک قبلی همچنین به عنوان شناسه بلوک قبلی استفاده میشود. اگر هرگونه تغییری در دادههای بلاکها اعمال شود، مقادیر هشها تغییر میکنند و همین امر باعث میشود که بقیه بلوکها به راحتی بتوانند این تغییر را شناسایی کنند و هرگونه تلاش برای تغییر تاریخچه بلاکچین به هیچ وجه امکانپذیر نباشد.
2 . ایجاد امنیت در تراکنشها :
در بلاکچین، تراکنشها باید توسط امضاء دیجیتال معتبر شوند تا به شبکه اضافه شوند. این امضاء دیجیتال از هشها استفاده میکند. به طور کلی، فرآیند امضاء دیجیتال به این صورت است که ابتدا مقدار هش تراکنش به عنوان یک بخش از فرآیند امضاء ایجاد میشود. سپس این هش با استفاده از کلید خصوصی فرد امضاکننده رمزنگاری میشود و امضاء دیجیتال حاصل شده به تراکنش اضافه میشود. سپس این اطلاعات امضاء شده به همراه هش تراکنش ارسال میشوند. در سمت مقابل، با استفاده از کلید عمومی فرد امضاکننده، امضاء دیجیتال رمزگشایی میشود و مقدار هش تراکنش مجدداً محاسبه میشود. اگر هشهای محاسبهشده مطابقت داشته باشند، این نشاندهنده این است که تراکنش تغییر نکرده است و امضاء معتبر اس.
پرکاربردترین توابع هش در بلاک چین کدامند؟
در بلاکچین، برخی از توابع هش پرکاربرد به شرح زیر میباشند:
1 . الگوریتم SHA-2:
الگوریتم SHA-2 پس از معرفی در سال ۲۰۰۱ دستخوش تغییراتی چشمگیر شده و ۴ نسخه مختلف از آن عرضه شده است. این ۴ نسخه عبارتند از SHA-256 و SHA-224 و SHA-512 و SHA-384. گفتنی است الگوریتم SHA-256 یکی از پذیرفته شدهترین الگوریتمهای رمزنگاری است
2 . SHA-256 :
یکی از رایجترین توابع هش که در بیتکوین و بسیاری از ارزهای رمزنگاری شده دیگر استفاده میشود. طول خروجی آن 256 بیت میباشد.
3 . SHA-3 :
استاندارد جدیدتری از خانواده SHA که در برخی بلاکچینها استفاده میشود. این تابع هش نیز بر اساس اصول تابع هش یکطرفه عمل میکند.
چه ارتباطی بین هشینگ و امضای دیجیتال وجود دارد؟
امضاء دیجیتال و هشینگ دو مفهوم اساسی در امنیت بلاکچین هستند و به صورت همزمان در فرآیند انجام تراکنشها نقش مهمی ایفا میکنند. امضاء دیجیتال برای تایید هویت و امضاء تراکنشها به کار میرود و هشینگ برای تضمین صحت دادهها و تراکنشها استفاده میشود.
فرآیند امضای دیجیتال به این صورت است:
1 . ابتدا، تابع هش بر روی دادههای تراکنش اجرا میشود و یک اثر انگشت یکتا (هش) ایجاد میشود.
2 . سپس این اثر انگشت با استفاده از کلید خصوصی (private key) امضا میشود و امضاء دیجیتال حاصل شده ارسال میشود.
3 . در مقابل، با استفاده از کلید عمومی (public key) متناظر با کلید خصوصی، امضاء دیجیتال رمزگشایی میشود و اثر انگشت اصلی (هش) مجدداً محاسبه میشود.
4 . اگر اثر انگشت اصلی (هش) با اثر انگشت محاسبهشده (هش) همخوانی داشته باشد، این نشاندهنده این است که تراکنش از سمت فرد معتبری امضا شده است و دادهها اصلی تغییر نکردهاند.
به این ترتیب، امضای دیجیتال اطلاعات را امن میکند و اطمینان میدهد که تراکنشها از طرف فرد معتبری امضا شدهاند و دادهها تغییر نکردهاند. این اصول به عنوان اساس امنیت در بلاکچین و سیستمهای رمزنگاری شده مورد استفاده قرار میگیرند.
در انتها مجددا باید گفت که هشینگ یکی از مفاهیم اساسی در بلاکچین است که برای ایجاد امنیت و اصالت دادهها و تراکنشها استفاده میشود. با استفاده از توابع هش پرکاربرد، امکان تایید صحت اطلاعات به سادگی و با کارایی بالا فراهم میشود. هشینگ همچنین با امضای دیجیتال تراکنشها همراه است که به اطمینان از هویت و امضاء صحیح تراکنشها کمک میکند و از امنیت شبکه بلاکچین حفاظت میکند. با استفاده از این ترکیب، بلاکچین به عنوان یک سیستم ، اطمینان ایجاد میکند که اطلاعات و تراکنشها در آن امن و بدون تغییر باقی میمانند.