معرفی 10 الگوریتم استخراج رمز ارز
الگوریتم های استخراج رمز ارز، الگوریتم ها یا توابعی هستند که عمل استخراج ارزهای دیجیتال را ممکن می سازند و یکی از ارکان اصلی در استخراج رمز ارزها یا ماینینگ است. الگوریتم های متنوعی به این منظور وجود دارند که هر کدام ویژگی های خاص خود را دارند که با ارزهای دیجیتالی که از آنها استفاده می کنند، مطابقت دارند.
الگوریتم های استخراج ارز دیجیتال در واقع توابع هش (Hash) هستند که وظیفه آنها تامین امنیت بلاک های شبکه بلاک چین است. شناخته شده ترین الگوریتم استخراج رمزارز که احتمالا اسم آن را شنیده اید، Sha-256 است. در این مقاله با 10 مورد از مهم ترین و پر کاربردترین الگوریتم های استخراج رمز ارز، خصوصیات آنها و رمز ارزهایی که از آنها استفاده می کنند آشنا می شویم.
رایج ترین الگوریتم های استخراج رمز ارز
SHA-256، الگوریتم بیت کوین
SHA-256 یکی از معروف ترین الگوریتم های استخراج رمز ارز، یک الگوریتم رمزنگاری است که ابتدا به عنوان یک سیستم هش برای داده ها شروع به کار کرد. اساساً، کاری که SHA-256 انجام می دهد این است که مقدار معینی از اطلاعات را می گیرد و آن را در یک بلوک 64 کاراکتری الفبایی-عددی (alphanumeric) خلاصه می کند. این بدان معناست که اگر داده های یکسانی را بی نهایت بار وارد کنید، هر بار خروجی یکسانی خواهید داشت. اما اگر تنها یک کاراکتر از ورودی تغییر کند، خروجی به طور کامل عوض خواهد شد.
الگوریتم SHA-256 توسط آژانس امنیت ملی ایالات متحده (NSA) طراحی شد و موسسه ملی استانداردها و فناوری (NIST)، در سال 2001 به عنوان یک استاندارد یکپارچگیِ داده، منتشر کرد. با استفاده از این الگوریتم می توان فرایند ماینینگ را با استفاده از CPU، GPU، FPGA و ماینرهای ASIC انجام داد. البته قدرت هر کدام از این سخت افزارها متفاوت است.
در این میان کمترین توان برای استخراج را از CPU می توان دریافت کرد و پرقدرت ترین دستگاه های ماینینگ در حال حاضر، اسیک ماینرها هستند.
پروژه های رمز ارزی که از الگوریتم SHA-256 به عنوان الگوریتم استخراج استفاده می کنند شامل: بیت کوین، بیت کوین کش، بیت کوین SV، Namecoin (که از ماینینگ ادغام شده یا merged استفاده می کند)، RSK (ماینینگ ادغام شده) و Stacks (ماینینگ ادغام شده) است.
بسیاری پروژه های دیگر نیز از الگوریتم SHA-256 برای استخراج استفاده می کنند؛ اما چون هیچ نوآوری نداشته اند، ارزش پایینی در جامعه ارزهای دیجیتال دارند.
Ethash، الگوریتم اتریوم
این الگوریتم مبتنی بر Proof of Work یا اثبات کار است و توسط شبکه اتریوم و سایر رمز ارزهای مبتنی بر Ethereum طراحی و پیاده سازی شده است. این الگوریتم نسخه اصلاح شده الگوریتم Dagger-Hashimoto میباشد. البته در مراحل توسعه این دو الگوریتم تفاوت هایی وجود دارد. در Ethash الگوریتم های هش Keccak-256 و Keccack-512 به کار رفته است.
الگوریتم Ethash برای جلوگیری از استخراج ASIC طراحی و ساخته شده بود. هدف سازنده این الگوریتم این بوده که همه افراد بتوانند با کامپیوترها و CPU های معمولی نیز ارزهای دیجیتال بر اساس این الگوریتم نظیر اتریوم را، استخراج کنند و از متمرکز شدن عملیات استخراج توسط دستگاه های اسیک جلوگیری شود. این الگوریتم استخراج برای دستگاه های CPU و GPU بسیار مناسب و کارامد است.
از جمله مزایای این الگوریتم، پیاده سازی راحت آن است که باعث شده این الگوریتم علاوه بر امنیت بالا، کاربردی نیز باشد. این الگوریتم برای استخراج از فایلی به نام DAG استفاده می کند. فایل دَگ بلاکی از داده ها است که روی GPU یا کارت گرافیک بارگذاری می شود. استفاده از ساختار DAG، به همراه تابع Keccak و همچنین استفاده از کش، این الگوریتم را به یکی از کارامدترین الگورتیم ها بدل کرده است.
معروف ترین ارز دیجیتالی که از این الگوریتم استفاده می کند، اتریوم است. از بین سایر پروژه هایی که از این الگوریتم استفاده می کنند می توان به اتریوم کلاسیک، Musicoin، Expanse، WhaleCoin و چندین پروژه برگرفته از اتریوم اشاره کرد.
Scrypt، کامل ترین تابع رمزنگاری
Scrypt یکی دیگر از الگوریتم های استخراج رمز ارز است که توسط کالین پرسیوال، توسعه دهنده معروف FreeBSD، طراحی شده است. کالین این الگوریتم را به عنوان بخشی از یک محصول تجاری به نام tarsnap که هدف آن ایجاد نسخه پشتیبان از اطلاعات از راه دور برای کاربران و شرکت هاست، طراحی کرده بود. در واقع Tarsnap محصولی است که به دلیل امنیت و سرعت بسیار بالا شناخته شده است؛ ویژگی ای که Scrypt نقش اساسی در آن دارد.
الگوریتم Scrypt تابع هش بسیار بهینه ای است که برای پردازش مقادیر زیادی از داده ها، ارائه تضمین های رمزنگاری یکپارچگی و همچنین در صورت لزوم تسهیل بازیابی داده ها طراحی شده است. توانایی آن در انجام رمزگذاری و رمزگشایی ایمن، از جمله ویژگی هایی است که سایر توابع هش ندارند. همچنین در مقایسه با سایر الگوریتم های استخراج رمز ارز نظیر SHA-256، از سرعت بالاتر و کاربری آسان تری برخوردار است.
همه این خصوصیات باعث شده تا Scrypt یکی از کامل ترین و امن ترین توابع موجود باشد. ضمن اینکه پیاده سازی نرم افزار رایگان محسوب می شود. این الگوریتم برای استخراج CPU ،GPU ،FPGA و ASIC مناسب است.
شناخته شده ترین ارزهای دیجیتال که از الگوریتم Scrypt استفاده می کنند، لایت کوین و دوج کوین هستند.
Cryptonight، اولین الگوریتم برای کوین های ناشناس
از دیگر الگوریتم های استخراج رمز ارز CryptoNight است که الگوریتم منحصربهفردی است و هدف از آن آسان کردن ساخت کوین های ناشناس است. هویت شخص (یا گروهی از افراد) که این الگوریتم را ساخته اند در حد هویت ساتوشی ناکاموتو یک راز کامل است. کاربران مختلف ادعا می کنند که خالق CryptoNote (الگوریتم اجماع پایه برای CryptoNight) خود ساتوشی ناکاموتو است که با نام مستعار جدیدی تحت عنوان Nicholas van Saberhagen فعالیت می کند.
CryptoNight به عنوان یک تابع هش برای CryptoNote توسعه داده شد و Bytecoin اولین ارز دیجیتالی بود که آن را پیاده سازی کرد. این الگوریتم از ابتدا به گونه ای طراحی شده است که سطح بسیار بالایی از حریم خصوصی، ناشناس بودن و مقاومت در برابر ASIC و GPU را ارائه دهد.
در واقع CryptoNight برای حفظ امنیت و ناشناس ماندن باید در برابر استخراج ASIC و GPU مقاومت بالایی میکرد و توسعه آن برای این دستگاه ها بسیار دشوار میشد. از این جهت این الگوریتم مشابه الگوریتم Ethash است.
با کنار گذاشته شدن بایت کوین و مونرو، دومین کوینی که این تابع را برای ماینینگ خود پیادهسازی کرد، گروه تخصصی تر و بزرگتر دیگری فرمان توسعه آن را در دست گرفت. Monero به توسعهدهنده اصلی CryptoNight تبدیل شد و دائماً آن را بهروزرسانی میکرد. با تمام این تلاش ها CryptoNight نبرد را باخت و توسعهدهندگان Monero اعلام کردند که CryptoNight به زودی کنار گذاشته میشود و روی جانشین آن کار میکنند.
کوین هایی که از این الگوریتم استفاده می کنند عبارتند از: Bytecoin،Monero ،Electroneum ،CryptoNote. البته در حال حاضر این الگوریتم کاربرد زیادی ندارد و تقریبا رها شده است.
X11، الگوریتم Dash
این الگوریتم یکی از خاص ترین الگوریتم های استخراج رمز ارز است. X11 بر خلاف SHA-256 یا الگوریتم اسکریپت (Scrypt) یک الگوریتم هش نیست؛ بلکه ترکیبی از 11 تابع هش است که به صورت سریالی عمل می کنند تا در نهایت هش نهایی به دست آید. علت نامگذاری آن نیز همین موضوع است. ایده پشت ایجاد این الگوریتم، تضمین امنیت کامل هش های حاصله و افزودن پیچیدگی خاصی است که از پیاده سازی در ASIC هایی که استخراج را متمرکز می کنند، جلوگیری می کند.
در واقع الگوریتم X11 ضمن کاهش برق مصرفی، یکی از بهینه ترین الگوریتم های استخراج رمز ارز مبتنی بر CPU و کارت های گرافیک به شمار می آید.
شایان ذکر است که ایده اولیه، یعنی تضمین امنیت، توسط بسیاری از متخصصین رمز نگاری بی ربط و پوچ در نظر گرفته می شود. این موضوع به این دلیل است که بسیاری از الگوریتم های به کار رفته در X11، حتی عملکرد خودشان نیز به طور رسمی تایید نشده است. اما ایده دوم یعنی مقاومت در برابر ASIC ها اگر چه درست به نظر می رسید، اما دیری نپایید که توسعه دهندگان اسیک بر این چالش هم غلبه کردند.
البته در پاسخ به این مورد، توسعه دهندگان تغییراتی در الگوریتم X11 ها ایجاد کردند تا از استخراج ASIC ها تا زمانی که یک به روز رسانی Firmware دیگر اجرا شود، جلوگیری کنند. از این تلاش ها مشتقات این الگوریتم نظیر X13 ،X15 و حتی X17 متولد شدند.
الگوریتم X11 توسط ایوان دافیلد، خالق Dash طراحی شده است و Dash اولین ارز دیجیتالی است که از X11 استفاده می کند. دیگر ارزهای دیجیتال که از این الگوریتم استفاده میکنند عبارتند از: cannabiscoincann ،DigitalPriceClassic (DPC) ،Onix (ONX) و MonetaryUnit (MUE)
Equihash، یک الگوریتم مبتنی بر یک مسئله پیچیده ریاضی
الگوریتم Equihash به لطف فعالیتهای Alex Biryukov و Dmitry Khovratovich که به دنبال ساخت یک الگوریتم هش بودند که در برابر استخراج ASIC ها مقاومت نشان دهد، به عنوان یکی دیگر از الگوریتم های استخراج رمز ارز طراحی شد. این دو فرد برای رسیدن به این هدف از یک مسئله ریاضی عجیب به نام “مسئله تاریخ تولد” استفاده کردند و الگوریتم خود را طراحی کردند.
“مسئله تاریخ تولد” و نتایج کار آنها در سال 2016 در دانشگاه لوکزامبورگ ارائه شد. این پروژه توسط گروهی به نام CryptoLUX اجرا شد که در هم اندیشی امنیت شبکه ها و سیستمهای توزیع شده در سال 2016 در سن دیگو حضور داشتند.
الگوریتم Equihash یک الگوریتم حافظه محور است و به مقدار حافظه ی بالایی برای تولید یک اثبات نیاز دارد که همین موضوع باعث جلوگیری از تمرکز ASIC می شود. از آنجایی که حافظه یا RAM در محاسبات هزینه بالایی دارد، بنابراین بهینه سازی آن در تراشه ASIC هزینه محاسباتی هنگفتی خواهد داشت؛ لذا باعث تمرکز زدایی از اسیک ها می شود.
از این رو Equihash به عنوان یکی از الگوریتم های استخراج رمز ارز، یکی از مشکل سازترین الگوریتم های مقاوم در برابر ASIC است که تا امروز هم یک چالش برای ASIC هایی است که توانستند بر این مقاومت غلبه کنند؛ زیرا آنها قادر به حل این مشکل در سطوح بالا نیستند که باعث می شود از لحاظ مصرف انرژی به صرفه نباشند. البته بسیار سریع تر از همتایان خود، CPU ،GPU و FPGA ها هستند.
اصلی ترین ارز دیجیتالی که از این الگوریتم استفاده می کند Zcash است. پروژه های دیگر نظیر بیت کوین گلد، کومودو و هاش کوین نیز از Eqihash استفاده می کنند.
RandomX، تکامل یافته الگوریتم Cryptonight
این الگوریتم، یک الگوریتم گواه اثبات کار (PoW) است که جهت جایگزینی الگوریتم CryptoNight و برای استفاده در ارز دیجیتال مونرو طراحی و پیاده سازی شده است. الگوریتم RandomX نیز همانند کریپتونایت، به منظور افزایش امنیت در شبکه Monero ساخته شده و هم اکنون الگوریتم پیش فرض شبکه Monero است.
این الگوریتم، رمز نگاری را در سطح بالایی ارائه می کند و تمرکز آن بر روی سیستم هایی است که محور اصلی شان مسئله حریم خصوصی است.
نکته قابل توجه درباره این الگوریتم آن است که با استفاده از این الگوریتم تنها اجازه استخراج از CPU وجود دارد. در واقع این الگوریتم به قدری پیچیده است که پیاده سازی آن در ماینرهای ASIC از لحاظ تئوری غیر ممکن است. حتی اجرای کارامد آن در GPU و FPGA نیز بسیار پیچیده است.
الگوریتم RandomX علاوه بر افزایش ظرفیت ماینینگ برای CPU ها، رمز ارز Monero را به سمت غیر متمرکز تر شدن هدایت می کند.
همانطور که اشاره کردیم این الگوریتم بر روی امنیت تمرکز دارد و در واقع یک هدف امنیتی شفاف و واضح دارد. در الگوریتم رندوم ایکس از توابع Blake2b و Argon2d استفاده می شود که باعث ایمن تر شدن آن می شوند.
ارزهای دیجیتالی که از این الگوریتم استفاده می کنند شامل: Monero ، Quantum Resistant Ledger، Dynasity coin، Dero، LOKI، WOWNERO، ITALOCOIN
الگوریتم های CuckooCycle، Cuckaroo و Beam
CuckooCycle یکی دیگر از الگوریتم های استخراج رمز ارز PoW است که توسط پروژه Aeternity استفاده می شود. این الگوریتم استخراج رمز ارز برای استفاده در GPUها در نظر گرفته شده است که در مقایسه با استخراج ASIC کارآمدتر و مقاوم تر است. CuckooCycle یک حافظه فشرده است که برای شروع فرآیند استخراج به حداقل 4 گیگابایت رم GPU نیاز دارد. در حال حاضر هیچ ASIC ای وجود ندارد که بر روی این الگوریتم کار کند و تنها ارز مرتبطی که از آن استفاده می کند، Aeternity است.
Cuckaroo یکی از الگوریتم های استخراج رمز ارز است که توسط کوین های حریم خصوصی نظیر Grin y MimbleWimble استفاده می شود. این الگوریتم برای استفاده در پردازندههای گرافیکی و مقاومت در برابر استخراج ASIC در نظر گرفته شده است. این الگوریتم چندین بار به روز رسانی شده است، زیرا مقاومت خود را در برابر ASIC ها از دست داده بود. این امر منجر به ایجاد انواع مختلفی از این الگوریتم از جمله Cuckarood29 ،Cuckatoo31 یا Cuckatoo32 شده است که به دنبال حل این مشکل هستند.
در نهایت، Beam یکی از الگوریتم های استخراج رمز ارز است که توسط رمزارز حریم خصوصی Beam استفاده میشود. این الگوریتم مشتق شده از Equihash است و برای استفاده در GPU ها طراحی شده است. کارتهای Nvidia از نظر استخراج Beam، بهترین نتایج را نشان میدهند. اگرچه تفاوتشان با پردازندههای گرافیکی AMD حداقل است، اما بازدهی انرژی پردازندههای گرافیکی AMD بسیار بالاتر است.
جمع بندی
الگوریتم های استخراج رمز ارز که وظیفه تامین امنیت بلاک های شبکه را دارند، یکی از پایه های عملیات ماینینگ هستند. در این مطلب با 10 الگوریتم استخراج رمز ارز که بیشتر کاربرد دارند، آشنا شدیم. همانطور که مشاهده کردید میزان قدرت هر یکی از این الگوریتم ها با یکدیگر متفاوت بوده و هر یک با هدف خاصی طراحی و پیاده سازی شده اند و ارزهای دیجیتال خاص شان از آنها استفاده می کند. برای مطالعه سایر مقالات در حوزه ماینینگ به وبلاگ ویرا ماینر سر بزنید.