شاید کلمه الگوریتم استخراج به گوشتان خورده باشد. یا اگر خودتان از فعالان بازار ارزهای دیجیتال هستید شاید با فرایند استخراج ارزهای دیجیتال و کسب سود از این طریق سر و کار داشتهاید. در دنیای ارزهای دیجیتال، الگوریتمهایی وجود دارند که هر یک وظیفه استخراج گروهی از ارزهای دیجیتال را برعهده دارند. در واقع خرید ارز دیجیتال تنها راه به دست آوردن ارز دیجیتال نیست. شما می توانید با استخراج ارزهای دیجیتال صاحب رمز ارز شوید.
به عبارتی دیگر، یکی از روشهای متداول و مناسب در کسب درآمد از طریق ارزهای دیجیتال، تولید و استخراج این دسته از داراییها با استفاده از امکانات مختص به آن است. در واقع ارزهای دیجیتال بر پایه الگوریتمهای متنوعی نوشته و کدگذاری میشوند و به همین دلیل هم هر دستگاه استخراج یا ماینینگ محدود به یک الگوریتم استخراج خاص است.
این الگوریتمهای استخراج به این دلیل متفاوت هستند که رمزارزهای پروژههای مختلف با توجه به ویژگیهای خاصی که دارند، خود را با آنها سازگار کنند. در ادامه این مطلب قصد داریم به معرفی و بررسی انواع مختلف الگوریتمهای استخراج و سازوکار هر یک از آنها بیشتر آشنا شویم. پس تا انتهای این مقاله با ما همراه باشید.
فهرست محتوا
پیش از معرفی الگوریتمهای مختلف استخراج بگذارید توضیح مختصر و مفیدی از در مورد اصطلاحات و واژگانی که در این خصوص مصطلح بوده و با آنها موجه خواهید شد داشته باشیم.
بلاک (Block) چیست؟
هر یک از تراکنشهای مربوط با ارزهای دیجیتال در بستههای داده خاصی جمع آوری و نگهداری میشوند که به این بستهها بلاک (Block) گفته میشود. این نکته را باید خاطرنشان کنیم که برای صحت انجام فرآیند تراکنش، پردازش به موقع این بلاکها امری لازم و ضروری است و با توجه به این مسئله که هیچ نهاد مرکزی وجود ندارد که بتواند همه فرآیند پردازش تراکنشها را به درستی انجام دهد، انجام این فرایند به عهده کامپیوترها است.
در حقیقت به این فرایند، استخراج یا ماینینگ گفته میشود. ماینرها یا همان استخراجکنندگان، با قرار دادن کامیپوترهای خود در اختیار شبکه به پردازش و محاسبات شبکه کمک میکنند و وقتی که یک بلاک داده به درستی ماین میشود و معیارهای الگوریتم و ریاضی مشخص میشود، ماینرها پاداشی از کوینها و درصدی از کارمزد تراکنش بلاکی که پردازش کردهاند را از ان خود میکنند و به همین ترتیب میتوانند کسب درآمد و سود داشته باشند.
فرایند استخراج برای تایید تراکنشها به کار برده میشود و از طریق آن، کوین جدید ایجاد میشود. با در نظر گرفتن این چالش که با گذشت زمان حجم تراکنشها به میزان قابل توجه یا فزایش پیدا خواهد کرد بنابراین ماینرها باید انگیزه کافی برای استخراج داشته باشند و بتوانند در این فرآیند، سهم خود را از تایید تراکنشها دریافت کنند.
بیشتر بخوانید: بلاکچین چیست؟ توضیح کامل به زبان ساده
هش (Hashing) چیست؟
حال که با بلاک و عملکرد آن آشنا شدید باید بدانید که یک شبکه از لیست طولانی از بلاکها تشکیل شده و به همین دلیل نام این شبکه را «بلاکچین» گذاشتهاند. از این بلاکها میتوان برای کشف آدرسهای ارز دیجیتال استفاده کرد. هر زمانی که بلاک جدیدی از تراکنشها ایجاد میشود، این بلاک به شبکه بلاکچین اضافه شده و به همین ترتیب یک لیست طولانی از بلاکچین ایجاد میشود. اما برای اینکه این شبکه بلاکچینی مورد اعتماد باشد و نتوان دستکاری در آن انجام داد و به طور کلی از آسیب خطاهای انشانی مصون و در امان باشد کامپوترهای استخراجکننده وارد عمل میشوند.
زمانی که بلاکی از تراکنشها ایجاد میشود، ماینرها اطلاعات مربوط به آن تراکنس را در داخل بلاک قرار داده و یک فرمول ریاضی منحصربفردی روی آن اعمال میکنند تا به چیزی دیگری تبدیل شود. چیزی که حاصل میشود یک دنباله به مراتب کوتاهتر و متشکل از حروف و اعداد تصادفی است که به آن هش (Hash) میگویند. به عبارت سادهتر، هش به خروجی اطلاعات ورودی گفته میشود. الگوریتم هش اطلاعات ورودی را در هر اندازهای دریافت میکند و یک خروجی با اندازه ثابت تولید میکند.
محل قرارگیری و ذخیره هشهای ایجاد شده در کنار بلاکها است. هشها از ویژگیهای جالب توجهی برخوردار هستند. درحالی که ساخت هش آسان است، اما هر هش منحصر بفرد است. پس به عبارت دیگر فقط کامپیوتر میداند که چه کاری انجام داده و هچی فردی قادر به دسترسی به اطلاعات نیست.
حال باید این نکته را یادآور میشویم که از الگوریتمهای استخراج (Mining Algorithm) در تولید هش استفاده میشود و این الگوریتمها همانطور که در ابتدای مقاله به آن اشاره کردیم بسته به هر ارز دیجیتالی متفاوت است و هرچه این هش تولیدشده طولانیتر باشد، قویتر است. اما این مسئله را هم در ذهن داشته باشید که هرچه طول هش بیشتر باشد پردازش آن هم به زمان بیشتری نیاز خواهد داشت. پس چیزی که در ابتدا و قبل از استخراج ارزهای دیجیتال به آن نیاز دارید آشنایی با انواع مختلف الگوریتمهای استخراج است.
لازم است بدانید که استخراج هر ارز دیجیتالی با چه الگوریتمی انجام میشود و این الگوریتم از چه ویژگیهای برخوردار است. به عنوان مثال الگوریتم استخراج بیتکوین، الگوریتم استخراج اتریوم، الگوریتم استخراج لایتکوین و سایر ارزهای دیجیتال متفاوت از هم هستند و هر یک از ویژگیها و شاخصههای منحربفرد خود برخوردار است. در ادامه به معرفی انواع الگوریتمهای استخراج خواهیم پرداخت.
انواع الگوریتمهای استخراج
۱- الگوریتم SHA-256
اولین الگوریتم استخراج ارزهای دیجیتال به زمان پیدایش بیتکوین بر میگردد. زمانی که بیتکوین به عنوان رمز ارز برتر و رهبر ارزهای دیجیتال به دنیا معرفی شد مردم با اولین الگوریتم استخراج هم آشنا شدند. این الگوریتم استخراج که SHA-256 نام دارد یک تابع هش قدرتمند است که برای استخراج رمز ارزهایی همچون بیتکوین، بیتکوین کش، آکوین و برخی ارزهای دیجیتال دیگر مورد استفاده قرار میگیرد.
الگوریتمهای هش ایمن در گروه توابع هشینگ کریپتوگرافیگ (رمزنگاری) قرار میگیرند و در این میان، SHA-256 یکی از الگوریتمهای پرطرفدار است که توسط آژانس امنیت ملی توسعه یافته و توسط موسسه ملی فناوری در سال ۲۰۰۱ منتشر شد و در سال ۲۰۰۲ به استاندارد فدرال برای پردازش اطلاعات تبدیل شد. الگوریتم SHA-256 رایجترین تابع هش در جهان است که از امنیت بالایی برخوردار است و قابلیت بازیابی CPU را فراهم میکند، این قابلیت با GPU و ASIC سریعتر همراه است.
ارزهایی که قابلیت استخراج با این الگوریتم را دارند عبارتند از:
BitcoinCash (BCH)
Bitcoin (BTC)
21Coin (21)
Peercoin (PPC)
Namecoin (NMC)
Unobtanium (UNO)
Betacoin (BET)
Bytecoin (BTE)
Joulecoin (XJO)
Devcoin (DVC)
Ixcoin (IXC)
Terracoin (TRC)
Battlecoin (BCX)
Takeicoin (TAK)
PetroDollar (P$)
Benjamins (BEN)
Globe (GLB)
Unicoin (UNIC)
Snowcoin (SNC)
Zetacoin (ZET)
Titcoin (TIT)
بیشتر بخوانید: آموزش گام به گام استخراج بیت کوین + راهنمای تصویری
۲- الگوریتم اسکریپت sCrypt
الگوریتم اسکریپت (sCrypt) یک الگوریتم هش است که در بلاکچینهای با ساز و کار اثبات کار (Proof of Work) خاصی استفاده میشود و با تولید اعداد تصادفی و غیرتکراری فرایند استخراج بلاک را برای کاربران مخرب دشوار میکند و باعث افزایش چندین برابری امنیت شبکههای ارز دیجیتال میشود.
به عبارت سادهتر اسکریپت رشتههای الفبایی منحصر بهفرد و غیرتکراری را ایجاد میکند که هدف از استفاده از این رشتههای الفبایی این است که دادههای کلیدی الگوریتم را استتار کرد تا فرایند شکستن هشها برای افراد مخرب پیچیدهتر و سختتر شود.
از طرفی دیگر الگوریتم اسکریپت به این منظور طراحی شده تا شکستن رمز عبورهایی که با این الگوریتم هششده را برای سخت افزارهای مخصوص مانند ASICها دشوارتر کند. Scrypt در مقایسه با توابع مشابه، این کار را با استفاده از حجم زیادتری از حافظه انجام میدهد که همین امر هم باعث شده تا هکرها بهراحتی نتوانند به اهداف خودشان دست پیدا کنند. این الگوریتم اولین بار در سال ۲۰۱۱ با راهاندازی پروژه Tenebrix (TBX) توسط یک برنامهنویس ناشناس ملقب به Artfortz توسعه یافت. Tenebrix اولین پروژه بلاکچینی بود که از الگوریتم استخراج Scrypt به عنوان یک الگوریتم هش استفاده میکرد.
ارزهایی که قابلیت استخراج با این الگوریتم را دارند عبارتند از:
Litecoin (LTC)
Dogecoin (DOGE)
Novacoin (NVC)
WorldCoin (WDC)
Latium (LAT)
FeatherCoin (FRC)
Bitmark (BTM)
TagCoin (TAG)
Ekrona (KRN)
MidasCoin (MID)
DigitalCoin (DGC)
Elacoin (ELC)
Anoncoin (ANC)
PandaCoins (PND)
GoldCoin (GLD)
۳- الگوریتم اتش Ethash
الگوریتم استخراج Ethash اولین بار توسط بنیانگذار و خالق اتریوم یعنی ویتالیک بوترین (Vitalik Buterin) در سال ۲۰۱۳ تا ۲۰۱۴ ساخته شد. بنابراین از این الگوریتم برای ارزهای دیجیتالی همچون اتریوم و ارزهای هم رده اتریوم استفاده میشود. این الگوریتم با این هدف طراحی شده که با استفاده از تکنیکهای محاسباتی بسیار پیشرفته باعث افزایش سطح امنیت شبکه میشود. الگوریتم استخراج Ethash شکل ارتقا یافته الگوریتم قبلی اتریوم یعنی Dagger-Hashimoto است و جایگزین آن شده است.
هدف اصلی و اولیه از ساخت این الگوریتم استخراج، تمرکز بر محافظت از ماینرهای ASIC بود. اما با گذشت زمان و با افزایش محبوبیت اتریوم، که ارز دیجیتال اصلی Ethash است، علاقه توسعهدهندگان ماینرهای ASIC را به تولید ماینرهای سازگار با این الگوریتم افزایش داد؛ سرانجام در سال ۲۰۱۸ بیتمین (Bitmain)، شرکت مطرح سازنده ماینرهای ارز دیجیتال، اولین ماینرهای ASIC را برای Ethash به بازار معرفی کرد. اما بعد از این اتفاق، تیم توسعهدهنده پروژه اتریوم به شدت با تسلط ASIC بر شبکه مخالفت کرد. این نظرات ماینرهای ASIC را مجبور به مخفی کردن و کاهش قدرت هش دستگاههای خود کرد.
ویتالیک بوترین هدف اصلی خود از ایجاد این الگوریتم را اینطور عنوان کرده که همه بتوانند با کامپیوترهای معمولی اتریوم استخراج کنند و تنها به دستگاههای ASIC نیاز نداشته باشند. این در حالی است که همچنان از دستگاههای ASIC برای استخراج اتریوم و سایر ارزها بر اساس این الگوریتم استفاده میشود.
ارزهایی که قابلیت استخراج با این الگوریتم را دارند عبارتند از:
Ethereum (ETH)
Ethereum Classic (ETC)
Expanse (EXP)
۴- الگوریتم X11
یکی از ایمنترین و قدرتمندترین الگوریتمهای استخراج ارزهای دیجیتال الگوریتم استخراج X11 است که از رشتهای از توابع هش مختلف برای ایجاد بیشترین امنیت در استخراج ارزهای دیجیتال استفاده میکند. این الگوریتم استخراج برخلاف SHA-256 (الگوریتم استخراج بیتکوین) یا الگوریتم Scrypt فقط یک تابع هش تنها نیست، بلکه از ۱۱ تابع هش متفاوت ساخته شده است.
این ۱۱ الگوریتم عبارتند از:
- BLAKE
- BLUE MIDNIGHT WISH (BMW)
- Grostl
- JH
- Keccak
- Skein
- Luffa
- CubeHash
- SHAvite-3
- SIMD
- ECHO
این ۱۱ الگوریتم هش به همین ترتیب نام برده مورد استفاده قرار میگیرند و هدف آنها ایجاد یک آی دی بلاک (Block ID) یا هش بلاک (Block Hash) برای یک ماینر است.
ارزهایی که قابلیت استخراج با این الگوریتم را دارند عبارتند از:
Dash (DASH)
CannabisCoin (CANN)
StartCoin (START)
MonetaryUnit (MUE)
Karmacoin (Karma)
XCurrency (XC)
۵- الگوریتم کریپتونایت CryptoNight
از دیگر الگوریتمهایی که بر پایه ساز و کار اثبات کار طراحی شده الگوریتم استخراج کریپتونایت (CryptoNight) است. این الگوریتم استخراج یک فناوری متن باز (open-source) و پروتكل لایهای كاربردی است.
الگوریتم استخراج کریپتونایت هم به گونه ای طراحی شده که در مقابل ASIC مقاوم است. ویژگی اصلی این الگوریتم هش بسیار سریع آن است و امکان مقیاسپذیری خوبی را فراهم میکند.
هدف اصلی از ایجاد این الگوریتم استخراج، پر کردن شکاف بین ماینرهایی است که فقط به پردازنده CPU دسترسی دارند و توانایی تهیه سخت افزارهایی نظیر کارتهای گرافیک و ASICها را ندارند. این اقدام برای ایجاد عدالت در ماینینگ برای کاربران بهتر بوده و غیر متمرکز سازی بیشتری به دنبال خواهد داشت.
ارزهایی که قابلیت استخراج با این الگوریتم را دارند عبارتند از:
Monero (XMR)
Bytecoin (BCN)
Boolberry (BBR)
Dashcoin (DSH)
DigitalNote (XDN)
DarkNetCoin (DNC)
FantomCoin (FCN)
Pebblecoin (XPB)
Quazarcoin (QCN)
جمعبندی
در این مقاله سعی کردیم با جمعآوری مطالب مرتبط شما را با انواع الگوریتمهای استخراج ارزهای دیجیتال آشنا کنیم. همانطور که در بالا اشاره کرده هر یک از این الگوریتمهای استخراج دارای ویژگیها و قابلیتهای متفاوتی است و میزان قدرت هر یک از این الگوریتمها با هم تفاوت دارد. به همین دلیل این وظیفه افراد است که مطابق با نوع رمز ارزی که قصد استخراج آن را دارند و اهداف موردنظر خود، الگوریتم استخراج مناسب را انتخاب و به کار گیرند. به عنوان مثال الگوریتم استخراج به کار گرفته شده برای بیتکوین به عنوان اولین ارز دیجیتال در بازار، الگوریتم SHA-256 است و تمام فورکهای Bitcoin و رمز ارزهای هم رده آن هم از همین الگوریتم برای استخراج استفاده میکنند.
سوالات متداول
- چند نوع الگوریتم استخراج ارز دیجیتال وجود دارد؟
در مجموع ۵ نوع الگوریتم استخراج مهم و اصلی برای ارزهای دیجیتال وجود دارد که عبارتند از :
۱- الگوریتم SHA-256
۲- الگوریتم اسکریپت Scrypt
۳- الگوریتم اتش Ethash
۴- الگوریتم X11
۵- الگوریتم کریپتونایت CryptoNight
- آیا با اسستفاده از یک الگوریتم استخراج میتوان به ماینینگ هر ارزی که قابلیت استراج دارد پرداخت؟
خیر. ارزهای دیجیتال بر پایه الگوریتمهای متنوعی نوشته و کدگذاری میشوند و به همین دلیل هم هر دستگاه استخراج یا ماینینگ محدود به یک الگوریتم استخراج خاص است. به همین دلیل لازم است بدانید که استخراج هر ارز دیجیتالی با چه الگوریتمی انجام میشود و این الگوریتم از چه ویژگیهای برخوردار است.
- اولین الگوریتم استخراج ارزهای دیجیتال چه نام دارد و برای استخراج چه ارزهای دیجیتالی میتوان از آن استفاده کرد؟
اولین الگوریتم استخراج ارزهای دیجیتال به زمان پیدایش بیتکوین بر میگردد. این الگوریتم که SHA-256 نام دارد یک تابع هش قدرتمند است که برای استخراج رمز ارزهایی همچون بیتکوین، بیتکوین کش، آکوین و برخی ارزهای دیجیتال دیگر مورد استفاده قرار میگیرد.