هش چیست و چه خصوصیاتی دارد؟
هش چیست و چه خصوصیاتی دارد؟
همانگونه که در گذشته گفتیم در هر شبکه بلاکچین اطلاعات و داده های بسیار زیادی وجود دارد، به همین جهت برای بالا بردن امنیت این اطلاعات از تابعی بنام تابع هش استفاده می کنیم. تابع هش یک تابع ریاضی بوده و شامل یک الگوریتم از فرمول ها و توابع پیچیده ریاضی می باشد. خروجی این تابع رمزنگاری که به آن “هش” گفته می شود و بصورت رشته ای از حروف یزرگ و کوچک انگلیسی و اعداد می باشد و این کارکترها بصورت رندم و تصادفی انتخاب میشوند که باعث می شود مانند اثر انگشت کاملا منحصر بفرد باشد و هیچ هش مشابهی در شبکه وجود نداشته باشد. با توجه به ویژگی منحصر بفرد بودن هش، اگر کوچکترین تغییری در داده های اولیه ایجاد شود، هش جدیدی ایجاد می شود که باعث می شود سایرین متوجه تغییر در داده اولیه شوند و در نتیجه با این خصوصیت است که امنیت داده ها در آن بلاک موردنظر بالا می رود.
یکی دیگر از ویژگی های تابع هش این است که هیچ تفاوتی ندارد که شما چه داده ای را به این تابه می دهید و این تابه کار هشینگ را به یک صورت انجام می دهد و بسته به نوع تابع هش 25، 30 یا 35 کارکتر به شما تحویل خواهد داد. برای تابع هش تفاوتی ندارد که شما یک داده ساده و کوتاه مانند HELLO را تابع هش بدهید یا داده ای طولانی و پیچییده مانند یک کتاب 200 یا 300 صفحه ای، در هر صورت خروجی تابع هش همان 30 کراکتر خواهد بود.
سومین ویژگی تابع هش سرعت پردازش بسیار بالای این فرایند است، بدین صورت که چه شما یک کلمه را به تابع هش بدهید و یا یک کتاب را بدهید، سرعت پردازش به یک صورت خواهد بود و همچنین باتوجه به یشرفت روزانه تکنولوژی کامپیوترهای کوانتمی، جهت حفظ امنیت شبکه لازم است که این توابع هش هم همواره پیچیده تر شوند و از الگوریتم سخت تری استفاده کنند. در حال حاضر معروفترین توابع هشی که وجود دارند عبارتند از: MD5 ، SHA1 ، SHA2 و در سال 2014 هم SHA3 بوجود آمده است. جالب است بدانید شبکه بلاکچین بیت کوین از SHA2 یا SHA256 (Secure Hash Algorithm) استفاده می کند. این تابع از یک تابه 80 مرحله ای تشکیل شده است و الگوریتمی بسیار پیچیده می باشد.
چهارمین خصوصیت توابع هش یک طرفه بودن آن است یعنی این تابع تنها داده ها را به یک رشته از اعداد و حروف تبدیل می کند و انجام عکس این عمل کار بسیار دشوار و پیچیده ای می باشد. در مقالات آینده آکادمی در مورد اینکه ماینرها چه کاری انجام می دهند هم صحبت خواهیم کرد. در واقع تابع هش را می توان به یک چرخ گوشت، داده های اطلاعاتی را به گوشت و هش را گوشت چرخ شده تشبیه کرد. همانطوری که تبدیل گوشت چرخ شده به گوشت کامل کاری بسیار دشوار است، تبدیل هش به داده اولیه هم همان سختی خواهد بود.
در این مقاله سعی کردیم بسیار ساده هش و توابع هش را توضیح دهیم. بدلیل پیچیدگی این موضوع تمام نکات مربوط به هش را در مقاله نیاوردیم و حتما در مقاله های بعدی در ارتباط با سایر مقولات صحبت خواهیم کرد.