استخراج ارزهای دیجیتال را می توان توسط سخت افزارهای مختلفی انجام داد. سخت افزارهایی مثل کارت گرافیک (GPU)، دستگاه های ای سیک (ASIC)، پردازنده مرکزی (CPU)، دستگاه های FPGA و حتی در موارد معدودی هارددیسک ها.
در گذشته به دلیل پایین بودن نرخ هش و سختی شبکه امکان استخراج بسیاری از ارزها به استفاده از پردازنده مرکزی یا CPU نیز وجود داشت، اما بعدها با بالاتر رفتن سختی شبکه و نیاز آن ها به قدرت پردازشی بیشتر، این کارت های گرافیک و سپس ای سیک ها بودند که جای پردازنده های مرکزی را گرفتند.
امروزه این دستگاه های ای سیک هستند که دنیای استخراج به روش اثبات کار را تحت سیطره خود در آورده اند. ارزهایی مثل بیت کوین، دش، لایت کوین و بسیاری دیگر مدت هاست که تسلیم این موج جدید سخت افزارهای استخراج شده و معایب آن ها را به جان خریده اند؛ اما در این میان یک ارز همیشه بر حفظ ویژگی مقاومت در برابر ای سیک خود تأکید داشته است و آن ارز مونرو است.
توسعه دهندگان این ارز همیشه سعی کرده اند که با انجام بروزرسانی های دوره ای و معمولاً ۶ ماهه خود روی الگوریتم کریپتونایت (CryptoNight)، به مبارزه با ای سیک ها ادامه دهند و تا حد بسیار زیادی هم در این کار موفق بودند؛ اما این بروزرسانی های دوره ای دردسرهای خاص خودش را هم دارد و آن ها هم سرانجام تصمیم گرفتند که با ارائه الگوریتم جدید رندوم اکس، راند آخر این مبارزه را به سود خود پایان دهند.
رندوم اکس چیست؟
رندوم اکس یک الگوریتم گواه اثبات کار (PoW) جدید است که در به روز رسانی بعدی شبکه مونرو قرار است مورد استفاده قرار گیرد. این الگوریتم با استفاده از تکنیک هایی خاص، سعی در تمرکز زدایی از شبکه دارد. با استفاده از این الگوریتم، شبکه در توزیع پاداش های بلاک به طور غیر متمرکز تر و عادلانه تر عمل می کند.

در استخراج رندوم اکس چه چیزی تغییر خواهد کرد؟
رندوم اکس ضد ایسیک می باشد و برای استفاده سی پی یو ها (CPUs) بهینه شده است، بنابراین موجب افزایش نرخ هش (hashrate) نمی شود. انتظار می رود با استفاده از این الگوریتم مصرف حافظه به آسانی مورد توجه مدیران قرار بگیرد و در نتیجه، استخراج توسط بدافزار ها کاهش پیدا کند. کاهش کلی هش باعث افزایش نسبت پاداش بلاکی می شود که در اختیار ماینر های (miners) قانونی قرار می گیرد. تفاوتی ندارد که این ماینر ها از سی پی یو استفاده کنند یا از کارت گرافیک.
این الگوریتم دارای دو حالت با نیازمندی ها و اجرای حافظه متفاوتی می باشد. حالت سریع نیازمند ۲ گیگابایت حافظه اشتراکی است و حالت سبک تنها نیازمند ۲۵۶ مگابایت می باشد. حالت سریع مخصوص ماینر های تخصصی است و حالت سبک نیز برای نود های کامل (full nodes) طراحی شده است تا به اعتبار سنجی بلاک ها بپردازند.
الگوریتم رندوم ایکس چگونه کار می کند؟
همان طور که از نام رندوم ایکس پیدا است، تصادفی بودن اصل اساسی این الگوریتم است. به این معنا که، رندوم ایکس برای ایجاد یک 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 وجود داشته باشد.
بنابراین، طرح اثبات کار رندوم ایکس در حالت کلی دو نکته مهم دارد:
- شما به یک کلید به نام K نیاز دارید که باید هر ۲،۰۴۸ بلاک یک بار تغییر کند. وجود این کلید برای رندوم ایکس حیاتی است؛ چون با استفاده از آن هش ها و بلاک های معتبری را برای شبکه ایجاد می کند.
- این کلید با استفاده از داده های بلاکچین و در نهایت، یک سیستم امن تولید کلید ایجاد می شود.
از سوی دیگر، نیاز الگوریتم به شرایط اجرای خاص، اوضاع را کمی پیچیده تر می کند. از جمله این شرایط می توان به موارد زیر اشاره کرد:
- واحد پردازش مرکزی ۶۴ بیتی که به الگوریتم اجازه می دهد حجم زیادی از داده و حافظه را مدیریت کند.
- یک واحد ممیز شناور (FPU) سازگار با استاندارد IEEE 754. در صورتی که واحد ممیز شناور با این استاندارد سازگار نباشد، داده های تولیدشده توسط الگوریتم قابل اعتبارسنجی نخواهند بود.
- پشتیبانی از رمزنگاری AES. اگر پشتیبانی توسط سخت افزاری با پسوندهایی مانند AES-NI صورت بگیرد، کارآیی الگوریتم بسیار بهتر خواهد شد.
- مقدار زیادی حافظه نهان برای هر thread از الگوریتم. حداقل ۱۶ کیلوبایت از حافظه نهان سطح L1 و ۲۵۶ کیلوبایت از حافظه نهان سطح L2 و ۲ مگابایت از حافظه نهان سطح L3.
- یک سیستم عامل که از مدیریت صفحات حافظه بزرگ پشتیبانی می کند. به یاد داشته باشید که رندوم ایکس از حداقل ۲ گیگابایت حافظه رم استفاده می کند و بسته به پیکربندی ممکن است این رقم افزایش یابد.
ماشین مجازی رندوم ایکس
قابلیتی که شاید بیشترین مقاومت را در برابر ایسیک دارد و در واقع، از ویژگی های منحصربه فرد الگوریتم Random X به شمار می رود، ماشین مجازی آن است.
رندوم ایکس تمام کارهای رمزنگاری و استخراج خود را در یک ماشین مجازی ساده انجام می دهد که هدف آن، جدا کردن کل فرآیند استخراج به فرآیندهایی است که تحت دستورالعمل های خاص و معماری مجازی خود عمل می کنند.
این امر به دلیل افزایش پیچیدگی اجرای راه حل ایسیک در سطوحی است که پیش از این دیده نشده است. در عین حال، اجرای واحد پردازش مرکزی ساده شده و می تواند با توجه به نیازهای آتی تنظیم شود.
این ماشین مجازی به لطف مجموعه دستورات محاسباتی پیچیده (CISC) سفارشی خود می تواند وظایف مختلفی را انجام دهد. این ویژگی امکان ارتباط بسیار آسان را با پردازنده هایی که از مجموعه دستورالعمل های مشابه استفاده می کنند، فراهم می کند. در مقابل، تراشه های ایسیک از مجموعه دستورات محاسباتی ساده شده (RISC) استفاده می کنند. شبیه سازی مجموعه دستورات CISC از مجموعه دستورات RISC از لحاظ محاسباتی گران تر است و مقاومت و پیچیدگی بالایی را در مقابل ایسیک ها به الگوریتم رندوم ایکس می دهد.
هدف این ماشین مجازی، ایجاد محیط لازم برای انجام مکانیسم اثبات کار الگوریتم Random X است. برای دستیابی به این هدف، این ماشین مجازی یک فضای کاری تصادفی رمزنگاری شده و پر از بی نظمی (داده های تصادفی که بعداً برای اثبات کار استفاده می شوند) را ایجاد می کند.
پس از ایجاد این شرایط، ماشین مجازی دستورالعمل های شروع برنامه های استخراج را دریافت می کند. هر یک از این برنامه ها با استفاده از داده های تصادفی از فضای کاری ایجاد می شوند. در نتیجه، در نوع خود منحصربه فرد هستند.
این برنامه تمام فرآیندهای مجاز توسط ماشین مجازی را برای انجام استخراج اعمال می کند. به این معنا که، برنامه فقط می تواند دستورالعمل های مجاز توسط ماشین مجازی (۲۵۶ دستورالعمل و ۲۰ ثبت) را اجرا کند، نه چیزی بیشتر. در این مرحله، آنچه در ماشین مجازی رندوم ایکس اتفاق می افتد، به دلیل رمزنگاری کل این فرآیند، برای سایر رایانه ها عملاً قابل مشاهده نیست.
روند ایجاد برنامه های تصادفی برای انجام استخراج، اثبات کار دینامیک (Dynamic Proof of Work) نامیده می شود و این طرحی است که رندوم ایکس دقیقاً در این مرحله استفاده می کند. این سیستم را می توان به شرح زیر تعریف کرد:
- ابتدا برنامه تصادفی ایجاد می شود. این همان کاری است که ماشین مجازی هنگام شروع فضای کاری و تمام عناصر برنامه در چرخه کاری اول انجام می دهد.
- سپس، ماشین مجازی وظیفه دارد به عنوان مترجم بین واحد پردازش مرکزی و برنامه های تصادفی عمل کند. برنامه های تصادفی تنها می توانند از دستورالعمل های ماشین مجازی استفاده کنند و ماشین مجازی این دستورالعمل ها را به یک زبان ماشین قابل فهم برای پردازنده ترجمه می کند. به این ترتیب، واحد پردازش مرکزی به عملکردها پاسخ می دهد و ماشین مجازی پاسخ ها را دریافت می کند. از آنجایی که دستورالعمل ها از رمزنگاری استفاده می کنند، بهینه سازی آنها بسیار گران است.
- سرانجام، برنامه اجرا می شود. در این مرحله، ماشین مجازی بدون از دست دادن ارتباط با برنامه تصادفی، اجازه دسترسی به واحد پردازش مرکزی و قابلیت های آن را می دهد. این مرحله در شرایط بسیار خاص و ویژه ای که از قبل در الگوریتم Random X برنامه ریزی شده، رخ می دهد. در حقیقت، هر گونه تغییر منجر به داده های نامعتبر می شود؛ چون این فرآیند کاملاً قابل تولید مجدد است.
بدون شک، ماشین مجازی رندوم ایکس پیچیده ترین و دشوارترین الگوریتم برای تکرار و کپی کردن است. بنابراین، بهترین الگوریتم مقاوم در برابر دستگاه های ایسیک به شمار می رود.
مزایا و معایب الگوریتم رندوم ایکس
مانند هر الگوریتم دیگری، رندوم ایکس نیز مزایا و معایب خاص خود را دارد. مزایای این الگوریتم عبارتند از؛
- یک هدف امنیتی واضح و شفاف دارد. استفاده از AES ،Blake2 و Argon2 این الگوریتم را بسیار ایمن می کند.
- از آنجایی که برای پردازنده های مرکزی طراحی شده و ساختار مقاومی در برابر ایسیک و کارت گرافیکی دارد، این الگوریتم می تواند از این سخت افزار بهتر بهره برداری کند. در نتیجه، رندوم ایکس بازدهی بهتری برای ماینرهای پردازنده مرکزی ارائه می دهد تا به این ترتیب، درآمد بیشتری از استخراج مونرو به دست آورند.
- مقاومت این الگوریتم در برابر ای سیک باعث می شود که بلاکچین ها با استفاده از Random X در سطح استخراج، غیرمتمرکز باشند.
- رندوم ایکس الگوریتمی است که به صورت کامل توسط چهار شرکت حسابرسی شده است.
از جمله معایب این الگوریتم می توان به موارد زیر اشاره کرد:
- پیچیده است. استفاده از یک ماشین مجازی و تصادفی بودن فرآیند، این الگوریتم را برای توسعه و رفع اشکال بسیار پیچیده می کند.
- استفاده از ماشین مجازی، سیستم را در برابر حملات جانبی آسیب پذیر می کند. با این حال، به دلیل استفاده از رمزنگاری در فضای کاری، این امر بسیار بعید و تقریباً غیرممکن به نظر می رسد.
- دستگاه های دارای واحد پردازش مرکزی ۳۲ بیتی نمی توانند به درستی از الگوریتم Random X استفاده کنند.
استکینگ رمزارز چیست و چگونه کار می کند؟









































