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

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

01 31 - معرفی الگوریتم CryptoNight و کاربرد آن

معرفی الگوریتم CryptoNight و کاربرد آن

یکی از شناخته شده ترین الگوریتم های استخراج، الگوریتم CryptoNight است. این الگوریتم بخشی از پروتکل اجماع شناخته شده CryptoNote است و برای عملکرد خود از طرح استخراج Proof of Work  استفاده می کند که قصد دارد وابستگی زیادی به CPU و مقاومت در برابر ASIC  را ایجاد کند.

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

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

منبع الگوریتم CryptoNight

توسعه CryptoNight را می توان در 12 دسامبر 2012 جستجو کرد، زمانی که توسعه دهنده Nicolas van Saberhagen پروتکل اجماع را به جهان ارائه داد که همانند Satoshi Nakamoto هویتی نا مشخص دارد. شاید دلیل به کارگیری این الگوریتم، به دلیل آن است که دارای ویژگی های پیشرفته ای است که نوید چیزهایی مانند معاملات محرمانه را می دهد. علاوه بر معاملات غیر قابل پیوند، معاملات کوچکتر و امنیت بیشتر را نیز در بر دارد.

پروژه CryptoNote و الگوریتم استخراج آن در ابتدا توسط Bytecoin (BCN) تحویل گرفته شد که آن را در بلاکچین خود اعمال کرد. اما فقط در زمان ایجاد Monero (XMR) بود که این پروژه در جهان رمزنگاری به طور گسترده ای شناخته شد.

02 33 - معرفی الگوریتم CryptoNight و کاربرد آن

عملکرد الگوریتم

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

یکی دیگر از گزینه های طراحی در این الگوریتم این بود که داده ها به همان اندازه حافظه ذخیره شده برای هر هسته در پردازنده مرکزی مدرن باشد. چنین حافظه ای در مقایسه با سیستم معمولی DRAM یا VRAM تأخیر بسیار کمی دارد، بنابراین در مقایسه با پردازنده گرافیکی، یک مزیت کارایی قابل توجه در اجرای CryptoNight مشاهده می شود.

در مورد پروژه Monero، توسعه دهندگان متعهد شده اند که نسخه های جایگزین الگوریتم CryptoNight را با نسخه های جدید پروتکل بلاکچین پیاده سازی کنند و تغییر اندکی در زمینه تلاش های طراحان ASIC ایجاد شود، زیرا پس از ساخت مجدد ASIC ها نمی توانند دوباره برنامه ریزی شوند.

به ندرت دیده می شود که رایانه های شخصی با پردازنده های متعدد، برای استخراج Monero به دلیل ماهیت تخصصی و گران قیمت آنها ساخته شوند. معمولاً  رایانه های شخصی اختصاصی استخراج Monero مبتنی بر GPU ، شبیه کامپیوترهای استخراج Ethereum هستند.

عملیات CryptoNight

الگوریتم CryptoNight بر اساس یک سری ویژگی ها کار می کند که آن را برای استخراج GPU بسیار سازگار نشان می دهد. الگوریتم از رمزگذاری محلی AES استفاده می کند. پردازنده هایی با قابلیت شتاب محاسبات AES می توانند از این واقعیت بسیار سود ببرند و از پتانسیل استخراج برتری برخوردار باشند.

همچنین از مجموعه ضرایب سریع 64 بیتی استفاده می کند. به همین دلیل، ساختارهای خالص پردازنده 64 بیتی بسیار کارآمد هستند. می توان از آن در پردازنده هایی از نوع VLIW  128 تا 512 بیتی استفاده کرد، جایی که الگوریتم می تواند با افزایش کارایی از استخرهای استخراج به صورت موازی استفاده کند.

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

شروع سیستم هش

کار CryptoNight با مقداردهی اولیه فضای کاری آغاز می شود. از همین رو، این الگوریتم از یک سری موارد اولیه رمزنگاری استفاده می کند.

رمزگذاری AES :

عملکرد هش Keccak ، به عنوان وسیله اصلی تولید هش در الگوریتم استفاده می شود. عملکرد هش SHA-3. SHA-3 یک عملکرد هش است که از Keccak مشتق شده و همراه با BLAKE-256 ، Groestl-256 ، JH-256 و Hank-256 برای تقویت نسل هش فضای کاری CryptoNight استفاده می شود.

03 31 - معرفی الگوریتم CryptoNight و کاربرد آن

ایجاد کلید AES و رمزگذاری هش Keccak :

این مهم ترین قسمت فرآیند ایجاد کلید AES است و در دور اول توابع هش امکان پذیر است. ابتدا الگوریتم CryptoNight یک ورودی داده را می گیرد و آن را به عملکرد Keccak می برد. برای انجام این کار، یک عملکرد Keccak-1600 با عرض 1600 بیت لازم است. برای درک بهتر این موضوع و در جهت مقایسه باید اشاره کنیم که بیت کوین و عملکرد هش SHA-256 از کلمات 256 بیتی یا 64 کاراکتری استفاده می کنند. در حالی که Keccak-1600 ، 1600 بیت یا 400 کاراکتر به طور کامل، با اندازه 200 بایت تولید می کند.

پس از آن 31 بایت اول این هش Keccak-1600 را گرفته و آنها را به کلید رمزگذاری الگوریتم AES-256 تبدیل می کند که بالاترین مقدار در خانواده AES است. بدین منظور، این قطعه کوچک داده در ده دور رمزگذاری می شود. بقیه هش با استفاده از AES-256 رمزگذاری شده و تحت ده دوره چرخه رمزگذاری قرار می گیرد.

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

نسل نهایی هش

اکنون داده های جمع آوری شده توسط این اقدامات هسته اصلی،  توابع هش را تغذیه می کنند. کاری که CryptoNight انجام می دهد اینست که کل مجموعه داده ایجاد شده توسط توابع AES-256 و Keccak را در مرحله قبل گرفته و از بقیه توابع هش عبور می دهد. در پایان شما یک هش نهایی دریافت می کنید که نتیجه اثبات CryptoNight کار است. این هش دارای 256 بیتی پسوند یا در مجموع 64 نویسه است.

جوانب مثبت الگوریتم

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

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

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

04 32 - معرفی الگوریتم CryptoNight و کاربرد آن

تکامل CryptoNight

این الگوریتم، یکی از معدود الگوریتم های رمزنگاری است که در طول تاریخ خود تغییرات زیادی را تجربه کرده است. از زمان ایجاد CryptoNight-R، تا آخرین نسخه CryptoNight که توسط Monero ساخته شده است، را شاهد بوده ایم.

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

کدام بلاکچین ها از این الگوریتم استفاده می کنند ؟

Bytecoin (BTN) اولین بلاکچینی است که از CryptoNight استفاده می کند. بلاکچین بعدی که از آن استفاده کرد Monero بود که در واقع، در این زمان بیشترین پیشرفت را داشته است. با این حال، Monero این الگوریتم را به نفع RandomX کنار گذاشته است. بنابراین تصور می شود تکامل این الگوریتم که در برابر ASIC بسیار مقاوم است، برای مدت طولانی ادامه خواهد داشت.

بلاک چین دیگری که از الگوریتم CryptoNight استفاده می کند Electroneum (ETN) است که به گونه ای طراحی شده است که می توان از دستگاه های موبایل به عنوان گره های کامل و گره های استخراج استفاده نمود.

استخراج CryptoNight ASIC

ارزهای رمزنگاری شده مانند Monero ، Bytecoin ، Electroneum CryptoNote اکنون CryptoNight را به عنوان الگوریتم اثبات کار خود انتخاب کردند، زیرا اجازه استخراج برابری بیشتری را می دهد. این الگوریتم،  برای مقاومت در برابر ASIC و کارآیی استخراج پردازنده و GPU به همان اندازه طراحی شده است که سکه را در دسترس همه قرار داده و استفاده از آن برای مبتدیان آسان بود.

در آن زمان الگوریتم CryptoNight فقط با استفاده از CPU قابل استخراج بود. بعداً GPU ها وارد شدند در حالی که CPU ها هنوز عملکرد خوبی دارند. در حال حاضر دستگاه های سخت افزاری تخصصی بسیاری برای استخراج این الگوریتم و سکه های آن موجود است.

چرا CryptoNight مهم است؟

توسعه و اجرای الگوریتم هش CryptoNight از دو جنبه بسیار مهم است که شامل معاملات غیرقابل ردیابی و مقاومت ASIC می باشد.

معاملات غیرقابل ردیابی :

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

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

05 20 - معرفی الگوریتم CryptoNight و کاربرد آن

مقاومت ASIC :

دلیل ثانویه توسعه این الگوریتم، کاهش تسلط بر دکل های استخراج ASIC و متعاقب آن تمرکز استخراج ارز رمزنگاری شده بود. پس از اینکه CryptoNight پیشنهاد شد، سکوهای استخراج ASIC تا سال 2013 وارد بازار نشدند. با ظهور ASIC ها، توسعه دهندگان آن، یک سیستم برابری طلبانه را در نظر گرفتند که GPU ها و CPU ها می توانند همچنان رقابتی باقی بمانند.

الگوریتم CryptoNight در مقایسه با الگوریتم هش Bitcoin SHA-256 ساخته شد تا به حافظه محاسباتی بیشتری نیاز باشد. این الگوریتم، در نظر داشت الگوریتم هش کردن Scrypt را بهبود بخشد که به حافظه اضافی نیاز داشت، اما به سطح مقاومت ASIC مورد نظر توسعه دهندگان CryptoNight نرسید.

CryptoNight در مقابل CryptoNote

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

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

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

این یک الگوریتم اثبات کار است برای CPU های معمولی رایانه مناسب است و تنها می توان از طریق آن استخراج انجام داد.

مونرو اکنون از RandomX که سازگار با پردازنده مرکزی Monero است استفاده می کند. اما پیش از این، از الگوریتم CryptoNight و تغییرات این آن استفاده کرده بود.

معاملات غیرقابل ردیابی و مقاومت ASIC

در حال حاضر استفاده از CPU های رایانه های معمولی امکان پذیر است.

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

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

*

captcha code file - معرفی الگوریتم CryptoNight و کاربرد آن