هش ریت (HashRate) چیست؟ ارتباط هش ریت با سختی شبکه
فناوری اطلاعات در دنیایی که امروزه در آن زندگی میکنیم از اهمیت بالایی برخوردار است. روزانه اطلاعات فراوانی از نقاط مختلف دنیا تولید شده و با کمک شبکه اینترنت در دسترس عموم مردم قرار میگیرند که از جنبههای مختلفی قابل دسته بندی هستند. یکی از دستهبندیهایی که میتوانیم از اطلاعات موجود داشته باشیم، دسته بندی از لحاظ امنیت آن است. بسیاری از اطلاعات وجود دارند که از نظر محرمانگی باید از درجه بالایی از امنیت برخوردار باشند. این اطلاعات همانند رمز عبور به حسابهای کاربری و یا رمز عبور ایمیلهای شخصی باید طی مراحلی خاص ذخیره شوند تا افراد دیگری به غیر از شخصی که مالک این رمز است نتواند به حساب شخصی دسترسی داشته باشد.
با ورود بلاکچین به دنیای فناوری اطلاعات تحولی بزرگ در این تکنولوژی صورت گرفت چرا که این بار تمامی اطلاعات حتی آنها که مانند رمز عبور از درجه محرمانگی بالایی برخوردار هستند نیز در فضایی غیر متمرکز ذخیره میشوند. با در نظر گرفتن اینکه در سیستمهای دفتر کل توزیع شده تمامی اطلاعات بطور گسترده و توزیع شده پخش میشود اهمیت ذخیره سازی اطلاعات بگونهای رمزگونه که دسترسی به آنها بسیار سخت و پیچیده باشد از اهمیت ویژهای برخوردار است. به همین دلیل دستگاههایی که قادر به تولید و ساخت بلاکها هستند، نیازمند به قدرت پردازشی بالا و صرف انرژی زیادی میباشند.
این موضوع مخصوصا برای شبکههایی که از مکانیزم اجماع اثبات کار (PoW) استفاده میکنند بیشتر مورد توجه قرار دارد. این دستگاهها که به آنها ماینر میگویند در نهایت معادلات پیچیده ریاضی را برای تولید بلاک جدید حل می کنند. در این مقاله قصد داریم به زبانی ساده به توضیح یکی از مفاهیم مربوط به دنیای بلاکچین بنام هش ریت و ارتباط آن با ماینینگ و سختی شبکه بپردازیم.
نرخ هش یا هش ریت چیست؟
تراکنشها و اطلاعات در بلاکچینها توسط کامپیوترهایی که به آنها ماینر میگوییم در بلاکهایی که بصورت زنجیر به هم متصل هستند ذخیره میشوند. ماینرها برای تولید هر بلاک جدید پاداش دریافت میکنند، این ماینرها در واقع باید محاسبات پیچیده ریاضی را انجام داده و در هر ثانیه حدسهای فراوانی را بزنند تا جواب درستی برای حل کردن بلاک پیدا نمایند. به سرعت عملکردی که این ماینرها برای یافتن جواب درست دارند، هش ریت میگوییم.
تابع هش چیست؟
برای افزایش امنیت در انتقال اطلاعات و برای اطمینان از اینکه پیام ارسال شده تنها بتواند برای دریافت کنندهای خاص قابل فهم باشد از توابع هش استفاده میکنیم. این توابع، ورودیهای مختلفی که ممکن است در حجمهای مختلف باشند را به خروجی با طولهای ثابت مرکب از حروف و اعداد تبدیل میکنند، به این فرآیند هشینگ میگوییم.
هشینگ و توابع هش در فناوری بلاکچین از اهمیت بالایی برخوردار است. با استفاده از تابع هش شما میتوانید عبارات و یا کلمات و یا موضوعاتی با حجمهای بزرگتر را به صورت عباراتی مثل 2de89a4f تبدیل کنید که به این عبارت هش میگویند. عملیات استخراج یا ماینینگ در بلاکچین بیت کوین با استفاده از توابع هشینگ SHA-256 انجام میشود. با توجه به اینکه هشینگ فرآیندی یکطرفه است بنابراین از هشینگ برای حفظ امنیت و یکپارچگی بلاکچین استفاده میشود.
نانس (Nonce) چیست؟
مسابقهای را در نظر بگیرید که در این مسابقه شرکت کنندگان به جای انسان تعداد زیادی کامپیوتر هستند. این کامپیوترها با قدرت پردازشی گوناگونی در این مسابقه شرکت نمودهاند. ممکن است این سوال برای شما مطرح شود که در این مسابقهای که در آن کامپیوترهای مختلف از سراسر دنیا شرکت دارند چه چیزی باید پیدا شود؟ اگر جواب شما این است که این کامپیوتر ها برای پیدا کردن جواب معادله پیچیده ریاضی و یا در نهایت یافتن و یا حدس زدن عددی با هم رقابت میکنند، باید گفت که درست حدس زدهاید. به این عدد نانس (Nonce) گفته میشود.
کامپیوترهایی که بتوانند سریعتر این عدد را پیدا کنند موفق به گرفتن پاداش تولید بلاک جدید خواهند شد. لازم به ذکر است تنها بلاکچینهایی که از مکانیزم اجماع گواه اثبات کار (PoW) استفاده کرده و به ماینینگ نیاز دارند از نانس استفاده میکنند و در سایر بلاکچینها نانس کاربردی ندارد.
Hashrate و پاداش ماینرها
همانطور که میدانیم بلاکچین از تعدادی بلاک که بصورت زنجیر به هم متصل شدهاند تشکیل شده است. هر بلاک در شبکه بیت کوین از دو قسمت اصلی تشکیل شده است؛ یک قسمت که بدنه بلاک است و قسمت دیگر به عنوان سربرگ (Block Header) شناخته میشود. در بدنه بلاک یک سری تراکنش وجود دارد و در هدر بلاک اطلاعاتی بصورت خلاصه شده از آن بلاک قرار گرفته است.
یکی از اطلاعاتی که در هدر بلاک قرار دارد نانس میباشد. یک ماینر مدام نانسهای مختلفی را امتحان میکند و هر بار با تغییر نانس، هش هدر بلاک نیز تغییر میکند. حال اگر هش هدر بلاک از هدفی که شبکه تعیین کرده کوچکتر شود ماینر میتواند بلاک جدیدی را استخراج کرده و پاداش دریافت کند. با توجه به اینکه تغییر نانس که توسط ماینر انجام میشود کاملا تصادفی است بنابراین هر چه یک ماینر بتواند دفعات بیشتری این نانس را تغییر دهد احتمال اینکه بتواند به هش مورد نظر که شبکه برای استخراج بلاک تعریف کرده است برسد بیشتر است.
در واقع میتوان گفت هر چه تعداد دفعاتی که ماینر برای رسیدن به هش مورد نظر در یک ثانیه تلاش میکند (هش ریت) بیشتر باشد این ماینر احتمال بیشتری برای گرفتن پاداش خواهد داشت. بنابراین میتوان گفت هر چه میزان هش ریت یا قدرت هش یک ماینر بیشتر باشد احتمال ساخت بلاک جدید توسط آن و در نتیجه دریافت پاداش استخراج توسط آن ماینر بالاتر خواهد رفت.
هش ریت را چگونه اندازه گیری میکنند؟
با توجه به مطالب گفته شده هر چه میزان هش ریت یک ماینر بیشتر باشد احتمال بدست آوردن پاداش استخراج بلاک جدید توسط آن بیشتر است. حال این سوال مطرح میشود که هش ریت چگونه اندازه گیری میشود؟ هر چه تعداد هشهایی که یک ماینر در ثانیه برای حدس نانس بلاک میتواند بررسی و ایجاد کند بیشتر باشد، احتمال دریافت پاداش توسط آن ماینر بیشتر است. بنابراین هش در ثانیه h/s به عنوان واحد اندازه گیری هش ریت بکار برده میشود. لازم به ذکر است که ماینرهای مختلف دارای قدرت هش یا هش ریتهای مختلفی هستند که در بکار بردن و استفاده از آنها در فرآیند استخراج باید به آن توجه نمود.
هش ریت و سختی شبکه
شبکه بیت کوین به گونهای طراحی شده است که در آن ماینرها بر سر حدس زدن هش بلاک با هم رقابت کنند. به این صورت که هر ماینری که بتواند زودتر هش بلاک را حدس بزند، موفق به استخراج بلاک جدید و دریافت پاداش استخراج خواهد شد. ماینرهای مختلف با قدرت هش یا هش ریت بالاتر، سعی بر این دارند تا از رقبای خود پیشی بگیرند.
پروتکل شبکه بیت کوین به گونهای طراحی شده است که هر ده دقیقه یک بلاک تولید شود؛ بر اساس این پروتکل برای اینکه این زمان ده دقیقه برای تولید بلاک جدید ثابت بماند با افزایش تعداد ماینرها در شبکه، سختی شبکه هم بالاتر خواهد رفت. هر چه سختی شبکه بالاتر رود به معنای این است که برای ساخت بلاک جدید به هش ریت بالاتری نیاز است. بنابراین با افزایش و یا کاهش ماینرها، شبکه بیت کوین بطور اتوماتیک سختی شبکه را تنظیم میکند.
جمعبندی
در این مقاله به توضیح و تشریح موضوع مهمی به نام هش ریت و اهمیت آن در فرآیند استخراج پرداختیم و در آخر نیز ارتباط آن با مفهوم سختی شبکه را بررسی کردیم. در شبکههای بلاکچینی با توجه به اینکه از سیستمهای دفتر کل توزیع شده استفاده میکنند برای حفظ امنیت و بالاتر بردن سرعت پردازش اطلاعات از توابع هش برای ذخیره و پردازش اطلاعات استفاده میکنند. در شبکه بیت کوین اطلاعات توسط ماینرها تایید و ثبت شده و در بلاکهایی که به هم متصل هستند قرار میگیرند. ماینرها برای استخراج بلاک جدید و دریافت پاداش باید بتوانند هش بلاک را حدس بزنند. ماینرهایی که قدرت هش بالاتری دارند احتمال اینکه زودتر از ماینرهای دیگر به جواب برسند و بلاک جدید را استخراج کرده و پاداش ماینینگ را دریافت کنند بیشتر است. از طرفی دیگر با افزایش ماینرها، شبکه بیت کوین بطور خودکار سختی شبکه را بالاتر خواهد برد. امروزه با توجه به استقبال زیادی که برای استخراج در شبکه بیت کوین شده است برای ماین و استخراج بیت کوین نیاز به دستگاههای ویژه استخراج بیت کوین به نام ASIC است که در واقع کامپیوترهایی هستند که تنها برای استخراج بیت کوین طراحی شدهاند.