سولانا (Solana) به عنوان یک بلاک چین نسل جدید توجه افراد بسیاری را در سالهای اخیر به خود جلب کرده است. علت اصلی این موضوع قابلیت استثنایی سولانا در پردازش هزاران تراکنش در ثانیه آن هم با کمترین کارمزد ممکن است.
عنصر کلیدی فناوری پیشرفته سولانا، ماشین مجازی آن است؛ اما ماشین مجازی سولانا (SVM) چیست و چگونه بلاک چین سولانا را قادر میسازد تا عملکردهای پیشرفتهتری را در مقایسه با دیگر بلاکچینهای مطرح مثل اتریوم ارائه دهد؟ در این مقاله از ایران بروکر همراه ما باشید تا به جواب این پرسشها پی ببریم.
ماشین مجازی چیست؟
ماشین مجازی (VM) یک محیط نرمافزاری است که میتواند یک سیستم عامل را اجرا کرده و برنامههای کاربردی (اپلیکیشنها) را نصب و اجرا کند. به طور مرسوم، کاربران از ماشینهای مجازی به عنوان محیطهای ایزولهای استفاده میکنند که کاملاً از سیستم عامل اصلی کامپیوتر جدا هستند.
در حالی که ماشین های مجازی مرسوم به عنوان محیطهای ایزوله عمل میکنند، اما ماشین های مجازی بلاکچینی نقش لایه اجرایی را برای برنامههای غیرمتمرکز ایفا میکنند. این ماشین ها غیرمتمرکز هستند، به این معنی که گرههای (نودها) موجود در شبکه یک نسخه از ماشین مجازی را روی دستگاه خود اجرا کرده و تغییرات ایجاد شده در وضعیت بلاک چین را ثبت میکنند. آنها تغییرات ایجاد شده توسط سایر اعتبارسنجها (Validators) را برای دستیابی به اجماع رصد کرده و اطمینان حاصل میکنند که اطلاعات تراکنشها به درستی در شبکه ثبت شده است.
ماشین مجازی سولانا چیست؟
ماشین مجازی سولانا (SVM) محیطی برای اجرای قراردادهای هوشمند در بلاکچین سولانا است. این ماشین مجازی قادر به پردازش هزاران تراکنش در ثانیه (TPS) بوده و مقیاس پذیری شبکه را بهبود میبخشد.
اتریوم اولین بلاکچینی بود که ماشین مجازی خود را با نام EVM ایجاد کرد که به استانداردی در صنعت کریپتو تبدیل شده است. معماری EVM الهامبخش چندین بلاکچین مانند زنجیره هوشمند بایننس، آوالانچ و ترون بوده است که سیستمهایی را توسعه دادهاند که با EVM سازگار یا از آن مشتق شدهاند. ماشین مجازی سولانا به عنوان رقیبی جدی برای EVM ظاهر شده است.
نحوه عملکرد ماشین مجازی سولانا چگونه است؟
توسعه دهندگان می توانند از قابلیت پردازش موازی SVM برای بهبود عملکرد و مقیاس پذیری دپهای خود بهره ببرند.

کاربران بلاکچین همیشه به دنبال شبکه های بلاکچینی امنی هستند که به آنها اجازه میدهد تراکنشها را با بیشترین سرعت و کمترین هزینه ممکن انجام دهند. ماشین مجازی سولانا به منظور برآورده کردن نیازهای کاربران و توسعهدهندگان بلاکچین در زمینه سرعت پردازش تراکنشها ساخته شده است و هدف آن ایجاد تعادل بین غیرمتمرکزسازی، مقیاسپذیری و امنیت شبکه است.
هسته مرکزی ماشین مجازی سولانا، مدل پردازش موازی تراکنشهای (Parallel Transaction Processing) آن است. این مدل با مقدور ساختن بلاکچین سولانا برای پردازش همزمان چندین تراکنش (به جای پردازش متوالی)، میتواند توان عملیاتی بالاتری را فراهم کند و در عین حال مقیاسپذیری شبکه را افزایش دهد.
SVM از شبکهای از گرههای اعتبارسنج استفاده میکند که در سراسر جهان پخش شدهاند. هر گره به طور مستقل تراکنشها را پردازش کرده و قراردادهای هوشمند را اجرا میکند و در نتیجه باعث پایداری و مقیاس پذیری شبکه میشود.
توضیح تصویر: نحوه عملکرد ماشین مجازی سولانا به عنوان تیتر و سه مورد زیر به عنوان گزینه ها
- گرههای اعتبارسنج: این گرهها برای عملکرد SVM ضروری هستند، زیرا آنها مسئول حفظ اجماع، پردازش تراکنشها و اجرای قراردادهای هوشمند هستند. با استفاده از تعداد زیادی گره اعتبارسنج در شبکه، بلاکچین سولانا غیرمتمرکز و امن باقی میماند.
- اجرای قرارداد هوشمند: هنگامی که یک قرارداد هوشمند بر روی بلاک چین سولانا مستقر میشود، ابتدا توسط SVM به یک فرمت قابل خوانش توسط ماشین ترجمه میشود. این ترجمه بسیار مهم است زیرا تضمین میکند که قرارداد به طور دقیق و کارآمد در هر گرهای که آن را پردازش میکند، اجرا میشود.
- پردازش موازی تراکنشها به کمک مدل سیلِول (SeaLevel): سیلِول یکی از مهمترین اجزای ماشین مجازی سولانا است که به ماشین مجازی آن امکان میدهد تراکنشها را به صورت موازی پردازش و اجرا کند. برخلاف مدل پردازش متوالی، در مدل پردازش موازی تراکنشها توسط اعتبارسنجهای شبکه به طور همزمان پردازش میشوند. این امر به شبکه اجازه میدهد تا به توان عملیاتی بالاتر و مقیاسپذیری بیشتر دست پیدا کند.
مقایسه پردازش تراکنشها در EVM و SVM
یکی از چالشهای اجرای موازی تراکنشها این است که زمانی که دو تراکنش (که وضعیت شبکه را تغییر میدهند) همزمان اجرا میشوند، میتواند منجر به تداخل و خطا در محاسبه نهایی شبکه شود.
به عنوان مثال، یک کیف پول دارای موجودی ۰.۵ SOL است. دو تراکنش وجود دارد: یک تراکنش دریافت ۲ SOL در حساب و یک تراکنش انتقال ۱ SOL از حساب. اگر تراکنش ارسال (Send Transaction) قبل از تراکنش دریافت (Receive Transaction) پردازش شود خطا رخ میدهد، چون دیگر توکن کافی در کیف پول باقی نمانده که بتوانید ارسال کنید. حال بیایید ببینیم که سیلِول چگونه از این وضعیت جلوگیری میکند.
با استفاده از سیلِول، بلاکچین سولانا قادر است با استفاده از محیط اجرای چند رشتهای multiple-thread) execution environment )، حجم زیادی از تراکنشها را پردازش کند. قراردادهای هوشمند سولانا به گونهای طراحی شدهاند که تاثیرات آنها (روی بلاکچین) مشخص باشد؛ یعنی قراردادهای هوشمند مشخص میکنند که هر تراکنش کدام قسمت از وضعیت بلاکچین را تغییر دهند. این امر به ماشین مجازی اجازه میدهد تا تراکنشهای وابسته را از تراکنشهای مستقل (اصلی) تشخیص دهد. تراکنشهای مستقل میتوانند بدون تداخل اجرا شوند زیرا روی همان حساب (Account) تأثیر نمیگذارند. در آن سو، تراکنشهای وابسته که روی یک حساب یکسان تأثیر میگذارند، برای جلوگیری از تداخل به ترتیب پردازش میشوند.
مدل پردازش موازی تراکنشها به بلاکچین سولانا اجازه میدهد تا حداکثر استفاده را از منابع خود ببرد که منجر به پردازش سریعتر تراکنشها و کارمزدهای کمتر میشود. علاوه بر این، برای حل مشکل افزایش کارمزد گس (Gas) که در سایر ماشین های مجازی مانند EVM زیاد پیش میآید، بلاکچین سولانا از یک بازار کارمزد اختصاصی استفاده میکند.
بازار کارمزد محلی سولانا
برخلاف بازار کارمزد جهانی، بازار کارمزد محلی از تأثیر افزایش فعالیت در یک قرارداد هوشمند بر کارمزد کل شبکه جلوگیری میکند.
در بازارهای کارمزد جهانی، کل شبکه برای یک مرکز پردازش واحد رقابت میکند. اگر یک قرارداد هوشمند خیلی شلوغ شود (با تقاضای بالایی مواجه شود)، کل شبکه از این امر لطمه میبیند(کارمزد آنها بالا میرود). به همین خاطر هست که وقتی یک پروژه محبوب (مثل (NFT به شدت ترند میشود، کارمزد کل شبکه افزایش پیدا میکند.
برای جلوگیری از این امر، شبکه سولانا از یک بازار کارمزد محلی استفاده میکند. با این کار، هر قرارداد هوشمند در شبکه یک ساختار کارمزد جداگانه خواهد داشت. در صورت افزایش فعالیت قرارداد هوشمند (تقاضای بالا)، تراکنشهای مربوط به قرارداد هوشمند با افزایش کارمزد گس مواجه میشوند، در حالی که بقیه شبکه همچنان با نرخ کارمزد طبیعی به کار خود ادامه میدهند. در نتیجه، تاثیر شلوغی یک قرارداد هوشمند بر بقیه شبکه به پایینترین حد خود میرسد.
با این حال، در دورههای پیک تقاضا که همه دیاپها (dApps) در شبکه با فعالیت بالایی مواجه هستند، رقابت برای فضای بلاک باقیمانده افزایش مییابد و منجر به افزایش کارمزد Gas میشود.
مقایسه SVM و EVM
ماشین مجازی سولانا تراکنشها را به صورت موازی پردازش میکند، درحالی که ماشی مجازی اتریوم تراکنشهای شبکه را به صورت متوالی و به ترتیب پردازش میکند.

شبکه سولانا با بهرهگیری از ماشین مجازی خود (SVM) مسیر رشد و توسعه خود را در پیش گرفته است. با رشد اکوسیستم SVM، رقابت آن با EVM نیز رفته رفته افزایش خواهد یافت. SVM و EVM قادر به پردازش تراکنشهای قراردادهای هوشمند در شبکههای بلاکچینی هستند. مشابه EVM، کاربرد ماشین مجازی سولانا (SVM) نیز در شبکههای بلاکچینی دیگر به غیر از شبکه سولانا در حال گسترش است. در ادامه، به بررسی برخی تفاوتهای کلیدی آنها میپردازیم.
زبان برنامهنویسی: راست (Rust) در مقابل سالیدیتی (Solidity)
زبان برنامهنویسی سالیدیتی Solidity)) به طور اختصاصی برای EVM توسعه یافته است. این زبان برگرفته از زبان برنامهنویسی جاوا اسکریپت بوده و برای سهولت یادگیری توسعهدهندگان طراحی شده است. مشابه جاوا اسکریپت و بسیاری از زبانهای برنامهنویسی دیگر، سالیدیتی شیگرا است و از اشیاء (objects) و کلاسها classes)) برای تعریف متغیرها استفاده میکند. سالیدیتی به عنوان یک زبان برنامهنویسی برای قراردادهای هوشمند و EVM، با تمرکز بر امنیت طراحی شده است.
در مقابل، راست Rust)) یک زبان برنامهنویسی عمومی است که میتواند برای قراردادهای هوشمند و سایر کاربردها مورد استفاده قرار گیرد. اگرچه یادگیری زبان برنامهنویسی راست دشوارتر است، اما به دلیل سرعت بیشتر، بهرهوری مموری و عملکرد بهتر هنگام پردازش موازی، برای سولانا مناسبتر است.
مدل پردازش تراکنش: پردازش موازی در مقابل پردازش متوالی
SVM یک محیط پردازش تراکنش چند رشتهای multi-thread)) است. این مدل از منابع موجود در شبکه برای پردازش چندین تراکنش استفاده میکند. این تراکنشها به طور همزمان در هستههای اعتبارسنجی مختلف اجرا میشوند و گواهیهای تراکنش (transaction proofs) نیز تولید میشوند تا شبکه به یک وضعیت (State) یکسان برسد. همانطور که پیشتر ذکر شد، سولانا از طریق سیلِول از پیچیدگیهای پردازش موازی جلوگیری میکند.
در مقابل، ماشین مجازی اتریوم یا EVM تراکنشها را به صورت ترتیبی پردازش میکند. چندین تراکنش در صف قرار گرفته و یکی پس از دیگری پردازش میشوند. شبکه تراکنشها را با استفاده از یک هسته اعتبارسنجی در هر زمان تایید میکند. پردازش موازی توان عملیاتی بسیار بالاتری نسبت به مدل پردازش متوالی دارد. بر اساس دادهها، بلاکچین سولانا میتواند هزاران تراکنش در ثانیه پردازش کند که بالاتر از سرعت بلاکچین اتریوم و دیگر نمونههای EVM مانند شبکههای لایه ۲ و سایدچینهای اثبات سهام (POS) است.
کارایی: تراکنش در ثانیه (TPS) در مقابل کارمزد تراکنش
طبق اطلاعات مرورگرهای بلاکچین، شبکه سولانا سرعت تراکنش بیش از ۲۴۰۰ TPS و کارمزد تراکنش تا ۰.۰۰۱ دلار دارد. در مقابل شبکههای EVM مانند بیس نتورک Base Network)) سرعت تراکنش حدود ۴۷ TPS و کارمزد تراکنش حدود ۰.۰۳ دلاری دارند؛ بنابراین شبکه سولانا کارمزد کمتر و سرعت بسیار بیشتری را نشان میدهد. اگرچه این اعداد میتوانند تحت تأثیر شرایط شبکه تغییر کنند، اما بلاک چین سولانا میتواند به ظرفیت پردازش بیش از ۶۰ هزار TPS نیز دست یابد. گفتنی است، پس از اجرای طرح EIP-4844، کارمزد تراکنش ۰.۰۳ دلاری بیس نتورک نسبت به کارمزد تراکنش بلاکچین اصلی بهبود یافته است، اما همچنان به کارایی بلاکچین سولانا نمیرسد.
آینده ماشین مجازی سولانا
سولانا در سال ۲۰۲۰ قابلیت پردازش موازی خود را معرفی کرد.

سولانا علیرغم عمر کوتاه سه ساله خود، عملکرد چشمگیری از خود نشان داده و ساخت شبکههای لایه دو مانند نیترو (Nitro) و اکلیپس (Eclipse) بر روی ماشین مجازی آن، موفقیت فناوری نوآورانه آن را برجسته میکند. سولانا توانسته از چالشهای شبکههای قدیمیتری چون بیت کوین و اتریوم درس بگیرد. بیت کوین برای قراردادهای هوشمند طراحی نشده بود؛ امری که منجر به ظهور اتریوم شد. به همین ترتیب، اتریوم برای پذیرش گسترده و تراکنشهای پرسرعت آماده نبود و راه را برای سولانا و پردازش موازی هموار کرد.
علاوه بر این، دسترسی به محیط SVM برای توسعهدهندگان در حال آسانتر شدن است و به مرور توسعهدهندگان میتوانند با استفاده از زبانهای برنامهنویسی دیگر مانند موو Move) )، برنامههای غیرمتمرکز (Dapps) سازگار با ماشین مجازی سولانا بسازند.
بدیهی است که ماشین مجازی سولانا محیط پیشرفتهتری برای ساخت اپلیکیشنهای نسل جدید ارائه میدهد. مدل پردازش موازی تراکنشها، توان عملیاتی بالاتری را امکانپذیر میکند که به توسعهدهندگان اجازه میدهد هر نوع برنامه و پروتکلی را بدون نگرانی در مورد محدودیت سرعت یا کارمزد بسازند. ساخت برنامه بر روی بلاکچینی با ظرفیت ۱۵ TPS (یعنی بیت کوین)، رمزارزها را به سمت پذیرش انبوه سوق نخواهد داد. به لطف SVM و سی لول، سولانا میتواند هزاران تراکنش را با کمترین کارمزد و بیشترین سرعت پردازش کند؛ امری که آن را به محیطی ایدهآل برای ساخت برنامههای غیرمتمرکز جدید تبدیل میکند.
با بهبود سختافزار اعتبارسنجها، مدل Sealevel قادر خواهد بود تراکنشهای بیشتری را به صورت موازی پردازش کند و فاصله بین SVM و EVM را افزایش دهد و در عین حال کاربران بیشتری را جذب اکوسیستم سولانا کند.
بی تردید، تیمهای توسعهدهنده از توسعه ماشین مجازی سولانا (SVM) حمایت خواهند کرد و قابلیت چند امضایی (مولتیسیگ) را نیز به اکوسیستم سولانا خواهند آورد که امنیت این شبکه را بیش از پیش افزایش میدهد؛ بنابراین، آینده برای سولانا بسیار روشن است.
جمع بندی
SVM یک محیط اجرای قرارداد هوشمند در بلاک چین سولانا است که بر کارایی پردازش تراکنش و اجرای قراردادهای هوشمند تأکید دارد. این ماشین مجازی از مدل پردازش موازی تراکنشها و زبان برنامه نویسی راست استفاده میکند تا ظرفیت تراکنش بالاتر و مقیاسپذیری بیشتری را برای بلاکچین سولانا فراهم کند. SVM با چالشهای خاصی مانند دشواری یادگیری زبان برنامهنویسی Rust و باگهایی در مدل پردازش موازی مواجه است، با این حال، ادغام SVM با فناوریهای نوظهور هوش مصنوعی نوید بهبود و افزایش پذیرش آن در آینده را میدهد.
سوالات متداول
ماشین مجازی سولانا چه تفاوتی با سایر ماشینهای مجازی دارد؟
ماشین مجازی سولانا به دلیل سرعت و کارایی خود متمایز است. این ماشین مجازی با هدف پردازش تراکنشهای بسیار بیشتر و اجرای قراردادهای هوشمند با سرعت بسیار بالا طراحی شده است. این به سولانا اجازه میدهد تا توان عملیاتی بالا و تأخیر کمی داشته باشد و برای ساخت برنامههایی که نیاز به عملکرد بالا دارند ایدئال باشد.
SVM از کدام زبانهای برنامه نویسی پشتیبانی میکند؟
ماشین مجازی سولانا از زبان برنامه نویسی Rust پشتیبانی میکند. توسعهدهندگان میتوانند از Rust برای ساخت قراردادهای هوشمند قدرتمند و امن استفاده کنند. ضمن اینکه قرار است به زودی زبان برنامهنویسی Move نیز به این سیستم اضافه شود.
ماشین مجازی سولانا چگونه به مقیاسپذیری دست مییابد؟
ماشین مجازی سولانا (SVM) به واسطه رویکرد نوآورانه خود یعنی پردازش موازی تراکنشها به مقیاسپذیری دست مییابد. سولانا با استفاده از ترکیبی از اثبات تاریخچه (PoH)، اثبات سهام (PoS) و سایر تکنیکهای بهینهسازی، میتواند هزاران تراکنش را در ثانیه پردازش کند و توان عملیاتی و مقیاسپذیری بالایی را برای برنامههای غیرمتمرکز فراهم کند.
منابع:
نظرات کاربران