
طرح اثبات کار الگوریتم 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 استفاده کنند.
سخن پایانی
در این مقاله به معرفی و بررسی الگوریتم Random X و چرایی طراحی و توسعه آن پرداختیم. همانطور که گفته شد، تیم توسعهدهنده مونرو الگوریتم رندوم ایکس را برای مقابله با دستگاههای ایسیک و باتنتها طراحی کرده است. مهمترین نکته در مورد این الگوریتم این است که رندوم ایکس برای کار با پردازنده مرکزی بهینهسازی شده است. اگرچه استخراج مونرو با کارتهای گرافیکی همچنان امکانپذیر است، اما دیگر صرفه و کارآیی لازم را نخواهد داشت.
منبع انجمن بیتکوین