اگر نرمافزاری میسازید که یک باگ کوچک در آن میتواند فاجعهبار باشد، حالا میتوانید منطق WebAssembly خود را مانند یک قضیه ریاضی راستیآزمایی کنید. در ۱۸ ژوئن ۲۰۲۶، پروژه Talos چارچوبی را منتشر کرد که اجازه میدهد برنامههای Wasm اجرا شوند و همزمان رفتار آنها با ابزارهای اثباتی Lean 4 تأیید شود.
بسیاری از برنامهنویسان کدِ اجراکننده را از مستنداتِ رفتار (Specification) جدا میکنند؛ این موضوع باعث ایجاد یک «شکاف همگامسازی» میشود که در آن پیادهسازی واقعی از تعریف اولیه فاصله میگیرد. Talos با استفاده از تعاریف یکسان برای هر دو بخشِ اجرا و استدلال، این شکاف را از بین میبرد. به نقل از مخزن گیتهاب این پروژه، ارزیابی و اثبات از یک کدبیس واحد استفاده میکنند تا تضمین شود آنچه اثبات شده، دقیقاً همان چیزی است که اجرا میشود.
همانطور که در تحلیلهای پیشین ما دربارهی امنیت مدلهای بازمتن دیدیم، حذف لایههای واسطه در تأیید صحت کد، ریسکهای امنیتی را بهشدvih کاهش میدهد. این تمرکز بر بهینهسازی لایههای اجرا، یادآور تلاشهای اخیر در سختافزار است؛ برای مثال، معماریهای ترکیبی CPU-GPU نیز با هدف حذف گلوگاههای پردازشی در مدلهای MoE، بازدهی سیستم را به شکل بنیادین تغییر دادهاند. جزئیات فنی این سامانه شامل موارد زیر است:
- حساب دیوالتر (WP Calculus): اثباتها از روش پیششرط ضعیفترین برای استدلال معکوس از نتایج به پیششرطها استفاده میکنند.
- معماری لایهای: این پروژه شامل سه بسته مفسر (AST و معناشناسی)، کتابخانه کد (لمهای انتقال) و برنامهها (وظایف تأیید عینی) است.
- ابزارها: برای کار با این سیستم به زنجیره ابزار Lean 4 و
wasm-toolsبرای رمزگشایی باینریها نیاز است. - مکانیزم سوخت (Fuel Mechanism): برای جلوگیری از حلقههای بینهایت، یک سقف سوخت با مقدار پیشفرض ۱,۰۰۰,۰۰۰ گام تعریف شده است.
بر اساس مستندات پروژه، این تغییر رویکرد، اولویت را از «سرعت خام اجرا» به «شفافیت استدلال» تغییر میدهد. با تبدیل مفسر به یک شیء رسمی، Talos اجازه میدهد بدون نیاز به بازگشایی مفسر در هر مرحله، معادل بودن برنامهها یا صحت آنها را اثبات کنید. این یعنی تأیید رسمی از یک مرحله دشوار و جداگانه در انتهای پروژه، به بخشی از چرخه فعال توسعه تبدیل میشود.
گام بعدی شما
- سیستم را با نمونه کد فاکتوریل ارائه شده در پروژه آزمایش کنید.
- فایل
Interpreter/Wasm/Examples/Factorial.leanرا برای بررسی یک اثبات صحت کامل مطالعه کنید. - بررسی کنید که آیا بخشهای حساس به امنیت در پروژه شما میتواند به Wasm منتقل شود تا از این ابزار استفاده کنید.
اما تأثیر این رویکرد بر زبانهای برنامهنویسی سطح بالا حتی عمیقتر است؛ در گزارش بعدی ما، اثرات Lean 4 بر آینده کامپایلرها را بررسی خواهیم کرد.




گفتگو