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

الگوریتم SHA -256

معرفی الگوریتم SHA -256 و کاربرد آن

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

نمای کلی الگوریتم SHA-256

SHA-256 یا Secure Hash Algorithm 256 ، یک الگوریتم هش است که برای تبدیل متن از هر طولی به یک رشته با اندازه ثابت 256 بیت یا 32 بایت استفاده می شود. این الگوریتم، در سال 2001 توسط آژانس امنیت ملی دولت ایالات متحده (NSA) ساخته شد. این الگوریتم معمولاً در گواهینامه های SSL برای وب سایت ها و در استاندارد امضای پیام DKIM برای سرویس گیرندگان ایمیل استفاده می شود.

الگوریتم SHA-256 برای اولین بار با راه اندازی بیت کوین در سال 2009 به فناوری بلاکچین معرفی شد. از آن زمان، توسط تعدادی از پروژه های مختلف بلاکچین، از جمله چندین سکه ایجاد شده از چنگال های کد منبع اصلی بیت کوین، به تصویب رسیده است. در بین سه پروژه برتر بلاکچین SHA-256 مطابق با سرمایه بازار، بیت کوین (BTC)، بیت کوین کش (BCH) و بیت کوین ساتوشی ویژن (BSV) ، بیش از 45 میلیارد دلار ارز دیجیتال را تا کنون تامین کرده است.

الگوریتم SHA -256

اهمیت SHA-256

اکنون می خواهیم بررسی کنیم که چه چیزی باعث اهمیت این الگوریتم می شود و چرا در شبکه بیت کوین پیاده سازی شده است. الگوریتم SHA-256 مانند سایر توابع هش، هر ورودی را می گیرد و یک خروجی که اغلب هش نامیده می شود، با طول ثابت تولید می کند.

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

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

همچنین این الگوریتم از آن جهت مهم است که بخشی جدایی ناپذیر از استخراج در شبکه بیت کوین و همچنین بسیاری از شبکه های بلاکچین Proof of Work کوچکتر است. با توجه به اینکه بیت کوین، اولین بلاک چین در جهان بود و در حال حاضر بزرگترین ارز مجازی با کل سرمایه بازار است، نقش آن از اهمیت ویژه ای برخوردار است.

فعال کردن اثبات استخراج کار

لازم است بدانید که SHA-256 اولین الگوریتم هش بود که برای تأیید معاملات در یک شبکه بلاکچین از طریق سازوکار اجماع اثبات کار استفاده شد. بیت کوین در واقع اولین سیستم اثبات کار نبود. HashCash ، یک الگوریتم اثبات کار است  که در سال 1997 اختراع شده و به عنوان گسترده ترین اجرا، در نظر گرفته می شود. Satoshi Nakamoto از HashCash به عنوان نفوذ شبکه بیت کوین در مقاله سفید نام برد.

در اصطلاحات اولیه، الگوریتم SHA-256 از شبکه Proof of Work پشتیبانی می کند که در آن رایانه ها برای حل یک مسئله پیچیده ریاضی رقابت می کنند. بعد از اینکه یک رایانه راه حلی را پیدا کرد، آن راه حل را برای بقیه رایانه های موجود در شبکه همتا به همتا پخش می کند.

این کار آنها را برای سایر ماشین هایی که سعی در حل مشکل مشابه داشته اند، ثابت می کند. زیرا هر کامپیوتر موجود در شبکه به طور مستقل راه حل را تأیید می کند. اگر راه حل دقیق پیدا شود، به شرکت کننده ای که آن را پیدا کرده است، پاداش داده می شود. سپس، یک مساله جدید ارائه شده و رقابت دوباره آغاز می شود.

الگوریتم SHA -256

منشا و توسعه SHA-256

الگوریتم SHA-256 تنها الگوریتم در خانواده Secure Hashing Algorithm (SHA) نیست. این در واقع فقط یک تغییر در یک کلاس از الگوریتم های هش ایمن است که توسط موسسه ملی استاندارد و فناوری (NIST) به عنوان استاندارد پردازش اطلاعات فدرال ایالات متحده (FIPS) منتشر شده است. حال روند تکامل این الگوریتم را بررسی کنیم.

SHA-0 یک عملکرد هش 160 بیتی است که برای اولین بار در سال 1993 با نام SHA منتشر شد. امروزه از آن بعنوان SHA-0 یاد می شود و بعدها تکرارهای بیشتری توسعه یافت. SHA-0 اندکی پس از انتشار به دلیل نقص قابل توجهی اعلام نشده، پس گرفته شد.

SHA-1 که به عنوان جایگزینی برای SHA-0 توسعه یافته است، یک عملکرد هش 160 بیتی است که برای اولین بار در سال 1995 منتشر شد. شباهت زیادی به عملکرد هش MD5 دارد که برای اولین بار در سال 1992 انتشار یافت. SHA-1 توسط آژانس امنیت ملی طراحی شده است و بخشی از الگوریتم Digital Signature است.

از سال 2005 ، SHA-1 دیگر برای استفاده از رمزنگاری، توصیه نمی شود. SHA-1 زمانی به طور گسترده ای برای گواهینامه های SSL مورد استفاده قرار می گرفت، اما به دلیل ضعف های امنیتی دیگر مورد استفاده قرار نگرفت. پس از آن SHA-2 از دو عملکرد هش با اندازه بلوک های مختلف تشکیل شد.

الگوریتم SHA-256 اولین بار در سال 2001 منتشر شد و خروجی 32 بایت تولید می کند. همچنین SHA-512 که در سال 2004 انتشار یافت، خروجی 64 بایت را تولید نماید که الگوریتم های SHA-224 ، SHA-384 ، SHA-512/224 و SHA-512/256 نسخه های کوتاه شده این دو استاندارد هستند.

درست مانند SHA-1، همه توابع هش SHA-2 توسط NSA ساخته شده اند. کل خانواده SHA-2 تحت حق ثبت اختراع ایالات متحده است. این حق ثبت اختراع، بدون حق امتیاز صادر شده و این امکان را برای افرادی مانند ساتوشی ناکاموتو فراهم می کند تا از آن استفاده کنند.

معرفی SHA-256 توسط بیت کوین

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

بنابراین، چرا شبکه بیت کوین از آن استفاده می کند؟ این الگوریتم بسیار قوی است و همانند مرحله افزایشی از MD5 به SHA1 نیست. اگر SHA-256 کاملاً شکسته شود، می توان در مورد آنچه که زنجیره بلوک قبل از شروع مشکل در مورد آن به توافق رسیده بود را قفل کرده و از آنجا با یک زنجیره جدید ادامه دهید.

پروژه های برجسته با استفاده از SHA-256

سه پروژه مطرح و برجسته ای که از این الگوریتم استفاده می کنند، شامل بیت کوین، بیت کوین کش و بیت کوین ویژن است که نحوه راه اندازی این شبکه ها و تأثیر SHA-256 در حفظ امنیت شبکه را بررسی خواهیم کرد.

الگوریتم SHA -256

بیت کوین (BTC)

یت کوین (BTC) از زمان راه اندازی، از الگوریتم SHA-256 استفاده کرده است. این امر منجر به ظهور سکوهای استخراج جدید و قدرتمند در طول این مدت شده است. به این دکل های جدید، ماینرهای Application-Specific Integrated Circuit (ASIC) گفته می شود. در مورد اینکه آیا شبکه باید تدابیری برای افزایش مقاومت ASIC اتخاذ کند، اختلافات عمده ای در جامعه بیت کوین وجود داشته است.

طرفداران می گویند مقاومت ASIC به جلوگیری از افزایش انحصار مزارع معدن و تمرکز احتمالی عرضه BTC کمک می کند. همچنین در مورد ایده تغییر کاربری هش متفاوت یا انتقال به مکانیزم اجماع بلاکچین دیگر، بحث هایی میان توسعه دهندگان وجود داشته است. با وجود این نگرانی ها، هیچ تغییر عمده ای در مورد استفاده شبکه از الگوریتم SHA-256 ایجاد نشده است. احتمالاً به این دلیل است که اکثریت مردم امنیت شبکه را بر مقاومت ASIC اولویت می دهند.

بیت کوین کش  (BCH)

بیت کوین کش پس از یک مشاجره بحث برانگیز شبکه بیت کوین، ایجاد شد و محدودیت اندازه بلوک 8 مگابایتی را اجرا کرد و بعداً این میزان را چهار برابر کرده و به 24 مگابایت تبدیل نمود. این پروژه در حال حاضر از SHA-256 استفاده می کند. برخی از مردم تصور می کنند که ادامه استفاده از این الگوریتم، تصمیمی آگاهانه است که به استخراج کنندگان اجازه می دهد تا به راحتی دکل های خود را بین استخراج BTC و استخراج BCH تغییر دهند، بسته به اینکه کدام یک در هر زمان سودآور باشد.

بیت کوین ویژن (BSV)

Bitcoin SV به عنوان یک هارد فورک بحث انگیز شبکه Bitcoin Cash راه اندازی شد. طرفداران بیت کوین SV با پیشنهاد به روز رسانی فنی شبکه بیت کوین کش مخالف بودند و تصمیم گرفتند شبکه BSV را با محدودیت اندازه بلوک 128 مگابایت ایجاد کنند.

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

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

محدودیت های SHA-256

وقتی شبکه بیت کوین راه اندازی شد، SHA-256 امن ترین الگوریتم هش موجود بود. از آن زمان، محدودیت های آن آشکار شد.

الگوریتم SHA -256

تسلط ASIC :

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

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

هر نسل جدید سکوهای استخراج، قادر به تولید قدرت هش بیشتر از نسل قبلی بودند. این شبکه با ظهور GPU، FPGA و ASIC ها تحت تأثیر قرار گرفت. این امر باعث شد گزینه هایی مانند CPU و GPU برای استخراج ارزهای رمزپایه با گذشت زمان، کمتر قابل استفاده باشند.

ASIC ها به وضوح امروز بر شبکه تسلط دارند و به طور مداوم از قدرت بیشتری برخوردار می شوند. این مسئله هنگام بررسی نمودار نرخ هش شبکه بیت کوین کاملاً مشهود است.

سودآوری فعلی :

امروزه استخراج سودآور ارزهای رمزپایه الگوریتم SHA-256 به یک دکل استخراج قدرتمند ASIC نیاز دارد. هر چند همه ASIC ها قادر به تولید نتایج یکسان نیستند. به عنوان مثال، S19 Pro هش ریت بالاترب تولید می کند، در نتیجه در همان بازه زمانی سود بیشتری به دست می آورد.

با این حال، کارگران استخراج باید این فاکتور را داشته باشند که قیمت S19 Pro تقریباً 3 برابر واحد دیگری مانند T15 است. با فرض اینکه ماشین های آینده حتی از S19 نیز قدرتمندتر باشند، به راحتی می توان فهمید که چگونه استخراج ASIC ، فوق العاده رقابتی است و به سرمایه گذاری کلانی نیاز دارد. این شکل از استخراج ارزهای رمزپایه، به نفع افراد یا شرکت هایی با بودجه مناسب در مقایسه با استخراج کنندگان معمولی است.

سوالات متداول

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

SHA-256 یک عملکرد هش رمزنگاری با طول 256 بیت و بدون کلید است. یک پیام توسط بلوک های512 بیتی پردازش می شود و هر یک از آنها با کلمات 32 بیتی کار می کنند.

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

SHA-256 در محبوب ترین پروتکل های احراز هویت و رمزگذاری از جمله SSL ، TLS ، IPsec ، SSH و PGP استفاده می شود. در یونیکس و لینوکس، SHA-256 برای هش کردن رمز عبور امن استفاده می شود. ارزهای رمزنگاری شده مانند بیت کوین از SHA-256 برای تأیید معاملات استفاده می کنند.

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

نشانی ایمیل شما منتشر نخواهد شد.

*

code