هش و هشینگ چیست؟

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

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

 
عملیات هش (hash function) یا هشینگ (hashing) به فرآیندی گفته می شود که در آن یک دیتا در هر انداره ای به مقداری (value) با اندازه مشخص تبدیل می شود. به مقادیری که توسط این تابع تولید می شوند مقدار هش (hash value) یا به اختصار «هش» گفته می شود. یک تابع هشینگ خوب باید حداقل این دو ویژگی را داشته باشد:

باید قابلیت محاسبه پذیری سریع را داشته باشد.

باید دیتای وارد شده را به مقداری کوچکتر تبدیل کند.

مکانیزم هشینگ در واقع برای دسترسی به اطلاعت در عین توجه به امنیت اطلاعات به وجود آمده اند. (1)

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


 
 اول اینکه در فرآیند هشینگ مقدار خروجی به دست آمده (هش)  اندازه ثابتی خواهد داشت. البته باید اضافه کرد که در توابع مختلف هشینگ این اندازه ثابت متفاوت خواهد بود. مثلاً ممکن است نام تابع هشینگ SHA-256 به گوشتان خورده باشد. این تابع هشینگ محافظت از اطلاعات سیستم بلاک چین شبکه بیت کوین را انجام می دهد.

عدد 256 به معنی این است که هر دیتایی با هر اندازه ای وارد این تابع شود به یک هش 256 بیتی که معمولاً از 64 کاراکتر (متشکل از عدد و حروف) تشکیل شده است تبدیل می شود. توجه داشته باشید که تفاوتی ندارد دیتای ورودی یک کلمه باشد یا یک کتاب. در هر صورت هش خروجی 64 کاراکتر خواهد بود.

این در حالی است که در رمزنگاری(Encryption) طول دیتاهای متفاوتی که در یک سیستم یکسان، رمزگذاری می شوند همیشه برابر نخواهد بود. برای هشینگ توابع متفاوتی وجود دارد مانند: MD5، SHA-2، CRC32 و ... هرکدام از این توابع خروجی های با ویژگی ها معین تولید می کنند.

اما تمایز مهمی که بین هشینگ و رمزنگاری قابل ذکر است تفاوت در مکانیزم تبدیل دیتای ورودی به مقدار خروجی است. رمزنگاری یک فرآیند دو طرفه است به این معنی که هر دیتای رمزگذاری شده ای بار دیگر به دیتای اصلی یا خام (Plain Text) تبدیل خواهد شد. این در حالی است که در سیستم هشینگ مسیر تبدیل دیتا به هش یک طرفه است و مقدار خروجی قابلیت بازگشت به دیتای خام مورد نظر را ندارد.

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

بنابراین موارد استفاده از هشینگ در ذخیره اطلاعاتی نظیر نام کاربری و گذرواژه اکانت در سایت های مختلف است. به این صورت که هر مقداری که به عنوان نام کاربری و گذرواژه داده شود به «هش» تبدیل می شود و با مقدار ذخیره شده از قبل تطبیق داده می شود. اگر مطابقت داشت اجازه ورود صادر می گردد.

در حالی که رمزنگاری عموماً در پیام رسان ها استفاده می شود. در سیستم هشینگ به هر ورودی یک مقدار خروجی تعلق می گیرد که تنها با وارد کردن دقیقاً همان مقدار، خروجی تولید شده دوباره تولید می شود. به عنوان مثال اگر عبارات «tailor» و «Tailor» به یک سیستم هشینگ داده شوند دو خروجی متفاوت ایجاد خواهد شد؛ چرا  که حرف اول کلمات یکسان نوشته نشده اند.
 

هش ریت چیست؟

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


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

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

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

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

درباره هش ریت باید این نکته را در نظر داشت که، این واحد اندازه گیری برای همه شبکه های ارز های دیجیتال به کار می رود و تنها مختص به بیت کوین نیست. از آنجا که بیت کوین در حال حاضر  باارزش ترین ارز دیجیتال محسوب می شود اکثر مثال های این حوزه با این ارز ارائه می شوند. (3)

در حال حاضر ارزهای دیجیتال دیگری نظیر Maker، Bitcoin Cash، Ethereum، Monero، Dash، Zcash و بسیاری دیگر وجود دارند که آنها نیز مبادله می شوند و لی ارزششان از بیت کوین کمتر است. (4)
 

 
واحد اندازه گیری هش ریت، هش بر ثانیه است. دستگاه هایی وجود دارند که قدرت هشینگشان با واحد تریلیون هش بر ثانیه اندازه گیری می شود. کامپیوترها بر اساس سخت افزارشان می توانند هش ریت های متفاوتی داشته باشند که در زیر بازه های مختلف آن نشان داده شده.
 
  • 1 KH/S برابر با انجام هزار عملیات محاسبه هش در ثانیه است.
 
  • 1 MH/S برابر با انجام یک میلیون عملیات محاسبه هش در ثانیه است.
 
  • 1 GH/S برابر با انجام یک میلیارد عملیات محاسبه هش در ثانیه است.
 
  • 1 TH/S برابر با انجام یک تریلیون عملیات محاسبه هش در ثانیه است.
 
  • 1 PH/S برابر با انجام یک کوآدریلیون عملیات محاسبه هش در ثانیه است.

زمانی که در سال 2009 بیت کوین به عنوان یک ارز دیجیتال معرفی شد و تراکم شبکه کم بود ماینرها می توانستند با کامپیوترهای خانگی شان عملیات هشینگ را انجام دهند و بیت کوین کسب کنند. در آن زمان امکان اندازه گیری نرخ هش ریت با واحدهایی نظیر هزار وجود داشت. اما در حال حاضر واحد اندازه گیری هش ریت معمولاً تریلیون هش ریت بر ثانیه است و حتی به واحدهای بالاتر مانند کوآدریلیون و کوینتیلیون نیز می رسد.

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

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

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

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

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

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

پی نوشتها
  1. www.en.wikipedia.org
  2. www.thesslstore.com
  3. www.buybitcoinworldwide.com
  4. www.statista.com
  5. www.bitcoinmarketjournal.com