الگوریتم Random X چیست؟ آشنایی کامل با الگوریتم استخراج جدید مونرو
فهرست مطالب
مقدمه
رندوم ایکس (Random X) نام الگوریتم استخراج جدید ارز دیجیتال حریم خصوصی محور مونرو (XMR) است که با هدف محافظت از شبکه در برابر استخراج ایسیک (ASIC) طراحی شده و تنها اجازه استخراج با استفاده از واحد پردازش مرکزی (CPU) را میدهد. این الگوریتم در عین حال امنیت زیادی را برای پروتکل و بلاکچین مونرو فراهم میکند. در این مقاله قصد داریم به معرفی و بررسی الگوریتم Random X و چرایی طراحی و توسعه آن بپردازیم. تا انتها با ما همراه باشید.
رندوم ایکس چیست؟
الگوریتم استخراج Random X یک الگوریتم گواه اثبات کار (PoW) جدید است که برای جایگزینی با الگوریتم کریپتونایت (CryptoNight) مورد استفاده توسط رمزارز مونرو (Monero) طراحی شده است.
مانند کریپتونایت، رندوم ایکس نیز با هدف افزایش امنیت شبکه مونرو طراحی شده و در حال حاضر، به عنوان الگوریتم پیشفرض این شبکه شناخته میشود. الگوریتم رندوم ایکس سطح بالایی از رمزنگاری را ارائه میدهد و بر سیستمهای حریم خصوصی محور متمرکز است.
اما مهمترین ویژگی رندوم ایکس، ضد ایسیک (ASIC) بودن آن است. الگوریتم کریپتونایت این قابلیت را مدتی پیش از دست داده بود و حتی با چندین بهروزرسانی، این مشکل حل نشده بود. بنابراین، تیم مونرو تصمیم گرفت الگوریتم جدیدی ایجاد نماید؛ الگوریتمی که بهترین قابلیتهای کریپتونایت را به ارث برده و یک پایگاه استخراج جدید را برای مونرو ایجاد کند.
به این ترتیب، الگوریتم Random X با مقاومت بسیار امیدوارکننده در برابر ایسیک طراحی شد. این الگوریتم علاوه بر بهبود ظرفیت استخراج برای واحد پردازش مرکزی، ارز دیجیتال مونرو را به سمت استخراج غیرمتمرکزتر نیز سوق داده است.
اما قابلیتهای رندوم ایکس به همینها محدود نمیشود. رندوم ایکس یک الگوریتم اثباتشده و حسابرسیشده است که پتانسیل قابلتوجهی برای رشد دارد.
تاریخچه طراحی الگوریتم Random X
همانطور که گفته شد، رندوم ایکس به دلیل نیاز پروژه مونرو به یک الگوریتم استخراج جدید که توانایی مقاومت در برابر پیشرفت ایسیکها را دارد، متولد شد.
در سال ۲۰۱۸ میلادی، شرکتهای بایکال (Baikal) و بیتمین (Bitmain) با معرفی اولین ایسیکها برای کریپتونایت، توانستند مقاومت چندین ساله این الگوریتم را بشکنند. از آنجایی که کریپتونایت یک الگوریتم کاملاً پیچیده بود، این موضوع موفقیت بزرگی برای این دو شرکت محسوب میشد.
با این حال، دستاورد شرکتهای بایکال و بیتمین به مذاق جامعه مونرو و سایر جوامع بلاکچینی که از الگوریتم کریپتونایت استفاده میکردند، خوش نیامد. مهمتر از همه، مونرو ارز دیجیتالی است که ماینرهای ایسیک استقبال چندانی از آن نمیکنند.
تولید انحصاری ایزیکها و دسترسی نهادهایی با سرمایه بالا به آنها، بهرهمندی افراد عادی از روند استخراج را کاهش میدهد و این موضوع باعث میشود که همه چیز تنها در دست چند فرد و نهاد متمرکز گردد. موضوعی که به نوبه خود، نشاندهنده شکست یک ارز دیجیتال است.
استخراج ارز دیجیتال مونرو به طور کلی توسط واحد پردازش مرکزی و پردازنده گرافیکی انجام میشود. بنابراین، ایسیکها به دلیل احتمال حمله ۵۱ درصدی خطر جدی برای تمرکز و امنیت شبکه دارند.
برای حل این مشکل، تیم مونرو توسعه انواع جدید الگوریتم کریپتونایت را آغاز کرد. دامنه برخی از بهروزرسانیها خوب بود، اما مشکل ایسیکها همچنان وجود داشت. در این مرحله، توسعهدهندگان مونرو متوجه شدند که کریپتونایت دیگر کافی نیست و به الگوریتم جدیدی نیاز است.
نتیجه این تلاشها، ایجاد مونرو کلاسیک (XMC) بود؛ ارز دیجیتالی که برای ماینرهای خواستار الگوریتم استخراج مبتنی بر ایسیک طراحی شد. با این حال، این رمزارز چندان مورد استقبال قرار نگرفت.
به همین دلیل، در ۳۱ اکتبر سال ۲۰۱۸، توسعه الگوریتم رندوم ایکس آغاز شد.
الگوریتم رندوم ایکس توسط چند توسعهدهنده شبکه مونرو به نامهای Tevador، Hyc، Vielmetti، Antanst و Schernykh طراحی و در تاریخ ۳۰ نوامبر سال ۲۰۱۹ طی یک هارد فورک با موفقیت در شبکه مونرو فعال شد.
الگوریتم رندوم ایکس چگونه کار میکند؟
همانطور که از نام رندوم ایکس پیدا است، تصادفی بودن اصل اساسی این الگوریتم است. به این معنا که، رندوم ایکس برای ایجاد یک Work zone یا یک ناحیه ذخیرهسازی موقت برای محاسبات و دادههای Scratchpad کاملاً تصادفی، با مصرف حافظه بالا طراحی شده است و از فناوریهای پیشرفته مجازیسازی برای عملیات خود استفاده میکند. این سه رکن باعث میشود که رندوم ایکس در برابر ایسیکها مقاومت بالایی را از خود نشان دهد.
در واقع، رندوم ایکس نه تنها در برابر ایسیک مقاوم است، بلکه در برابر پردازندههای گرافیکی نیز مقاوم است؛ چون این تراشهها فاقد دستورالعملهای لازم برای انجام عملیات پیچیده رندوم ایکس هستند. در نتیجه، رندوم ایکس به دنبال این است که فقط یک الگوریتم استخراج مبتنی بر واحد پردازش مرکزی باشد و به این ترتیب، بالاترین مقاومت ممکن را در برابر سایر انواع استخراج از خود نشان دهد. از طرف دیگر، الگوریتم رندوم ایکس اجرای باتنتهای مونرو را نیز تقریباً غیرممکن میکند؛ به خصوص در دستگاههای کممصرف، مانند تلویزیونهای هوشمند یا دستگاههای اینترنت اشیا.
اما رندوم ایکس چگونه همه اینها را امکانپذیر میکند؟ خوب، بیایید این الگوریتم را کمی دقیقتر بررسی کنیم.
دو نوع استخراج، برای دو کاربرد متفاوت
اول اینکه، رندوم ایکس دو حالت استخراج دارد که هر یک از آنها، الزامات و عملکردهای بسیار متفاوتی دارند. حالت قدرتمند و خواستار منابع، حالت Quick Mode است که حداقل به ۲ گیگابایت حافظه نیاز دارد. اگر سیستم عامل از دسترسی به حافظه غیریکنواخت یا نوما (NUMA)، قابلیت صفحهبندی حافظه در بلاکهای بزرگ (Huge Pages)، پردازندههای با تعداد هسته بالا و حداقل ۲ گیگابایت حافظه رم (RAM) به ازای هسته پردازنده پشتیبانی کند، عملکرد نهایی رندوم ایکس به طور قابلتوجهی بهبود مییابد. به این دلیل که از تمامی این حافظه برای ایجاد منطقه کاری تصادفی رندوم ایکس استفاده میشود.
حالت دوم، حالت Lightweight Mode است که تنها به ۲۵۶ مگابایت حافظه رم نیاز دارد و برای استفاده در نودهای اعتبارسنجی مونرو طراحی شده است. کارایی استخراج در این حالت محدود و تا ۶ برابر کمتر از حالت Quick Mode است. بنابراین، سود حاصل از استخراج با استفاده از این حالت نسبتاً ناچیز خواهد بود.
در اینجا، ما اولین مانع را در برابر ایسیکها داریم. درست است که در حال حاضر ایسیکها میتوانند حافظه رم زیادی داشته باشند (مانند ایسیکهای اتریوم که معمولاً بین ۴ تا ۸ گیگابایت حافظه رم دارند)، اما این باعث گران شدن این رایانهها میشود.
دوم، با توجه به مصرف زیاد توان محاسباتی، اگر رایانهای به بدافزار کریپتوجکینگ (Cryptojacking) برای استخراج مونرو آلوده شده باشد، به راحتی توسط کاربر شناسایی میشود. این امر، احتمال موفقیت یک باتنت را بسیار کاهش میدهد.
الگوریتم رمزنگاری استفادهشده
اگر پروژه مونرو ما را به چیزی عادت داده باشد، آن استفاده از رمزنگاری پیشرفته است. الگوریتم Random X نیز از این قاعده مستثنی نیست، بلکه در انطباق کامل با آن است.
با این حال، تیم مونرو تنها به این بسنده نکرده و تصمیم گرفته است که امنیت رمزنگاری رسمی و حسابرسیهای پیادهسازی را نیز روی الگوریتم رندوم ایکس اجرا کند. در مجموع چهار حسابرسی توسط شرکتهای Trail of Bits ، X41 D-SEC ، Kudelski Security و Quarkslab انجام شده است که همه آنها توسط صندوق مدیریت فناوری متنباز (OSTIF) مدیریت میشوند (سازمانی با سابقه طولانی در امنیت سایبری و رمزنگاری). نتایج تمامی این حسابرسیهای انجامشده امیدوارکننده بوده است.
طرح اثبات کار الگوریتم Random X
طرح اثبات کار (PoW) الگوریتم Random X به شرح زیر است:
ابتدا یک کلید تولید میشود (کلید K) که به عنوان هش یک بلاک در بلاکچین عمل میکند. این بلاک، بلاک کلید (Key block) نام دارد. برای کارآیی استخراج و اعتبارسنجی بهینه، کلید K باید هر ۲،۰۴۸ بلاک یک بار (تقریباً ۲٫۸ روز) تغییر کند و ۶۴ بلاک (تقریباً ۲ ساعت) تأخیر بین بلاک کلید و تغییر کلید K وجود داشته باشد.
بنابراین، طرح اثبات کار رندوم ایکس در حالت کلی دو نکته مهم دارد:
- شما به یک کلید به نام K نیاز دارید که باید هر ۲،۰۴۸ بلاک یک بار تغییر کند. وجود این کلید برای رندوم ایکس حیاتی است؛ چون با استفاده از آن هشها و بلاکهای معتبری را برای شبکه ایجاد میکند.
- این کلید با استفاده از دادههای بلاکچین و در نهایت، یک سیستم امن تولید کلید ایجاد میشود.
از سوی دیگر، نیاز الگوریتم به شرایط اجرای خاص، اوضاع را کمی پیچیدهتر میکند. از جمله این شرایط میتوان به موارد زیر اشاره کرد:
- واحد پردازش مرکزی ۶۴ بیتی که به الگوریتم اجازه میدهد حجم زیادی از داده و حافظه را مدیریت کند.
- یک واحد ممیز شناور (FPU) سازگار با استاندارد IEEE 754. در صورتی که واحد ممیز شناور با این استاندارد سازگار نباشد، دادههای تولیدشده توسط الگوریتم قابل اعتبارسنجی نخواهند بود.
- پشتیبانی از رمزنگاری AES. اگر پشتیبانی توسط سخت افزاری با پسوندهایی مانند AES-NI صورت بگیرد، کارآیی الگوریتم بسیار بهتر خواهد شد.
- مقدار زیادی حافظه نهان برای هر thread از الگوریتم. حداقل ۱۶ کیلوبایت از حافظه نهان سطح L1 و ۲۵۶ کیلوبایت از حافظه نهان سطح L2 و ۲ مگابایت از حافظه نهان سطح L3.
- یک سیستم عامل که از مدیریت صفحات حافظه بزرگ پشتیبانی میکند. به یاد داشته باشید که رندوم ایکس از حداقل ۲ گیگابایت حافظه رم استفاده میکند و بسته به پیکربندی ممکن است این رقم افزایش یابد.
ماشین مجازی رندوم ایکس
قابلیتی که شاید بیشترین مقاومت را در برابر ایسیک دارد و در واقع، از ویژگیهای منحصربهفرد الگوریتم Random X به شمار میرود، ماشین مجازی آن است.
این امر به دلیل افزایش پیچیدگی اجرای راهحل ایسیک در سطوحی است که پیش از این دیده نشده است. در عین حال، اجرای واحد پردازش مرکزی ساده شده و میتواند با توجه به نیازهای آتی تنظیم شود.
این ماشین مجازی به لطف مجموعه دستورات محاسباتی پیچیده (CISC) سفارشی خود میتواند وظایف مختلفی را انجام دهد. این ویژگی امکان ارتباط بسیار آسان را با پردازندههایی که از مجموعه دستورالعملهای مشابه استفاده میکنند، فراهم میکند. در مقابل، تراشههای ایسیک از مجموعه دستورات محاسباتی سادهشده (RISC) استفاده میکنند. شبیهسازی مجموعه دستورات CISC از مجموعه دستورات RISC از لحاظ محاسباتی گرانتر است و مقاومت و پیچیدگی بالایی را در مقابل ایسیکها به الگوریتم رندوم ایکس میدهد.
پس از ایجاد این شرایط، ماشین مجازی دستورالعملهای شروع برنامههای استخراج را دریافت میکند. هر یک از این برنامهها با استفاده از دادههای تصادفی از فضای کاری ایجاد میشوند. در نتیجه، در نوع خود منحصربهفرد هستند.
این برنامه تمام فرآیندهای مجاز توسط ماشین مجازی را برای انجام استخراج اعمال میکند. به این معنا که، برنامه فقط میتواند دستورالعملهای مجاز توسط ماشین مجازی (۲۵۶ دستورالعمل و ۲۰ ثبت) را اجرا کند، نه چیزی بیشتر. در این مرحله، آنچه در ماشین مجازی رندوم ایکس اتفاق میافتد، به دلیل رمزنگاری کل این فرآیند، برای سایر رایانهها عملاً قابلمشاهده نیست.
روند ایجاد برنامههای تصادفی برای انجام استخراج، اثبات کار دینامیک (Dynamic Proof of Work) نامیده میشود و این طرحی است که رندوم ایکس دقیقاً در این مرحله استفاده میکند. این سیستم را میتوان به شرح زیر تعریف کرد:
- ابتدا برنامه تصادفی ایجاد میشود. این همان کاری است که ماشین مجازی هنگام شروع فضای کاری و تمام عناصر برنامه در چرخه کاری اول انجام میدهد.
- سپس، ماشین مجازی وظیفه دارد به عنوان مترجم بین واحد پردازش مرکزی و برنامههای تصادفی عمل کند. برنامههای تصادفی تنها میتوانند از دستورالعملهای ماشین مجازی استفاده کنند و ماشین مجازی این دستورالعملها را به یک زبان ماشین قابلفهم برای پردازنده ترجمه میکند. به این ترتیب، واحد پردازش مرکزی به عملکردها پاسخ میدهد و ماشین مجازی پاسخها را دریافت میکند. از آنجایی که دستورالعملها از رمزنگاری استفاده میکنند، بهینهسازی آنها بسیار گران است.
- سرانجام، برنامه اجرا میشود. در این مرحله، ماشین مجازی بدون از دست دادن ارتباط با برنامه تصادفی، اجازه دسترسی به واحد پردازش مرکزی و قابلیتهای آن را میدهد. این مرحله در شرایط بسیار خاص و ویژهای که از قبل در الگوریتم Random X برنامهریزی شده، رخ میدهد. در حقیقت، هر گونه تغییر منجر به دادههای نامعتبر میشود؛ چون این فرآیند کاملاً قابل تولید مجدد است.
بدون شک، ماشین مجازی رندوم ایکس پیچیدهترین و دشوارترین الگوریتم برای تکرار و کپی کردن است. بنابراین، بهترین الگوریتم مقاوم در برابر دستگاههای ایسیک به شمار میرود.
مزایا و معایب الگوریتم رندوم ایکس
مانند هر الگوریتم دیگری، رندوم ایکس نیز مزایا و معایب خاص خود را دارد. مزایای این الگوریتم عبارتند از؛
- یک هدف امنیتی واضح و شفاف دارد. استفاده از AES ،Blake2 و Argon2 این الگوریتم را بسیار ایمن میکند.
- از آنجایی که برای پردازندههای مرکزی طراحی شده و ساختار مقاومی در برابر ایسیک و کارت گرافیکی دارد، این الگوریتم میتواند از این سختافزار بهتر بهرهبرداری کند. در نتیجه، رندوم ایکس بازدهی بهتری برای ماینرهای پردازنده مرکزی ارائه میدهد تا به این ترتیب، درآمد بیشتری از استخراج مونرو به دست آورند.
- مقاومت این الگوریتم در برابر ایسیک باعث میشود که بلاکچینها با استفاده از Random X در سطح استخراج، غیرمتمرکز باشند.
- رندوم ایکس الگوریتمی است که به صورت کامل توسط چهار شرکت حسابرسی شده است.
از جمله معایب این الگوریتم میتوان به موارد زیر اشاره کرد:
- پیچیده است. استفاده از یک ماشین مجازی و تصادفی بودن فرآیند، این الگوریتم را برای توسعه و رفع اشکال بسیار پیچیده میکند.
- استفاده از ماشین مجازی، سیستم را در برابر حملات جانبی آسیبپذیر میکند. با این حال، به دلیل استفاده از رمزنگاری در فضای کاری، این امر بسیار بعید و تقریباً غیرممکن به نظر میرسد.
- دستگاههای دارای واحد پردازش مرکزی ۳۲ بیتی نمیتوانند به درستی از الگوریتم Random X استفاده کنند.
سخن پایانی
در این مقاله به معرفی و بررسی الگوریتم Random X و چرایی طراحی و توسعه آن پرداختیم. همانطور که گفته شد، تیم توسعهدهنده مونرو الگوریتم رندوم ایکس را برای مقابله با دستگاههای ایسیک و باتنتها طراحی کرده است. مهمترین نکته در مورد این الگوریتم این است که رندوم ایکس برای کار با پردازنده مرکزی بهینهسازی شده است. اگرچه استخراج مونرو با کارتهای گرافیکی همچنان امکانپذیر است، اما دیگر صرفه و کارآیی لازم را نخواهد داشت.
دیدگاه خود را ثبت کنید