الگوریتم Random X چیست؟ آشنایی کامل با الگوریتم استخراج جدید مونرو

الگوریتم Random X

رندوم ایکس (Random X) نام الگوریتم استخراج جدید ارز دیجیتال حریم خصوصی محور مونرو (XMR) است که با هدف محافظت از شبکه در برابر استخراج ایسیک (ASIC) طراحی شده و تنها اجازه استخراج با استفاده از واحد پردازش مرکزی (CPU) را می‌دهد. این الگوریتم در عین حال امنیت زیادی را برای پروتکل و بلاکچین مونرو فراهم می‌کند. در این مقاله قصد داریم به معرفی و بررسی الگوریتم Random X و چرایی طراحی و توسعه آن بپردازیم. تا انتها با ما همراه باشید.

رندوم ایکس چیست؟

الگوریتم استخراج Random X یک الگوریتم گواه اثبات کار (PoW) جدید است که برای جایگزینی با الگوریتم کریپتونایت (CryptoNight) مورد استفاده توسط رمزارز مونرو (Monero) طراحی شده است.

مانند کریپتونایت، رندوم ایکس نیز با هدف افزایش امنیت شبکه مونرو طراحی شده و در حال حاضر، به عنوان الگوریتم پیش‌فرض این شبکه شناخته می‌شود. الگوریتم رندوم ایکس سطح بالایی از رمزنگاری را ارائه می‌دهد و بر سیستم‌های حریم خصوصی محور متمرکز است.

الگوریتم Random x

اما مهم‌ترین ویژگی رندوم ایکس، ضد ایسیک (ASIC) بودن آن است. الگوریتم کریپتونایت این قابلیت را مدتی پیش از دست داده بود و حتی با چندین به‌روزرسانی، این مشکل حل نشده بود. بنابراین، تیم مونرو تصمیم گرفت الگوریتم جدیدی ایجاد نماید؛ الگوریتمی که بهترین قابلیت‌های کریپتونایت را به ارث برده و یک پایگاه استخراج جدید را برای مونرو ایجاد کند.

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

اما قابلیت‌های رندوم ایکس به همین‌ها محدود نمی‌شود. رندوم ایکس یک الگوریتم اثبات‌شده و حسابرسی‌شده است که پتانسیل قابل‌توجهی برای رشد دارد.

تاریخچه طراحی الگوریتم Random X

همان‌طور که گفته شد، رندوم ایکس به دلیل نیاز پروژه مونرو به یک الگوریتم استخراج جدید که توانایی مقاومت در برابر پیشرفت ای‌سیک‌ها را دارد، متولد شد.

در سال ۲۰۱۸ میلادی، شرکت‌های بایکال (Baikal) و بیت‌مین (Bitmain) با معرفی اولین ایسیک‌ها برای کریپتونایت، توانستند مقاومت چندین ساله این الگوریتم را بشکنند. از آنجایی که کریپتونایت یک الگوریتم کاملاً پیچیده بود، این موضوع موفقیت بزرگی برای این دو شرکت محسوب می‌شد.

الگوریتم Random x

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

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

استخراج ارز دیجیتال مونرو به طور کلی توسط واحد پردازش مرکزی و پردازنده گرافیکی انجام می‌شود. بنابراین، ایسیک‌ها به دلیل احتمال حمله ۵۱ درصدی خطر جدی برای تمرکز و امنیت شبکه دارند.

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

نتیجه این تلاش‌ها، ایجاد مونرو کلاسیک (XMC) بود؛ ارز دیجیتالی که برای ماینرهای خواستار الگوریتم استخراج مبتنی بر ایسیک طراحی شد. با این حال، این رمزارز چندان مورد استقبال قرار نگرفت.

به همین دلیل، در ۳۱ اکتبر سال ۲۰۱۸، توسعه الگوریتم رندوم ایکس آغاز شد.

به گفته توسعه‌دهندگان مونرو، الگوریتم جدید رندوم ایکس شامل یک تغییر اساسی در الگوریتم‌های استخراج است. در تاریخ ۵ می سال ۲۰۱۹، اولین نسخه رندوم ایکس منتشر شد.

الگوریتم رندوم ایکس توسط چند توسعه‌دهنده شبکه مونرو به نام‌های Tevador، Hyc، Vielmetti، Antanst و Schernykh طراحی و در تاریخ ۳۰ نوامبر سال ۲۰۱۹ طی یک هارد فورک با موفقیت در شبکه مونرو فعال شد.

الگوریتم رندوم ایکس چگونه کار می‌کند؟

همان‌طور که از نام رندوم ایکس پیدا است، تصادفی بودن اصل اساسی این الگوریتم است. به این معنا که، رندوم ایکس برای ایجاد یک Work zone یا یک ناحیه ذخیره‌سازی موقت برای محاسبات و داده‌های Scratchpad کاملاً تصادفی، با مصرف حافظه بالا طراحی شده است و از فناوری‌های پیشرفته مجازی‌سازی برای عملیات خود استفاده می‌کند. این سه رکن باعث می‌شود که رندوم ایکس در برابر ایسیک‌ها مقاومت بالایی را از خود نشان دهد.

رندوم ایکس

در واقع، رندوم ایکس نه تنها در برابر ایسیک مقاوم است، بلکه در برابر پردازنده‌های گرافیکی نیز مقاوم است؛ چون این تراشه‌ها فاقد دستورالعمل‌های لازم برای انجام عملیات پیچیده رندوم ایکس هستند. در نتیجه، رندوم ایکس به دنبال این است که فقط یک الگوریتم استخراج مبتنی بر واحد پردازش مرکزی باشد و به این ترتیب، بالاترین مقاومت ممکن را در برابر سایر انواع استخراج از خود نشان دهد. از طرف دیگر، الگوریتم رندوم ایکس اجرای بات‌نت‌های مونرو را نیز تقریباً غیرممکن می‌کند؛ به خصوص در دستگاه‌های کم‌مصرف، مانند تلویزیون‌های هوشمند یا دستگاه‌های اینترنت اشیا.

اما رندوم ایکس چگونه همه اینها را امکان‌پذیر می‌کند؟ خوب، بیایید این الگوریتم را کمی دقیق‌تر بررسی کنیم.

مطالعه درباره بیت کوین

دو نوع استخراج، برای دو کاربرد متفاوت

اول اینکه، رندوم ایکس دو حالت استخراج دارد که هر یک از آنها، الزامات و عملکردهای بسیار متفاوتی دارند. حالت قدرتمند و خواستار منابع، حالت Quick Mode است که حداقل به ۲ گیگابایت حافظه نیاز دارد. اگر سیستم عامل از دسترسی به حافظه غیریکنواخت یا نوما (NUMA)، قابلیت صفحه‌بندی حافظه در بلاک‌های بزرگ (Huge Pages)، پردازنده‌های با تعداد هسته بالا و حداقل ۲ گیگابایت حافظه رم (RAM) به ازای هسته پردازنده پشتیبانی کند، عملکرد نهایی رندوم ایکس به طور قابل‌توجهی بهبود می‌یابد. به این دلیل که از تمامی این حافظه برای ایجاد منطقه کاری تصادفی رندوم ایکس استفاده می‌شود.

حالت دوم، حالت Lightweight Mode است که تنها به ۲۵۶ مگابایت حافظه رم نیاز دارد و برای استفاده در نودهای اعتبارسنجی مونرو طراحی شده است. کارایی استخراج در این حالت محدود و تا ۶ برابر کمتر از حالت Quick Mode است. بنابراین، سود حاصل از استخراج با استفاده از این حالت نسبتاً ناچیز خواهد بود.

در اینجا، ما اولین مانع را در برابر ایسیک‌ها داریم. درست است که در حال حاضر ایسیک‌ها می‌توانند حافظه رم زیادی داشته باشند (مانند ای‌سیک‌های اتریوم که معمولاً بین ۴ تا ۸ گیگابایت حافظه رم دارند)، اما این باعث گران شدن این رایانه‌ها می‌شود.

دوم، با توجه به مصرف زیاد توان محاسباتی، اگر رایانه‌ای به بدافزار کریپتوجکینگ (Cryptojacking) برای استخراج مونرو آلوده شده باشد، به راحتی توسط کاربر شناسایی می‌شود. این امر، احتمال موفقیت یک بات‌نت را بسیار کاهش می‌دهد.

الگوریتم رمزنگاری استفاده‌شده

اگر پروژه مونرو ما را به چیزی عادت داده باشد، آن استفاده از رمزنگاری پیشرفته است. الگوریتم Random X نیز از این قاعده مستثنی نیست، بلکه در انطباق کامل با آن است.

تیم توسعه‌دهنده مونرو در الگوریتم رندوم ایکس از توابع هش Blake2b، مولد رمز عبور Argon2d و رمزنگاری متقارن AES استفاده کرده است. در نتیجه، کیفیت رمزنگاری این الگوریتم استثنایی است.

با این حال، تیم مونرو تنها به این بسنده نکرده و تصمیم گرفته است که امنیت رمزنگاری رسمی و حسابرسی‌های پیاده‌سازی را نیز روی الگوریتم رندوم ایکس اجرا کند. در مجموع چهار حسابرسی توسط شرکت‌های Trail of Bits ، X41 D-SEC ، Kudelski Security و Quarkslab انجام شده است که همه آنها توسط صندوق مدیریت فناوری متن‌باز (OSTIF) مدیریت می‎‌شوند (سازمانی با سابقه طولانی در امنیت سایبری و رمزنگاری). نتایج تمامی این حسابرسی‌های انجام‌شده امیدوارکننده بوده است.

طرح اثبات کار الگوریتم Random X

طرح اثبات کار (PoW) الگوریتم Random X به شرح زیر است:

ابتدا یک کلید تولید می‌شود (کلید K) که به عنوان هش یک بلاک در بلاکچین عمل می‌کند. این بلاک، بلاک کلید (Key block) نام دارد. برای کارآیی استخراج و اعتبارسنجی بهینه، کلید K باید هر ۲،۰۴۸ بلاک یک بار (تقریباً ۲٫۸ روز) تغییر کند و ۶۴ بلاک (تقریباً ۲ ساعت) تأخیر بین بلاک کلید و تغییر کلید K وجود داشته باشد.

رندوم ایکس

بنابراین، طرح اثبات کار رندوم ایکس در حالت کلی دو نکته مهم دارد:

  1. شما به یک کلید به نام K نیاز دارید که باید هر ۲،۰۴۸ بلاک یک بار تغییر کند. وجود این کلید برای رندوم ایکس حیاتی است؛ چون با استفاده از آن هش‌ها و بلاک‌های معتبری را برای شبکه ایجاد می‌کند.
  2. این کلید با استفاده از داده‌های بلاکچین و در نهایت، یک سیستم امن تولید کلید ایجاد می‌شود.

از سوی دیگر، نیاز الگوریتم به شرایط اجرای خاص، اوضاع را کمی پیچیده‌تر می‌کند. از جمله این شرایط می‌توان به موارد زیر اشاره کرد:

  1. واحد پردازش مرکزی ۶۴ بیتی که به الگوریتم اجازه می‌دهد حجم زیادی از داده و حافظه را مدیریت کند.
  2. یک واحد ممیز شناور (FPU) سازگار با استاندارد IEEE 754. در صورتی که واحد ممیز شناور با این استاندارد سازگار نباشد، داده‌های تولیدشده توسط الگوریتم قابل اعتبارسنجی نخواهند بود.
  3. پشتیبانی از رمزنگاری AES. اگر پشتیبانی توسط سخت افزاری با پسوندهایی مانند AES-NI صورت بگیرد، کارآیی الگوریتم بسیار بهتر خواهد شد.
  4. مقدار زیادی حافظه نهان برای هر thread از الگوریتم. حداقل ۱۶ کیلوبایت از حافظه نهان سطح L1 و ۲۵۶ کیلوبایت از حافظه نهان سطح L2 و ۲ مگابایت از حافظه نهان سطح L3.
  5. یک سیستم عامل که از مدیریت صفحات حافظه بزرگ پشتیبانی می‌کند. به یاد داشته باشید که رندوم ایکس از حداقل ۲ گیگابایت حافظه رم استفاده می‌کند و بسته به پیکربندی ممکن است این رقم افزایش یابد.

آخرین نوشته ها

تماس با ما

  •  کرج، شاهین ویلا، بلوار امام خمینی ، خیابان نهم شرقی ، برج شاهین ،طبقه اول واحد2
  •  91014618
  •   info@shopingserver.net

با تلفن ثابت بدون پیش شماره قابل شماره گیری هست و در صورتی که با تلفن همراه قصد تماس گرفتن دارید از پیش شماره استان خود را اول شماره وارد نمایید.

omid

omid

مطالب مرتبط