ترون در تاریخ ۳۰ جولای ۲۰۱۸ یک نسخه ارتقا یافته از ماشین مجازی خود (TVM) را راهاندازی کرد. TVM یک ماشین مجازی است که توسط بنیاد ترون با هدف گسترش و بهبود اکوسیستم ترون ساخته شده است. این ماشین مجازی مانند یک کامپیوتر مجازی عمل میکند که به توسعهدهندگان امکان میدهد برنامههای غیرمتمرکز (DApps) را در یک محیط امن و کنترلشده آزمایش و اجرا کنند. ماشین مجازی ترون (TVM) با بهینهسازی عملکرد قراردادهای هوشمند، میتواند تاثیر مثبتی بر قیمت ترون داشته باشد. در این مقاله، به بررسی عمیقتر ماشین مجازی ترون بهعنوان یک ابزار زیرساختی کارآمد برای اکوسیستم ارز ترون، کاربردهای آن در توسعه برنامههای غیرمتمرکز، مزایای آن نسبت به سایر ماشینهای مجازی و چشمانداز آینده آن خواهیم پرداخت.
ماشین مجازی ترون (TVM) چیست؟

ماشین مجازی ترون (TVM) یک سیستم عامل مجازی است که توسط بنیاد ترون برای توسعه و بهبود اکوسیستم ترون طراحی شده است. به عبارت سادهتر، TVM مانند یک کامپیوتر مجازی است که روی کامپیوتر اصلی شما اجرا میشود و به شما امکان میدهد برنامههایی را که برای سیستم عاملهای دیگر طراحی شدهاند، اجرا کنید. به عنوان مثال، اگر شما یک برنامهنویس با سیستم عامل ویندوز باشید، میتوانید از TVM برای ایجاد یک محیط مجازی لینوکس یا مک استفاده کنید.
برای درک بهتر TVM، ابتدا باید با مفهوم دفتر کل توزیع شده (distributed ledger) آشنا شویم. بلاکچینهایی مانند بیت کوین، اغلب با تشبیه به یک دفتر کل توزیع شده توصیف میشوند. این دفتر کل، اطلاعات مربوط به تراکنشهای بیت کوین را در خود ذخیره میکند و توسط شبکهای از کامپیوترها به اشتراک گذاشته میشود.
اما ترون، علاوهبر ارز دیجیتال ترون (TRX)، از قراردادهای هوشمند نیز پشتیبانی میکند. این قابلیت، ترون را به یک ماشین حالت توزیع شده (State Machine) تبدیل میکند که علاوه بر اطلاعات حسابها، حالت ماشین را نیز در بر میگیرد. این حالت ماشین میتواند بر اساس مجموعهای از قوانین از پیش تعریفشده تغییر کرده و کدهای دلخواه را اجرا کند.
چرا بلاکچین به ماشینهای مجازی نیاز دارد؟
در دنیای بلاکچین، ماشینهای مجازی برای آزمایش و اجرای برنامههای غیرمتمرکز (DApps) در مقیاس بزرگ استفاده میشوند. توسعهدهندگان میتوانند با استفاده از زبانهای برنامهنویسی آشنا، قراردادهای هوشمندی ایجاد کنند که روی TVM اجرا میشوند، بدون اینکه نیاز به یادگیری یک زبان برنامهنویسی جدید داشته باشند. این قراردادهای هوشمند به صورت خودکار و بر اساس دستورالعملهای مشخصی که در کد آنها نوشته شده است، اجرا میشوند.
کاربردهای ماشین مجازی ترون

TVM به گونهای طراحی شده است که با ماشین مجازی اتریوم (EVM) سازگار باشد. این یعنی توسعهدهندگان اتریوم میتوانند کدهای موجود خود را در TVM کامپایل و تنظیم کنند و قراردادهای هوشمند اتریوم را به راحتی به ترون منتقل کنند. پس از آزمایش DAppها در TVM، آنها به شبکه اصلی ترون آپلود میشوند و روی TVM نودهای نمایندههای ارشد (SR) ترون اجرا میشوند تا عموم بتوانند به آنها دسترسی داشته باشند.
TVM همچنین با ماشینهای مجازی اصلی بیشتری (مانند EOS) سازگار شده است. این سهولت انتقال از دیدگاه توسعه، توسعهدهندگان جدید زیادی را به ترون جذب خواهد کرد. بنابراین، میتوانیم انتظار داشته باشیم که بسیاری از برنامههای مفید و جالب در آینده نزدیک به شبکه ترون معرفی شوند.
مزایای TVM نسبت به رقبا
یکی از نقاط قوت اصلی TVM، سازگاری آن با ماشین مجازی اتریوم (EVM) است. این یعنی توسعهدهندگانی که قبلاً برای اتریوم قرارداد هوشمند نوشتهاند، میتوانند به راحتی کدهای خود را به TVM منتقل کنند و از مزایای شبکه ترون بهرهمند شوند. این سازگاری، باعث جذب تعداد زیادی از توسعهدهندگان به ترون شده و نویدبخش ظهور برنامههای غیرمتمرکز جدید و جذاب در آینده نزدیک است.
یکی دیگر از مزایای TVM، استفاده از پهنای باند به جای گس است. در اتریوم، هر عملیات در قراردادهای هوشمند نیاز به پرداخت هزینه گس (گسفی، Gas fee) دارد که میتواند محدودیتی برای توسعهدهندگان باشد. اما در ترون، توسعهدهندگان میتوانند برنامههای پیچیدهتر و جالبتری را بدون نگرانی از هزینههای بالای گس ایجاد کنند. این امر، به توسعهدهندگان آزادی عمل بیشتری میدهد و نوآوری را در شبکه ترون تشویق میکند.
مزیتهای TVM نسبت به ماشین مجازی اتریوم

TVM و EVM هر دو ماشینهای مجازی برای اجرای قراردادهای هوشمند هستند، اما TVM به طور خاص برای شبکه ترون طراحی شده است و در جزئیات با EVM تفاوتهایی دارد:
- انرژی به جای گس: TVM به جای گس از انرژی استفاده میکند.
- DIFFICULTY و GASLIMIT صفر: این دو پارامتر در TVM صفر هستند.
- مصرف انرژی کدهای عملیاتی: اکثر کدهای عملیاتی در TVM مصرف انرژی مشابهی با EVM دارند، اما برخی از آنها (مانند SLOAD و CALL) مصرف انرژی کمتری دارند.
- پیشوند آدرس قرارداد: پیشوند آدرس قرارداد ایجاد شده توسط CREATE2 در TVM با EVM متفاوت است.
- قراردادهای از پیش کامپایل شده: برخی از قراردادهای از پیش کامپایل شده در TVM با EVM متفاوت هستند.
- روشهای ارسال TRX به قراردادها: در TVM دو روش برای ارسال TRX به قراردادها وجود دارد: Transfer و TriggerSmartContract.
ویژگی | TVM | EVM |
---|---|---|
واحد مصرف | انرژی | گس |
DIFFICULTY | صفر | متغیر |
GASLIMIT | صفر | متغیر |
مصرف انرژی کدهای عملیاتی | مشابه (برخی کمتر) | – |
پیشوند آدرس قرارداد CREATE2 | متفاوت | – |
قراردادهای از پیش کامپایل شده | متفاوت (برخی) | – |
روشهای ارسال TRX به قراردادها | Transfer و TriggerSmartContract | – |
TVM علاوهبر ویژگیهای سازگار با EVM، ویژگیهای جدیدی را نیز بر اساس ویژگیهای خاص ترون ارائه میدهد، از جمله:
- کدهای عملیاتی مربوط به TRC-10: برای کار با توکنهای TRC-10.
- تشخیص قرارداد بودن یک آدرس: برای تشخیص اینکه آیا یک آدرس متعلق به یک قرارداد است یا خیر.
- اعتبارسنجی دستهای برای امضاها: برای افزایش امنیت و کارایی.
- قراردادهای ناشناس و قراردادهای مرتبط با Librustzcash: برای حفظ حریم خصوصی و امنیت.
- توابع Freeze/Unfreeze: برای مدیریت منابع و امنیت.
- کدهای عملیاتی و قراردادهای مرتبط با رأیگیری قرارداد: برای شرکت در فرآیندهای حاکمیتی ترون.
- توابع Freeze/Unfreeze/Delegate/UnDelegate مربوط به Stake 2.0: برای مدیریت استیکینگ و منابع.
این ویژگیهای جدید، TVM را به یک ماشین مجازی قدرتمند و انعطافپذیر برای توسعه برنامههای غیرمتمرکز در شبکه ترون تبدیل کردهاند.
جمعبندی

ماشین مجازی ترون (TVM) یک ابزار قدرتمند برای توسعهدهندگان است که به آنها اجازه میدهد برنامههای غیرمتمرکز جدید و جذاب را در شبکه ترون ایجاد کنند. سازگاری TVM با EVM و استفاده از پهنای باند به جای گس، دو عامل کلیدی هستند که TVM را به یک انتخاب جذاب برای توسعهدهندگان تبدیل میکنند. با توجه به این ویژگیها، آینده TVM بسیار روشن به نظر میرسد و میتوان انتظار داشت که شاهد رشد و توسعه چشمگیر این ماشین مجازی در آینده باشیم.
سوالات متداول
چه زبانهای برنامهنویسی در TVM پشتیبانی میشوند؟
TVM از زبانهای برنامهنویسی سطح بالا مانند Solidity پشتیبانی میکند که برای توسعه قراردادهای هوشمند در اتریوم نیز استفاده میشود.
آیا میتوانم قراردادهای هوشمند اتریوم را به TVM منتقل کنم؟
بله، TVM با EVM سازگار است، بنابراین میتوانید قراردادهای هوشمند اتریوم را با تغییرات جزئی به TVM منتقل کنید.
چگونه میتوانم با TVM شروع به کار کنم؟
برای شروع کار با TVM، میتوانید از مستندات و منابع آموزشی موجود در وبسایت ترون و سایر منابع آنلاین استفاده کنید.
منابع: medium | developers
اولین نفری باشید که نظر می دهید