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

آشنایی با مفهوم Hash در بلاک چین

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

نکات کلیدی در مورد هش

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

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

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

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

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

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

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

پروسه هش کردن یا هشینگ

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

اهمیت هش

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

بیشتر بخوانید: ارز دیجیتال چیست؟

هشینگ چیست

سه ویژگی که یک تابع هش باید داشته باشد عبارتند از :

  • عدم تصادم
    هر ورودی خاص خروجی مختص به خودش را دارد. در صورتی که ورودی های مختلف خروجی هش یکسانی تولید کنند تصادم رخ می دهد. در برخی از الگوریتم های مختلف SHA، گروه هایی نظیر SHA-0 و SHA-1 به دلیل اینکه در آنها تصادم رخ داده و خروجی یکسان در داده های آنها مشاهده شده دیگر امنیت ندارند. اما هم اکنون گروه های SHA-2 و SHA-3 جزو گروه های مقاوم در برابر تصادم به شمار می روند.
  •  مقاوم در برابر حمله preimage
    این ویژگی به توابع یک طرفه مربوط می شود زیرا در این توابع امکان دستیابی به ورودی از طریق کد رمزنگاری شده وجود ندارد. این ویژگی برای عملکرد تابع هش و امنیت آن بسیار حائز اهمیت است.
    در نظر داشته باشید ویژگی یک طرفه بودن با عدم تصادم متفاوت است. در این حالت هکر تلاش می کند با مشاهده خروجی، ورودی را حدس بزند. اما تصادم زمانی رخ می دهد که کسی دو ورودی متفاوت با یک خروجی یکسان پیدا کند. ولی مهم نیست که از کدام ورودی ها استفاده شده است.
    توابع هش برای محافظت از داده ها لازم است این ویژگی را دارا باشند.
  •  عدم پیش بینی خروجی یکسان
    در صورت داشتن ورودی و خروجی مشخص، امکان پیدا کردن ورودی متفاوت دوم که همان خروجی را تولید کند وجود ندارد.
عدم تصادم در هش

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

بیشتر بخوانید: آشنایی با  اصطلاحات و زبان تخصصی ارزهای دیجیتال

کاربرد توابع هش در استخراج

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

هشینگ در استخراج

هش ریت یا نرخ هش (Hash Rate) چیست؟

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

بیشتر بخوانید: استخراج یا ماینینگ چیست؟

واحد اندازه گیری هش ریت چیست؟

هش ریت با واحدی به نام هش بر ثانیه اندازه گیری می شود. امکان تقسیم بندی هش ریت به واحد های بزرگتر و یا کوچکتر نیز وجود دارد.
• 1 KH/S یا هزار هش بر ثانیه: معادل یک کیلو هش بر ثانیه
• 1 MH/S یا یک میلیون هش بر ثانیه: معادل یک مگاهش بر ثانیه
• GH/S 1 یا یک میلیارد هش بر ثانیه: معادل یک گیگاهش بر ثانیه
• TH/S 1 یا یک تریلیون هش بر ثانیه: معادل یک تراهش بر ثانیه
• PH/S 1 یا یک کوادریلیون هش بر ثانیه: معادل یک پتاهش بر ثانیه
• EH/S 1 یا یک کوئینتیلیون هش بر ثانیه: معادل یک اگزاهش بر ثانیه
بر این اساس می توان نوشت:
• یک مگاهش بر ثانیه معادل 1000 کیلوهش بر ثانیه است.
• یک گیگاهش معادل 1000 مگاهش بر ثانیه و یا 1000000 کیلوهش بر ثانیه است.
• و...

هش ریت

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