
تتر در حال پیشبردن چارچوبی برای اتصال هوش مصنوعی به تجهیزات استخراج بیتکوین است؛ اما در نسخه مرجع این سامانه، عامل هوش مصنوعی پیش از اجرای فرمانهای تغییردهنده وضعیت دستگاه باید از یک انسان تأیید بگیرد. به این ترتیب، مسئله اصلی فقط توانایی هوش مصنوعی برای مدیریت ماینرها نیست، بلکه این است که چه کسی اجازه صدور یا تأیید فرمان را دارد و چه مسیرهایی برای دسترسی به تجهیزات فعال هستند.
تعهد ۱۵ شرکت برای توسعه MDK
تتر در ۲۴ اکتبر اعلام کرد ۱۵ فعال صنعت برای ساخت و نگهداری یکپارچهسازیهای مربوط به Mining Development Kit یا MDK تعهد دادهاند. این فهرست شرکتهای سازنده سختافزار، استخرهای استخراج و ارائهدهندگان نرمافزار را دربر میگیرد؛ از جمله بیتمین، میکروبیتی، کنان، بیتدیر، Foundry Digital و Luxor Technology. ACME Swisstech، Elektron Energy، EMCD، F2Pool، Heatbit، OCEAN، Proto، SpiderPool و Stratum V2 نیز در میان مشارکتکنندگان نام برده شدهاند.
MDK یک چارچوب متنباز برای ارتباط میان تجهیزات استخراج، استخرها و برنامههای کاربردی است. شرکتهای حاضر در این طرح قرار است Workerهایی بسازند و نگهداری کنند که رابط اختصاصی سختافزار یا سامانه خود را به زبان مشترک MDK تبدیل میکنند. در نتیجه، یک برنامه میتواند به جای طراحی اتصال جداگانه برای هر سازنده، از یک رابط مشترک استفاده کند.
با این حال، هر شرکت خودش تعیین میکند چه قابلیتهایی را در Worker در دسترس قرار دهد. بنابراین تعهد به یکپارچهسازی، بهتنهایی به معنای اعطای اختیار برای کنترل همه تجهیزات یا دسترسی به همه عملکردهای آنها نیست. تتر همچنین گفته است عامل استخراج QVAC این شرکت، نمونهای اولیه از اجرای MDK است؛ اما درباره ظرفیت ناوگان مشارکتکنندگان، سهم آنها از هشریت بیتکوین یا میزان صرفهجویی بهدستآمده، رقمی منتشر نشده است.
نسخه مرجع چگونه فرمان را متوقف میکند؟
در نمونه مرجع MDK نسخه ۰.۱۱، ابزار مربوط به اقدامات دستگاه بهعنوان یک عملیات نوشتنی تعریف شده است. این ابزار یک دستگاه مشخص را دریافت میکند و در نمونه ارائهشده دو کار انجام میدهد: راهاندازی مجدد دستگاه یا تغییر حالت مصرف برق. حالتهای برق شامل کم، عادی، زیاد و خواب است و برنامه پیش از ارسال فرمان بررسی میکند که دستگاه از حالت انتخابشده پشتیبانی میکند یا نه.
این قابلیتها فقط امکانات نمونه مرجع هستند و سقف توانایی هر برنامه یا Worker دیگری که با MDK ساخته شود محسوب نمیشوند. نکته مهم در روند اجرا این است که وقتی عامل با ابزاری روبهرو میشود که نیازمند تأیید است، یک رویداد «در انتظار تأیید» ایجاد میکند و پیش از فراخوانی ابزار متوقف میشود. اگر درخواست رد شود، فرمان اجرا نمیشود. افزونه Gateway نیز یک بازه پیشفرض دو دقیقهای برای تأیید دارد و در صورت بیپاسخ ماندن درخواست، نتیجه رد شدن خواهد بود.
اما نسخه ۰.۱۱ مشخص نمیکند چه فردی در یک سایت مجاز به تأیید است. هویت نشستها و درخواستهای تأیید به هویتی متصل میشود که آنها را ایجاد کرده است؛ و اگر هویت کاربر ارائه نشود، درخواستها با یک اپراتور محلی مشترک انجام میشوند. در چنین حالتی، سامانه میان افراد مختلفی که به همان اپراتور دسترسی دارند تمایز نمیگذارد.
در نتیجه، هر معدن باید کنترل هویت و سطح دسترسی خود را به بخش تأیید متصل کند. فردی که اجازه مشاهده دادههای تجهیزات را دارد، لزوماً نباید همان اختیاری را داشته باشد که برای تغییر حالت برق یا راهاندازی مجدد دستگاه لازم است. همچنین اجرای عامل روی زیرساخت محلی و انتخاب محل اجرای مدل هوش مصنوعی دو تصمیم جداگانهاند. اگر از یک ارائهدهنده میزبانیشده استفاده شود، درخواستها و نتایج ابزار میتوانند از سایت خارج شده و به میزبان آن ارائهدهنده برسند.
تفاوت نسخه نرمافزار و مسیر دسترسی
کنترل دسترسی فقط به پنجره تأیید عامل محدود نمیشود. در نقشه امنیتی نسخه ۰.۱۱، فرمانهای مستقیم از مسیر command.request بررسی مجوز در سطح Kernel ندارند؛ در مقابل، مسیر action.push که برای اقدامات تأییدشده استفاده میشود باید مجوز را از یک تماسگیرنده پشتیبان پذیرفتهشده بگیرد. این مجوز باید توسط Gateway، یعنی نقطه ورود برنامه، بر اساس یک کاربر احرازشده تعیین شود.
Kernel درخواستها را میان برنامهها و Workerها هماهنگ میکند. کلیدی که به یک فرایند پشتیبان اجازه ارتباط با Kernel میدهد، آن فرایند را بهعنوان یک تماسگیرنده مجاز میشناسد، اما لزوماً هویت انسانی را که فرمان را درخواست کرده است نشان نمیدهد.
در پیادهسازی Worker نسخه ۰.۱۱، رابط فرمان شبکهای درخواستها را بدون بررسی کلید تماسگیرنده ارسال میکند. نقشه امنیتی هشدار میدهد هر همتا که بتواند به Worker دسترسی شبکهای داشته باشد و کلید عمومی آن را هدف بگیرد، ممکن است مستقیماً فرمان ارسال کند. اینکه چنین مسیری در یک معدن مشخص باز باشد یا نه، به شبکه و نحوه نصب آن بستگی دارد.
کد شاخه اصلی در snapshot بررسیشده در ۲۴ اکتبر، یعنی commit با شناسه 35c144f240f0، نسبت به نسخه برچسبخورده تغییر کرده است. در آن نسخه، Workerها به کلیدهای تماسگیرنده پذیرفتهشده نیاز دارند؛ مگر اینکه گزینه allowAll بهطور صریح فعال شده باشد. با این حال، راهنمای امنیتی منتشرشده همچنان Workerها را بدون فهرست مجاز تماسگیرندگان توضیح میدهد. بنابراین اپراتور باید راهنما را با کدی که واقعاً مستقر کرده تطبیق دهد.
اختیار انتشار و تصویر فعلی بازار
تیم اصلی پروژه اختیار نهایی انتشارها را در اختیار دارد. سند حاکمیتی MDK، اختیار فنی نهایی درباره ادغام کد، معماری و برنامه انتشار را به Lead Maintainer و اختیار نهایی درباره مسیر راهبردی و نقشه راه را به Community Manager نسبت میدهد. مشارکت یک شرکت در یکپارچهسازی، به آن اختیار کنترل انتشارهای MDK نمیدهد؛ همانطور که اختیار ادغام کد نیز به معنای اجازه صدور فرمان در یک معدن نیست.
این موضوع باعث میشود انتخاب نسخه نرمافزار و بازبینی بهروزرسانیها بخشی از مسئولیت عملیاتی سایت باشد. سیاست امنیتی نسخه ۰.۱۱ میگوید رسیدگی به اصلاحات برای آخرین commit شاخه اصلی بهصورت best effort انجام میشود و نسخههای قدیمی یا برچسبخورده ممکن است اصلاحات بعدی را دریافت نکنند. همچنین پذیرش یک فرمان با اطمینان از اینکه دستگاه واقعاً به وضعیت خواستهشده رسیده، یکسان نیست.
بر اساس دادههای بازار Moneyiar در ساعت ۲۲:۳۹ روز ۲۵ اکتبر ۲۰۲۶، قیمت بیتکوین ۸۰٬۴۳۰٫۵۱ دلار بود؛ این رمزارز در ۲۴ ساعت ۰٫۰۸ درصد و در هفت روز ۱٫۳۲ درصد کاهش داشت. در همین زمان، NEX با قیمت ۰٫۰۰۰۰۰۰۶۱۵۱ دلار در ۲۴ ساعت ۱٫۶۱ درصد افزایش و در هفت روز ۱۳٫۹۷ درصد کاهش ثبت کرد. HUMA با قیمت ۰٫۰۲۳۲۶۰۰۹ دلار، ۵٫۰۳ درصد در ۲۴ ساعت و ۱۴٫۳۸ درصد در هفت روز افت داشت و REQ با قیمت ۰٫۰۵۱۱۰۲۰۷ دلار، ۰٫۹۳ درصد در ۲۴ ساعت و ۳٫۷۷ درصد در هفت روز پایین آمد.
گزارش اصلی این بررسی را CryptoSlate منتشر کرده است. در نهایت، میزان خودکاربودن عملیات استخراج به سه عامل وابسته میماند: چه کسی مجاز به تأیید فرمانهای نوشتنی است، کدام برنامهها میتوانند به تجهیزات برسند و سایت از کدام نسخه و تنظیمات MDK استفاده میکند.