بلاک چین

هش (Hash) در بلاک چین چیست؟

تابع هش و هشینگ در بلاکچین و ارز دیجیتال چیست و چه کاربردی دارند؟

هش (Hash) در بلاک چین چیست؟ بلاک چین یکی از دفاتر کل گسترش یافته ای است که در دنیای امروز دائما رشد می‌ کند. تمام تراکنش هایی که شما انجام می دهید، به صورت تغییر ناپذیر و ایمنی با زمان مشخص شده، در دفاتر کل به صورت همیشگی ثبت خواهد شد. بلاک چین جهت ایجاد امنیت برای داده‌ ها، از تابع هش استفاده می کند که این تابع در واقع نیازهای رمزگذاری شده مورد نیاز برای حل مسائل بلاک چین را برآورده خواهد کرد.

اگر وقت خوندن مقاله ندارید، پیشنهاد میکنم پادکست این مقاله رو گوش دهید:

اصطلاح “Hash” از ریشه کلمه فرانسوی ‘Hasher’ به وجود آمده است که به معنای خرد کردن چیزی به قطعات کوچک تر است. در واقع این اصطلاح به شما نشان می‌دهد که تابع هش چگونه داده ها را خرد کرده و آن ها را به جزییات ریز تبدیل می کند.

از گذشته تا به امروز فشرده سازی داده ها و ذخیره سازی آن ها به عنوان یک چالش بحث بر انگیز محسوب شده است. تابع هش داده ها را به صورت فشرده در می آورد تا با این کار میزان حافظه مورد نیاز برای ذخیره کردن فایل های بزرگ کاهش یابد.

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

این در حالی بود که دلیل اصلی تابع هش، در واقع نیاز به فشرده سازی محتوا بود. تولید شناسه های منحصر به فرد از دیگر مزیت هایی است که باعث شده تابع هش تا این میزان بین مردم محبوب شود.

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

هشینگ (Hashing) چیست؟

به فرآیند ورودی داده های مختلف با سایزهای متغیر و خروج آن ها با اندازه و سایز ثابت هشینگ گفته می شود. این کار را با استفاده از فرمول های ریاضی خاصی که به تابع و الگوریتم های هش معروف هستند، انجام می دهند.

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

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

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

هش (Hash) در بلاک چین چیست؟

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

خواندن این مقاله
دابل اسپندینگ (Double Spending) یا دوبار خرج کردن چیست؟ + شیوه های مقابله با دابل اسپندینگ

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

تابع هش چگونه کار می کند؟

توابع هش در انواع مختلف، خروجی هایی را تولید می کنند که اندازه های متفاوتی دارند؛ اما اندازه های هر خروجی برای هر یک از الگوریتم ها کاملا یکسان و ثابت است. به عنوان مثال الگوریتم SHA-256 فقط می تواند یک خروجی آن هم به اندازه 256 بیتی را تولید کند و الگوریتم SHA-1 هم فقط می تواند خروجی 160 بیتی را تولید کند.

برای این که بیشتر با این موضوع آشنا شوید کلمات  Ircc” و “ircc” را به واسطه الگوریتم هش با شناسه SHA-256 که الگوی معروف بیت کوین است را در ادامه برای شما اجرا خواهیم کرد.

Ircc: 65592d00da56347062e6dc84e8ff978ba021267b288bbe3c7f2cb5c04d797bd4

ircc: 478734e921cc9b571d7ab5fc226dcb2ce59fcab83fb73258ab8082382d86c6ee

اگر به این دو عبارت دقت کنید متوجه می شوید که چگونه با تغییر یک حروف به صورت بزرگ و کوچک، چه تاثیری بر مقدار هش می گذارد و ورودی آن را کامل تغییر می دهد. اما چون ما در این جا برای هر دو کلمه از الگوریتم SHA-256  بیتی استفاده کردیم، خروجی ها به اندازه ثابت 256 بیتی یا در واقع  همان 64  کاراکتری که مبتنی بر هگزادسیمال است که بدون تاثیر از اندازه ورودی اجرا شده است. همچنین اهمیتی ندارد که شما چند بار دو کلمه را از طریق الگوریتم اجرا کنید، نتیجه دو خروجی همیشه ثابت خواهد ماند.

حالا اگر ورودی های مشابه را از طریق الگوریتم های هش SHA-1 اجرا کنیم، نتیجه کاملا متفاوت خواهد بود که به صورت زیر است:

Ircc: a6f9af856be33de008c9f5ffb942e2c4e2d644f7

ircc: 3ec8e2b221402e786dfa6f0884a0e7f7be11c32a

در این جا SHA مخفف عبارتی از الگوریتم های هش ایمن Secure Hash Algorithms است که به مجموعه ای از توابع هش رمز نگاری اشاره دارد که الگوریتم های SHA-2، SAH-1، SHA-0 و SHA-3 را شامل می شود. SHA-256 و SHA-512 و سایر الگوریتم ها بخشی از گروه SHA-2 هستند. در حال حاضر تنها گروه های الگوریتمی SHA-2 و SHA-3 جز ایمن ترین الگوها در نظر گرفته می شوند.

چرا هش ها مهم هستند؟

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

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

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

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

خواندن این مقاله
وایت پیپر چیست؟ همراه با مثال + پادکست

انواع الگوریتم هش در بلاک چین

انواع مختلفی از الگوریتم های هش در بلاک چین وجود دارد مانند الگوریتم های xxhash، Tiger، RipeMD و سایر موارد. اما یکی از رایج ترین نوع تابع هش SHA-2، MD5 و CRC32 است.

تابع هش MD5 در بلاک چین

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

تابع هش MD5 در بلاک چین | صرافی ارز دیجیتال کوین لند

تابع هش SHA-2 در بلاک چین

همان طور که قبلا به آن اشاره کردیم این تابع مخفف Secure Hash Algorithms  است که به مجموعه ای از توابع هش رمزنگاری شده اشاره دارد که شامل الگوریتم های SHA-2، SHA-1، SHA-0 و SHA-3 می شود. این تابع توسط آژانس امنیت ملی آمریکا است و بهبود یافته تابع SHA-1 است و تونسته باگ های مدل قبلی را برطرف کند. خانواده SHA-2 شش عضو دارد که 224، 256،384 یا 512 بیتی هستند.

تابع هش ُSHA-2 در بلاک چین | صرافی ارز دیجیتال کوین لند

تابع هش CRC32 در بلاک چین

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

تابع هش CRC32 در بلاک چین | صرافی ارز دیجیتال کوین لند

ویژگی های تابع هش بلاک چین

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

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

چرا از هش استفاده می شود؟

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

هش چگونه کار می کند؟

توابع هش در انواع مختلف، خروجی هایی را تولید می کنند که اندازه های متفاوتی دارند اما اندازه های هر خروجی برای هر یک از الگوریتم ها کاملا یکسان و ثابت است.

هش در بلاک چین چیست؟

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

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

هش در بلاک چین و ارز دیجیتال برای جستجو پایگاه داده ها، تجزیه و تحلیل پرونده های بزرگ و همچنین مدیریت کردن داده ها استفاده می شود.

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

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

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

بررسی مانده، پیوند دادن ورودی و خروجی، تراکنش ها و هش تراکنش های درون یک شبکه بلاک برای تشکیل دادن یک درخت مرکل.

اگر تا اینجا مقاله رو خوندی و جوابت سوالت در مقاله نبود، لطفا سوالاتت رو برامون کامنت کن تا اولین فرصت جواب بدیم.

امتیاز دهی به این مطلب

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا