الگوریتم هش رمزنگاری SHA-256

ساخت وبلاگ

SHA-256 Cryptographic Hash Algorithm

SHA-256 یا الگوریتم هش امن 256 ، یک الگوریتم هشویی است که برای تبدیل متن به هر طول به یک رشته با اندازه ثابت 256 بیت (32 بایت) استفاده می شود.

در ابتدا در سال 2001 منتشر شد ، SHA-256 توسط آژانس امنیت ملی دولت ایالات متحده (NSA) تهیه شده است. SHA-256 برای چه چیزی استفاده می شود؟این الگوریتم معمولاً در گواهینامه های SSL برای وب سایت ها و در استاندارد امضاء پیام DKIM برای مشتریان ایمیل استفاده می شود.

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

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

چرا SHA-256 مهم است؟

SHA-256 چگونه کار می کند؟الگوریتم SHA-256 ، مانند سایر توابع هش ، هر ورودی را می گیرد و خروجی (که اغلب هش نامیده می شود) با طول ثابت تولید می کند. فرقی نمی کند ورودی یک کلمه واحد ، یک جمله کامل ، یک صفحه از یک کتاب یا یک کتاب کامل باشد ، خروجی یک الگوریتم هشدار دهنده مانند SHA256 همیشه به همان طول خواهد بود. به طور خاص ، این 256 بیت خواهد بود ، که 32 بایت است ، که به عنوان 64 کاراکتر الفبایی نمایش داده می شود. همه خروجی ها کاملاً تصادفی به نظر می رسند و هیچ اطلاعاتی در مورد ورودی ایجاد شده ارائه نمی دهند.

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

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

Bitcoin mining

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

فعال کردن اثبات کار ماینینگ

SHA-256 اولین الگوریتم هش بود که برای تأیید تراکنش ها در شبکه بلاک چین از طریق مکانیزم اجماع اثبات کار استفاده شد. توجه به این نکته مهم است که بیت کوین در واقع اولین سیستم اثبات کار نبود. HashCash، یک الگوریتم اثبات کار که در سال 1997 اختراع شد، به طور گسترده به عنوان اولین پیاده سازی در نظر گرفته می شود. ساتوشی ناکاموتو از HashCash به عنوان تأثیری بر شبکه بیت کوین در کاغذ سفید یاد کرد: «برای پیاده سازی یک سرور تمبر زمانی توزیع شده به صورت همتا به همتا، باید از یک سیستم اثبات کار مشابه Hashcash آدام بک استفاده کنیم.”

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

چه کسی SHA-256 را اختراع کرد؟

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

توسعه SHA-0 و SHA-1

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

SHA-1 به عنوان جایگزینی برای SHA-0 ، یک تابع هش 160 بیتی است که برای اولین بار در سال 1995 منتشر شده است. از نزدیک شبیه به عملکرد MD5 Hash است ، که برای اولین بار در سال 1992 منتشر شد. SHA-1 توسط آژانس امنیت ملی طراحی شده است (NSA) بخشی از الگوریتم امضای دیجیتال است. از سال 2005 ، SHA-1 دیگر برای استفاده رمزنگاری در برابر مخالفان با بودجه خوب توصیه نمی شود. SHA-1 یک بار برای گواهینامه های SSL مورد استفاده قرار می گرفت ، اما این به دلیل ضعف امنیتی دیگر این مورد نیست. به عنوان مثال ، مایکروسافت در پایان سال 2016 پذیرش گواهینامه های SHA-1 را متوقف کرد. واقعاً هیچ بحثی در مورد استفاده از Sha1 vs Sha256 وجود ندارد. دومی به وضوح الگوریتم امن تر است.

توسعه SHA-2

SHA-2 از دو عملکرد هش با اندازه بلوک های مختلف تشکیل شده است. SHA-256 برای اولین بار در سال 2001 منتشر شد و خروجی 32 بایت تولید می کند. SHA-512 برای اولین بار در سال 2004 منتشر شد و خروجی 64 بایت تولید می کند. SHA-224 ، SHA-384 ، SHA-512/224 و SHA-512/256 نسخه های کوتاه این دو استاندارد هستند. درست مانند SHA-1 ، تمام عملکردهای HASH SHA-2 توسط NSA توسعه یافته است. کل خانواده SHA-2 تحت ثبت اختراع ایالات متحده 6829355 ثبت شده است. در حالی که ما می دانیم چه کسی SHA-256 را اختراع کرده است ، ما نمی دانیم چه کسی بیت کوین را اختراع کرده است. حق ثبت اختراع SHA-2 تحت مجوز بدون حق امتیاز منتشر شد و آن را در دسترس افرادی مانند Satoshi Nakamoto قرار داد.

امنیت شبکه SHA-256 بیت کوین (BTC)

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

بنابراین ، چرا شبکه بیت کوین از SHA-256 استفاده می کند؟Satoshi Nakamoto در یک نظر در ژوئن 2010 به این سؤال پاسخ داد:

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

خانواده SHA-3 ، که قبلاً با نام Keccak شناخته می شد ، شامل چهار عملکرد هش رمزنگاری شده است: SHA3-224 ، SHA3-256 ، SHA3-384 و SHA3-512 و دو عملکرد با خروجی قابل گسترش (XOF) به نام Shake128 و Shake256. توابع خروجی قابل گسترش با توابع هش متفاوت است ، اما استفاده از آنها به روش های مشابه امکان پذیر است. طراحی SHA-3 از یک رقابت عمومی در سراسر جهان با 64 ارسال الگوریتم هشدار انتخاب شد و اولین بار در سال 2015 منتشر شد.

SHA-1 security

SHA-0 و SHA-1 دیگر روشهای ایمن رمزگذاری یا احراز هویت نیستند.

الگوریتم SHA-256 در blockchain

همانطور که خواهید دید ، اهمیت الگوریتم SHA-256 در blockchain قابل درک نیست. بیت کوین (BTC) ، Bitcoin Cash (BCH) و Bitcoin SV (BSV) سه پروژه مشهور هستند که از SHA-256 برای رمزگذاری داده ها در شبکه های مربوطه خود استفاده می کنند. در این بخش ، ما به چگونگی شروع هر یک از این شبکه ها و اثربخشی SHA-256 در حفظ امنیت شبکه خواهیم پرداخت.

بیت کوین (BTC)

بیت کوین (BTC) از زمان راه اندازی آن در سال 2009 از الگوریتم Hashing Sha-256 استفاده کرده است. این منجر به ظهور سکوهای معدن جدید و به طور فزاینده قدرتمند با گذشت زمان شده است. به این سکوهای جدید معدنچیان یکپارچه Circuit Circuit (ASIC) خاص گفته می شوند. اختلاف نظرهای اساسی در جامعه بیت کوین در مورد اینکه آیا شبکه باید اقدامات لازم برای افزایش مقاومت ASIC را انجام دهد ، وجود داشته است. طرفداران می گویند که مقاومت ASIC به جلوگیری از ظهور انحصار مزرعه معدن و تمرکز احتمالی عرضه BTC کمک می کند. همچنین در مورد توسعه دهندگان در مورد ایده تغییر به یک عملکرد هش متفاوت یا انتقال به مکانیسم اجماع blockchain دیگر (به عنوان مثال اثبات سهام) بحث و گفتگو شده است.

با وجود این نگرانی ها ، هیچ تغییر اساسی در مورد استفاده شبکه از الگوریتم SHA-256 ایجاد نشده است. این امر به احتمال زیاد به این دلیل است که اکثر مردم امنیت شبکه را بر مقاومت ASIC در اولویت قرار می دهند. 51 ٪ حملات هرگز در شبکه بیت کوین مسئله ای نبوده است. از زمان نوشتن ، هزینه برق به تنهایی برای حمله یک ساعته نزدیک به 350،000 دلار هزینه خواهد داشت. این رقم شامل مبلغ پولی نیست که برای خرید همه سخت افزار برای انجام چنین حمله ای لازم است. در واقعیت ، هزینه حمله ساعتی بسیار ، بسیار بیشتر خواهد بود.

برخی از پروژه های بلاک چین از هارد فورک ها برای ایجاد سکه های خود استفاده کرده اند که سعی در بهبود طراحی بیت کوین SHA-256 دارند. به عنوان مثال، الماس بیت کوین (BCD)، در نوامبر 2017 زمانی که دو ماینر برجسته تصمیم به ترک شبکه بیت کوین گرفتند، راه اندازی شد. توسعه دهندگان بیت کوین دیاموند به دلیل مقاومت ASIC بهبود یافته، ترجیح دادند از SHA-256 به الگوریتم هش X13 سوئیچ کنند.

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

بیت کوین کش (BCH) پس از هارد فورک شبکه بیت کوین در جولای 2017 ایجاد شد. برخی از اعضای جامعه بیت کوین از جمله راجر ور معتقد بودند که BIP 91 باید حد اندازه بلوک شبکه را افزایش می داد و با اجرای SegWit مخالف بود..

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

اگرچه بیت کوین کش یک شبکه قوی است، اما با چند چالش امنیتی مواجه شده است. در ماه مه 2019، یک مهاجم از باگی سوء استفاده کرد که باعث تقسیم شبکه شد و ماینرها را وادار کرد تا بلوک های خالی را برای مدت کوتاهی استخراج کنند. دو استخر استخراج بیت کوین کش (BCH) - BTC.com و BTC. top - برای منافع مشترک شبکه با هم کار کردند. آنها به جای استفاده از یک حمله 51 درصدی برای ابزارهای شرور، از این تکنیک برای معکوس کردن تراکنش های مهاجم استفاده کردند.

در اکتبر 2019، گزارشی منتشر شد که حاکی از آن بود که شبکه BCH در معرض خطر حمله احتمالی 51 درصدی قرار دارد زیرا یک ماینر ناشناس 50 درصد از هش ریت را به مدت 24 ساعت کنترل کرد. در ژانویه 2020، BTC. top 50. 2 درصد از هش ریت شبکه را کنترل کرد و یک بار دیگر آسیب پذیری های شبکه را نشان داد.

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

بیت کوین SV (BSV)

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

در زمان چنگال سخت ، BSV و BCH "جنگ هش" را آغاز کردند که حدود 10 روز به طول انجامید. هدف از طرفداران BSV انجام حمله 51 ٪ بود که از معدن BCH دلسرد شد و یک تغییر اساسی به معدن BSV را مجبور کرد. این طرح در نهایت شکست خورد ، و جنگ هش با تقسیم دائمی شبکه به دو blockchain مجزا پایان یافت. این وضعیت به دلیل این واقعیت که هر دو پروژه SHA-256 را پیاده سازی می کنند امکان پذیر شد. همانطور که یک تجزیه و تحلیل بیت کوین در مقابل بیت کوین SV نشان می دهد ، معدنچیان هیچ یک از طرف های جنگ هش قادر به دستیابی به سودآوری نبودند. هر دو زنجیره اکنون به طور مستقل اجرا می شوند و هنوز هم ادعا می کنند که چشم انداز اصلی را برای شبکه Satoshi Nakamoto انجام می دهند.

در شبکه SV بیت کوین ، نگرانی هایی در مورد حمله بالقوه 51 ٪ در سال 2019 وجود داشت زیرا یک استخر معدن اکثریت هاشرات را کنترل می کرد. از زمان نوشتن ، هزینه فعلی برق یک ساعت یک ساعته حدود 7،100 دلار است که قابل مقایسه با سایر شبکه هایی است که از ارزهای رمزنگاری شده با کلاه های بازار مشابه پشتیبانی می کنند. در واقعیت ، انجام حمله به BSV به دلیل هزینه های سخت افزاری بسیار پرهزینه تر خواهد بود. این رقم فقط هزینه برق را تشکیل می دهد.

SHA-256 51% attack security

علاوه بر شبکه بیت کوین ، 51 ٪ حملات برای تلاش در برابر سایر blockchains که از SHA-256 استفاده می کنند ، نسبتاً کاربردی هستند.

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

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

تسلط

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

براساس یک گزارش ، تکامل سخت افزار استخراج بیت کوین می تواند به شش نسل تقسیم شود. هنگامی که این شبکه در سال 2009 راه اندازی شد ، فقط CPU ها پشتیبانی می شدند. این یک سیستم عادلانه برای همه معدنچیان شبکه ایجاد کرده است. این پویا هنگامی که نسل های بعدی تجهیزات معدن در دسترس عموم قرار گرفت ، تغییر کرد. هر نسل جدید از سکوهای معدن قادر به تولید قدرت هش بیشتر از زمان قبلی بود. این شبکه با ظهور GPU (2010) ، FPGAS (2011) و ASICS (2012/2013) تحت تأثیر قرار گرفت. این امر باعث می شود گزینه های مقرون به صرفه تر مانند CPU و GPU برای معدن Cryptocurrency به مرور زمان کمتری داشته باشند.

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

سودآوری فعلی معدن

امروز ، استخراج سودآور ارزهای رمزنگاری SHA-256 به یک دکل قدرتمند معدن ASIC نیاز دارد. همه ASIC ها قادر به تولید نتایج یکسان نیستند. بیایید Bitmain Antminer S19 Pro (نسخه پیش بینی شده در سال 2020) را با Bitmain Antminer T15 (منتشر شده در سال 2018) مقایسه کنیم. S19 Pro از لحاظ تئوریکی یک هاشرات به طور قابل توجهی بالاتر تولید می کند ، بنابراین در همان زمان به سود بالاتری می رسد. با این حال ، معدنچیان همچنین باید این امر را بدانند که قیمت خرده فروشی S19 Pro تقریباً 3 برابر واحد T15 است. با فرض اینکه ماشینهای آینده حتی از S19 قدرتمندتر خواهند بود ، به راحتی می توان دریافت که چگونه معدن ASIC تمایل به فوق العاده رقابتی دارد و به یک سرمایه بزرگ نیاز دارد. این شکل از معدن cryptocurrency به نفع چند نفر از افراد یا شرکت های خوب با بودجه در اکثر معدنچیان معمولی است.

ظهور SHA-3 و سایر الگوریتم های هشدار

همانطور که قبلاً برجسته شدیم ، خانواده الگوریتم های SHA-2 آخرین خط الگوریتم های هش ایمن نیستند. SHA-3 ، که قبلاً با نام Keccak شناخته می شد ، سریعتر و امن تر از SHA-256 در نظر گرفته می شود. SHA-3 توسط Nexus (NXS) ، SmartCash (Smart) و چند blockchain دیگر استفاده می شود.

مانند SHA-256 ، SHA-3 دوستانه ASIC است ، و این کار را با CPU و GPU ها با استفاده از CPU و GPU دشوار می کند. بسیاری از پروژه های blockchain به عدم مقاومت ASIC در بین تمام الگوریتم های ایمن هش ، به ویژه اجرای Bitcoin از SHA-256 ، به عنوان یک دلیل اصلی برای توسعه الگوریتم های هشدار دهنده دیگر مانند Scrypt ، Equihash ، Cryptonight و Lyra2Rev2 استناد کرده اند.

مکانیسم های اجماع سفارشی با کومودو

اجرای الگوریتم Hashing SHA-256 در شبکه بیت کوین راه را برای نوآوری های آینده در اجماع blockchain و ظهور بسیاری از موارد استفاده از blockchain هموار کرد.

Komodo برای هر پروژه blockchain راه حل های اجماع ارائه می دهد. با استفاده از شبکه چند منظوره Komodo ، می توانید یک زنجیره هوشمند مستقل را راه اندازی کرده و پارامترهای شبکه را به طور کامل سفارشی کنید. انتخاب مکانیسم های اجماع شامل اثبات کار ، اثبات سهام یا ترکیبی ترکیبی از این دو است. اگر POW را انتخاب کنید ، می توانید یکی از پنج تغییر مختلف الگوریتم EquiHash یا الگوریتم Verushash را انتخاب کنید. اجرای POS می تواند در ترکیب با قوانین اجماع POW استفاده شود.

برای امنیت اضافی در برابر حملات 51 ٪ ، اثبات تأخیر در کار Komodo (DPOW) می تواند به عنوان یک مکانیسم اجماع ثانویه در هر blockchain مبتنی بر Uxto ، صرف نظر از مکانیسم اجماع یا الگوریتم هشدار اضافه شود. سرویس امنیتی blockchain کومودو مانع از سازماندهی مجدد بلوک های اسناد رسمی مهاجمان بالقوه می شود و به طور موثری تهدید هزینه های مضاعف را از بین می برد. مکانیسم DPOW از قدرت هش هش بزرگ شبکه بیت کوین برای تأمین امنیت blockchain خود استفاده می کند ، در حالی که امکان ایجاد یک شبکه عادلانه برای همه معدنچیان و/یا استیکرها را نیز در اختیار شما قرار می دهد.

خبرنامه کومودو

اگر می خواهید در مورد فناوری blockchain اطلاعات بیشتری کسب کنید و از پیشرفت کومودو پیروی کنید ، در خبرنامه ما مشترک شوید. سفر Blockchain خود را با Komodo امروز شروع کنید.

حساب اسلامي...
ما را در سایت حساب اسلامي دنبال می کنید

برچسب : نویسنده : کامران فیوضات بازدید : <-PostHit-> تاريخ : چهارشنبه 3 خرداد 1402 ساعت: 22:19