یکی از الگوریتمهای خیلی خاص در استخراج ارزهای دیجیتال الگوریتم X11 است. طراحی این الگوریتم کاملاً با الگوریتمهای شناختهشده بلاکچینهای دیگر تفاوت دارد. برخلاف الگوریتم SHA-256 (الگوریتم بیت کوین) یا الگوریتم Scrypt، این الگوریتم فقط یک تابع هش تنها نیست، بلکه X11 از مجموعه ۱۱ تابع هش متفاوت ساخته شده است.
مبدا الگوریتم X11
سر منشاء X11 به تاریخ مارس ۲۰۱۴ برمیگردد. Evan Duffield یک توسعهگر نرمافزار است که پروژه DarkCoin را راهاندازی کرد که در حال حاضر به عنوان دش (Dash) شناخته میشود. او در مقاله اولیه و معرفی این الگوریتم گفت که قصد دارد بر مشکلات شبکه بیت کوین مثل مقیاسپذیری پایین، حریم خصوصی، نام مستعار و قابل استخراج بودن با ASIC غلبه کند.
این پروژه به دلیل توانایی ارائه ناشناس بودن و البته الگوریتم استخراج X11، مورد توجه جامعه ارزهای دیجیتال قرار گرفت. این مسئله به دلیل این بود که ساختار این الگوریتم بسیار جدید بود و نوآوری جالبی داشت. به همین دلیل، افراد بسیاری در جامعه ارزهای دیجیتال به دنبال بررسی امکانات این الگوریتم هستند. در نتیجه، یک پیشرفت کاملاً جدید به وجود آمد؛ از جمله الگوریتمهایی مانند X13 وX17 الگوریتمهایی هستند که از همین روش پیروی میکنند، اما با استفاده از توابع هش بیشتر کار خود را انجام میدهند.
الگوریتم X11 چگونه کار میکند؟
برای اینکه بفهمیم الگوریتم X11 چگونه کار میکند ابتدا باید ببینیم این الگوریتم از چه توابع هشی استفاده میکند. نام این ۱۱ تابع در زیر آمده است:
- BLAKE
- BLUE MIDNIGHT WISH (BMW)
- Grostl
- JH
- Keccak
- Skein
- Luffa
- CubeHash
- SHAvite-3
- SIMD
- ECHO
این الگوریتمها به همین ترتیب که نام برده شدهاند در X11 استفاده میشوند و هدف آنها این است که یک آی دی بلاک (Block ID) یا هش بلاک (Block Hash) برای یک ماینر ایجاد کنند.
ابتدا با استفاده از تابع BLAKE یک هش با توجه به میزان سختی استخراج ایجاد میشود. بعد از تولید این هش و سنگینتر شدن فرآیند اثبات کار (Proof of Work)، بقیه توابع هش روی این مقدار هش جدید اعمال میشود تا مقدار آن تغییر کند. بنابراین هر بار که تابع هش جدید به کار گرفته میشود، یک مقدار هش متفاوت تولید میشود و این چرخه تا انتها ادامه پیدا میکند.
نکته جالب در مورد این توابع هش این است که آنها با بالاترین سطح ممکن از امنیت ایجاد شدهاند. تمام این توابع توسط NIST (انستیتوی ملی استاندارد و فناوری ایالات متحده) از نظر امنیتی مورد تأیید قرار گرفته است.
مزایا و معایب الگوریتم X11
مزایا
- سطح بالاتر امنیت نسبت به توابع هش SHA-256 یا Scrypt. امنیت بالاتر به خاطر استفاده از چند تابع هش به جای یک تابع است. این خصوصیت باعث میشود که بلاکهایی ایجاد شود که ایمنتر هستند و امکان تکثیر یا مهندسی معکوس آنها بسیار دشوارتر است.
- برنامهنویسی ساده. برنامهنویسی X11 به اندازه ایجاد یک تابع هش جدید پیچیده نیست. در عوض، از تابعهای امن موجود برای ایجاد یک سیستم ایمنتر استفاده میشود.
- این الگوریتم از نظر مصرف انرژی و قدرت محاسبه بهتر عمل میکند. تابع اولیه BLAKE در مقایسه با SHA-256 خیلی سریع است و از نظر محاسباتی نیز ارزانتر است و در نتیجه همین مصرف محاسباتی و الکترونیکی کم در سایر توابع هش هم حفظ میشود.
- امکان پیکربندی مجدد تابعهای هش به جای ۱۱ تابع هش اولیه. شما حتی میتوانید توابع هش دیگری به این توابع اضافه کنید مثل الگوریتم X13 یا الگوریتم X17.
- این الگوریتم کارایی خوبی در استخراج با CPU و GPU دارد و پیشنهاد خوبی برای افرادی است که از این دستگاهها برای استخراج استفاده میکنند.
معایب
- اگرچه الگوریتم X11 در ابتدا یک الگوریتم استخراج مقاوم در برابر ایسیک (ASIC) بود، اما در حال حاضر چندین استخراج کننده ASIC در بازار وجود دارد که میتوانند قدرت استخراج بالایی را برای X11 ارائه دهند.
- با توجه به تعداد زیاد توابع هش که در الگوریتم وجود دارد، اصلاح و تغییر آن برای برنامهنویسان پیچیده است.
آسیب پذیری الگوریتم X11
الگوریتم X11 علیرغم استفاده از توابع مختلف هش در ساختار خود، قربانی برخی از مسائل امنیتی شده است. در سال ۲۰۱۴، یک مشکل امنیتی کوچک در سیستم Dash اتفاق افتاد. جامعه Dash به سرعت این مشکل را برطرف کرد و توانست آن را مدیریت کند. این مسئله توانایی جامعه Dash را نشان میدهد.
یک مشکل احتمالی دیگر این است که یکی از توابع هش که X11 را تشکیل میدهند، ایمن نباشند. اما این مسئله نیز به خاطر اینکه هش از توابع مختلف عبور میکند، تأثیر منفی ندارد.
بلاکچینهایی که از الگوریتم X11 استفاده میکنند
از میان بلاکچینهایی که از X11 به عنوان الگوریتم استخراج استفاده میکنند، میتوان به بلاکچین ارز دیجیتال Dash اشاره کرد. البته در حال حاضر، Dash با استفاده از یک سیستم استخراج ترکیبی، الگوریتمهای اثبات کار (X11) و اثبات سهام (Masternodes) را به هم پیوند میدهد.