یکی از دستاوردهای مهم اخیر شبکه سولانا راهاندازی نمونه اولیه کلاینت اعتبارسنجی فایردنسر (Firedancer) به نام Frankendancer روی مین نت است. سولانا در مواجهه با دو چالش مهم تصمیم به راهاندازی فایردنسر گرفته است؛ نخست اینکه، این شبکه با ادعای پردازش ۱ میلیون تراکنش در ثانیه خودش را به عنوان یکی از سریعترین بلاکچینها معرفی کرد؛ اما هنوز فاصله زیادی با این ادعا دارد. مسئله دوم این است که در سالهای گذشته، شبکه با از کار افتادن کلاینت موجود دچار قطعیهای مکرر شده است و همین موضوع اعتماد بسیاری از کاربران را کاهش داده است. اگر علاقهمند هستید که بدانید فایردنسر سولانا چیست و چطور این مشکلات را حل میکند با میهن بلاکچین همراه باشید.
فایردنسر سولانا چیست؟
فایردنسر دومین کلاینت اعتبارسنجی سولانا است که توسط شرکت جامپ تریدینگ (Jump Trading Group) توسعه پیدا کرده است. قبل از اینکه سراغ جزییات فایردنسر و نحوه کار آن برویم، لازم است به این نکته اشاره کنیم که کلاینت ولیدیتور، نرمافزارهای ویژهای است که توسط نودهای ولیدیتور در فرآیند اعتبارسنجی مورد استفاده قرار میگیرند. ایده اولیه راهاندازی کلاینت ولیدیتور فایردنسر به سال ۲۰۲۱ برمیگردد و قصد دارد از طریق حذف ریسک نقطه تکی شکست (Single Point Failure)، پایداری و مقاومت کلی شبکه سولانا را تقویت کند.
اولین کلاینت اعتبارسنجی سولانا با نام “Agave” توسط شرکت آنزا (Anza) و با استفاده از زبان برنامهنویسی Rust توسعه یافت. قبل از تکمیل و استقرار فایردنسر، کلاینت دیگری به نام فرنکدنسر (Frankendancer) که نسخه اولیه فایردنسر است روی میننت سولانا پیادهسازی شد. این نسخه ترکیبی از کدهای Firedancer و Agave بوده و مزیتهای هر دو را به ارث میبرد. در حقیقت، در تولید بلاک و پشته شبکه از کدهای فایردنسر استفاده میکند و برای عملکردهای اجرا و اجماع از کدهای Agaves بهره میبرد.
اکثر شبکهها دارای یک اعتبارسنج واحد هستند. طرح سولانا برای داشتن دو اعتباردهنده کاملا مستقل – یکی از یک تیم اسپینآف سولانا به نام آنزا و دیری از جامپ – باعث افزایش افزونگی و به طور بالقوه یک مزیت عملکردی نیز میشود.
تیم جامپ تریدینگ فایردنسر را با استفاده از زبان برنامهنویسی C توسعه داده است و هیچ کدی از Rust در آن وجود ندارد. این تصمیم، اثر آسیبپذیریهای احتمالی را بهطور چشمگیری کاهش میدهد و یک لایه دفاعی محکم اضافی را به امنیت شبکه سولانا اضافه میکند.
در زمان نگارش این مطلب، کلاینت Frankendancer اکنون در شبکه اصلی فعال است، در حالی که اعتبارسنجی Firedancer در شبکه آزمایشی فعالیت میکند.
گزارش تیم توسعهدهنده در مورد فایردنسر
در کنفرانس سولانا بریک پوینت (Solana Breakpoint) تیم توسعهدهنده فایر دنسر در یک دموی زنده اطلاعاتی را در مورد عملکرد این کلاینت ارائه کردهاند که بخشهایی از آن به شرح زیر است:
کوین باورز (Kevin Bowers) مدیرارشد علمی جامپ کریپتو:
کلاینت اعتبارسنجی فایردنسر روی افزایش تعداد تراکنشهای سولانا به ۱ میلیون تراکنش در ثانیه (TPS) تمرکز دارد. این رقم بسیار بالاتر از تعداد تراکنشهای فعلی است که به دهها هزار تراکنش در ثانیه میرسد. به نظر من، این دستاورد شبیه به تعریض یک «جاده محلی» به یک «بزرگراه بین استانی» است که همزمان هزینه و ظرفیت شبکه را بهینهسازی میکند.
لیام هیگر (Liam Heeger) یکی از مهندسان جامپ کریپتو:
کلاینت فایردنسر بیش از ۲۰٬۰۰۰ بلاک را با موفقیت تولید کرده است و نرخ استیکینگ آن در تستنت به ۱٪ رسیده است.
آریامان جین (Aryaman Jain) یکی دیگر از توسعهدهندگان فایردنسر
سرعت پردازش این کلاینت در محیطی با ۱۰ اعتبارسنج به میلیونها تراکنش در ثانیه رسیده است و بیش از ۱.۲ میلیارد واحد محاسباتی در هر ثانیه پردازش شده است. همچنین ظرفیت فضای بلاک معادل ۳.۵ گیگابیت بر ثانیه (Gbps) و راندمان اجرای ماشین مجازی ۵۰۰٬۰۰۰ تراکنش بر ثانیه بوده است.
کلاینت اعتبارسنجی فایردنسر سولانا چطور کار میکند؟
ساختار و نحوه عملکرد کلاینت فایردنسر بر پایه سه بخش اصلی ساخته شده است:
- پشته شبکه و پشته محاسباتی با عملکرد بالا
- زمان اجرا
- مکانیزم اجماع
سرعت پردازش شبکه سولانا در حال حاضر به دلیل محدودیتهای موجود، تقریبا ۸۱٬۰۰۰ تراکنش در ثانیه است؛ اما قصد دارد با استفاده از معماری نوآورانه فایردنسر و بهینهسازی جریان داده، سرعت شبکه را به ۱ میلیون تراکنش در ثانیه برساند.
این کلاینت از یک مدل همزمانی (Concurrent Model) استفاده میکند که در آن وظایف مختلف توسط تعداد کمی از رشتههای پردازشی انجام میشود. هر کدام از این رشتهها یک وظیفه خاص مانند پردازش بستههای تراکنش شبکه، اعتبارسنجی تراکنشها، بستهبندی بلاکها و سایر موارد را برعهده دارند. این ساختار منجر به استفاده بهینه از منابع میشود و سرعت پردازش تراکنشها را بهطور قابلتوجهی افزایش میدهد.
اگر به معماری فایردنسر دقیقتر نگاه کنیم، ۱۱ وظیفه مختلف تعریف شده است. تکمیل برخی کارها فقط به یک رشته پردازشی نیاز دارد و برخی دیگر باید بهصورت موازی توسط چندین رشته انجام شوند. بهعلاوه هر رشته برای اجرا، هسته پردازشی مخصوص به خودش را دارد و آن را بهطور کامل کنترل میکند. به همین دلیل، هسته پردازش هرگز متوقف نمیشود و رشته پردازشی اجازه نمیدهد که سیستم عامل از این هسته برای مقاصد دیگر استفاده کند.
فایردنسر معماری دیگری به نام “Tiles” را نیز معرفی میکند. هر تایل نمایانگر یک وظیفه خاص، رشته مربوطه و هسته پردازشی اختصاصی همان رشته است. این ترکیب باعث میشود فرآیند بهینهسازی عملکرد شبکه به شکلی انعطافپذیرتر و کارآمدتر انجام شود. بهطور مثال، هر تایل از net و quic میتوانند بیش از ۱ میلیون تراکنش در ثانیه را مدیریت کند؛ درحالیکه تایلهای verify و bank روی تایید تراکنشها و اجرای بلاکها تمرکز دارند. اگرچه سرعت پردازش این بخشها نسبتا کمتر است؛ اما توانایی آنها برای مدیریت تعداد زیادی از تراکنشها بهطور همزمان کافی و موثر است.
در اسناد فایردنسر، ۱۱ نوع تایل معرفی شدهاند که هر یک وظایف خاصی را بر عهده دارند:
- Net: بستههای شبکه را از دستگاههای شبکه ارسال و دریافت میکند. (هر تایل net میتواند بیش از ۱ میلیون تراکنش را مدیریت کند.)
- Quic: تراکنشها را از کلاینتها دریافت میکند و برای اجرای پروتکل QUIC اتصالها را مدیریت و بستهها را پردازش میکند. (هر تایل quic میتواند بیش از ۱ میلیون تراکنش در ثانیه را مدیریت کند.)
- Verify: امضاهای رمزنگاریشده تراکنشهای ورودی را بررسی میکند و تراکنشهای نامعتبر را فیلتر میکند. (هر تایل verify میتواند ۲۰۰٬۰۰۰ الی ۴۰۰٬۰۰۰ تراکنش در ثانیه را مدیریت کند.)
- Dedup: تراکنشهای تکراری ورودی را بررسی و فیلتر میکند.
- Pack: زمانی که به عنوان رهبر انتخاب شود، تراکنشهای ورودی را ابتدا بستهبندی و سپس به شکل هوشمندانهای برای اجرا زمانبندی میکند.
- Bank: تراکنشهای زمانبندیشده را اجرا میکند. (هر تایل bank میتواند ۲۰۰٬۰۰۰ الی ۴۰۰٬۰۰۰ تراکنش در ثانیه را مدیریت کند.)
- Poh: بهطور مداوم عملیات هشینگ (Hashing) را در پسزمینه انجام میدهد و مقادیر هش تولیدشده را با تراکنشهای اجراشده ترکیب میکند تا توالی و زمانبندی تراکنشها اثبات شود.
- Shred: زمانی که بهعنوان رهبر انتخاب شود، دادههای بلاک را به شبکه توزیع میکند و زمانی که رهبر نباشد، دادههای بلاک را دریافت و دوباره ارسال میکند. (عملکرد این تایل به اندازه خوشه (Cluster) بستگی دارد؛ اگر اندازه کلاستر کوچک باشد، هر تایل Shred میتواند بیش از ۱ میلیون تراکنش در ثانیه را مدیریت کند.)
- Store: زمانی که رهبر باشد، دادههای بلاک را دریافت و آنها را در دیسکهای محلی ذخیره میکند. زمانی هم که رهبر نیست، دادهها را از سایر نودها دریافت و ذخیره میکند.
- Metric: اطلاعات مانیتورینگ مربوط به سایر تایلها را جمعآوری میکند و آن را در اختیار یک نقطه پایانی HTTP قرار میدهد.
- Sign: کلید خصوصی ولیدیتور را نگهمیدارد و به درخواستهای امضا از سایر تایلها پاسخ میدهد.
مزایای فایردنسر چیست؟
راهاندازی فایردنسر اثرات مثبتی برای اکوسیستم سولانا دارد که نمونههایی از آن عبارتند از:
- راهاندازی فایردنسر باعث افزایش ولیدیتورها در شبکه سولانا میشود و به تقویت پایداری و کارآیی شبکه کمک میکند.
- این سیستم تاثیرات منفی ناشی از نقطه تکی شکست را کاهش میدهد و به این ترتیب ثبات شبکه را بیشتر میکند. بهعبارت دیگر در صورت توقف یک اعتبارسنج، شبکه میتواند به راحتی به کار خودش ادامه دهد.
- فایردنسر با تقویت پایداری شبکه باعث افزایش اعتماد به سولانا میشود.
- فایردنسر دارای قابلیت سازگاری معکوس با پروتکلهای موجود است، به این معنا که برای انتقال به این سیستم نیازی نیست که توسعهدهندگان و کاربران برنامههای غیرمتمرکز (dApp) تغییرات عمدهای را انجام دهند.
جمعبندی
فایردنسر (Firedancer) یک کلاینت ولیدیتور جدید است که برای رفع محدودیت سرعت تراکنشهای سولانا طراحی شده است. این کلاینت با استفاده از یک پایگاه کد کاملا جدید و بر مبنای زبان برنامهنویسی C توسعه یافته است. بهعلاوه، بهواسطه معماری ماژولار فایردنسر هر یک از بخشهای مختلف یا همان تایلها وظایف خاص خودشان را انجام میدهد و به همین دلیل امکان ارتقای شبکه بدون متوقف کردن کل سیستم وجود دارد. با توجه به اینکه فایردنسر بهطور مداوم در حال بهینهسازی است، انتظار میرود در آینده اثرات مثبت بیشتری روی شبکه بگذارد. نظر شما در مورد دستاورد جدید سولانا چیست؟ آیا فایردنسر میتواند مشکلات این شبکه را حل کند؟
سوالات متداول (FAQ)
فایر دنسر سولانا چیست؟
دومین کلاینت ولیدیتور سولانا است که با استفاده از زبان برنامهنویسی C راهاندازی شده است.
هدف از راهاندازی کلاینت ولیدیتور فایردنسر سولانا چیست؟
مهمترین هدف فایر دنسر بهبود عملکرد شبکه و افزایش سرعت پردازش به ۱ میلیون تراکنش در ثانیه است.
توسعهدهنده فایردنسر کیست؟
فایر دنسر توسط شرکت جامپ تریدینگ توسعه یافته است.