سوگو

از چه زبان برنامهنویسی برای ساخت ارز دیجیتال xem استفاده شده است؟

6 دقیقه مطالعه
از چه زبان برنامهنویسی برای ساخت ارز دیجیتال xem استفاده شده است؟

بلاکچین اولیه ارز دیجیتال XEM کاملاً با زبان جاوا (Java) از صفر نوشته شد، اما در به‌روزرسانی بزرگ هسته (پروژه Catapult)، کدهای اصلی آن برای افزایش سرعت و کارایی به زبان سی‌پلاس‌پلاس (++C) منتقل و بازنویسی شدند.

ارز دیجیتال نِم (NEM) که با توکن بومی XEM در بازار کریپتو شناخته می‌شود، یکی از متمایزترین ساختارهای فنی را در میان شبکه‌های بلاکچینی دارد. برخلاف بسیاری از پروژه‌های اولیه که کدهای خود را از بیت‌کوین کپی می‌کردند، این شبکه مسیر توسعه کاملاً مستقلی را پیش گرفت. انتخاب زبان‌های برنامه‌نویسی در لایه‌های مختلف این بلاکچین، منعکس‌کننده رویکرد پایداری تجاری و سرعت پردازش تراکنش‌ها است.

کالبدشکافی فنی؛ زبان‌های برنامه‌نویسی در لایه‌های مختلف XEM

هسته اصلی شبکه اولیه بلاکچین نِم (NEM NIS1) برخلاف بسیاری از ارزهای دیجیتال هم‌دوره خود، کپی یا فورکی از بیت‌کوین نبود. توسعه‌دهندگان این شبکه کدهای پلتفرم را ۱۰۰ درصد از صفر (From Scratch) با زبان برنامه‌نویسی جاوا (Java) پیاده‌سازی کردند تا امنیت و پایداری در سطح سازمانی را تضمین کنند.در فاز دوم و با رونمایی از موتور ارتقایافته بلاکچین نِم که با نام پروژه منجنیق (Catapult) شناخته می‌شود، لایه زیرساختی شبکه دستخوش تغییری بزرگ شد. تیم توسعه تصمیم گرفت تمام کدهای هسته اصلی را به زبان سی‌پلاس‌پلاس (++C) منتقل کند تا مدیریت حافظه، سرعت تراکنش‌ها و لایه پردازش API به بالاترین حد ممکن برسد.

در سمت کلاینت، رابط‌های کاربری و ابزارهای ارتباطی، زبان جاوااسکریپت (JavaScript) و تایپ‌اسکریپت نقش کلیدی را ایفا می‌کنند. کیت‌های توسعه نرم‌افزار (SDK) رسمی این شبکه عمدتاً با این زبان‌ها نوشته شده‌اند تا برنامه‌نویسان وب بتوانند به راحتی با شبکه تعامل داشته باشند.

هسته اولیه: Java
موتور جدید کاتاپولت: C++
کیت توسعه نرم‌افزار: JavaScript
ابزارهای کمکی: Python

چرا معماری بلاکچین NEM نیازی به زبان قرارداد هوشمند ندارد؟

برخلاف اتریوم که توسعه‌دهندگان را مجبور به یادگیری زبان اختصاصی سالیدیتی (Solidity) برای اجرای کدهای روی زنجیره می‌کند، شبکه نِم معماری کاملاً متفاوتی دارد. این پلتفرم از یک ساختار مبتنی بر REST API استفاده می‌کند که بار محاسباتی قراردادها را از روی زنجیره اصلی برمی‌دارد.

توسعه‌دهندگان در این شبکه می‌توانند با هر زبان برنامه‌نویسی دلخواهی مانند پایتون، سی‌شارپ، جاوا یا جاوااسکریپت، کدهای منطقی برنامه خود را روی سرورهای امن خود بنویسند و نتایج را از طریق درخواست‌های HTTP به بلاکچین ارسال کنند؛ این امر احتمال باگ‌های مخرب درون‌زنجیره‌ای را به حداقل می‌رساند.

نکته مهم: عدم نیاز به زبان اختصاصی روی زنجیره در بلاکچین نِم، ریسک هک شدن قراردادهای هوشمند را (که در اتریوم بسیار شایع است) به دلیل اجرای کدهای ایزوله در سمت سرور مانیتور شده، به شدت کاهش می‌دهد.

ویژگی‌های کلیدی معماری شبکه XEM

ستون‌های فنی این پروژه بر پایه سهولت استفاده برای کسب‌وکارها بنا شده است. به جای درگیر کردن کاربران با مفاهیم پیچیده شیءگرایی دارایی‌ها، همه‌چیز در لایه‌های آماده پیکربندی می‌شود:

۱

سیستم دارایی‌های هوشمند (Smart Assets): کاربران می‌توانند بدون حتی یک خط کدنویسی پیچیده، توکن‌های اختصاصی خود را تحت عنوان موزاییک (Mosaics) و دامنه‌های اختصاصی را با نام فضای نام (Namespaces) در شبکه تعریف و مدیریت کنند.

۲

الگوریتم اجماع اثبات اهمیت (PoI): شبکه نِم برای اولین بار مکانیزم Proof of Importance را معرفی کرد. در این روش به جای مصرف برق سنگین (PoW) یا صرفاً سرمایه‌داری مطلق (PoS)، فاکتورهایی مثل میزان موجودی XEM، تعداد تراکنش‌ها و شبکه شرکای تجاری، رتبه اهمیت و پاداش یک نود (هاروستینگ) را تعیین می‌کنند.

آخرین تغییرات هسته نِم در گیت‌هاب رسمی

بررسی مخازن رسمی گیت‌هاب پروژه نشان می‌دهد که هسته قدیمی یعنی NIS1 اکنون در فاز نگهداری (Maintenance) قرار دارد و پچ‌های آن صرفاً به رفع باگ‌های امنیتی دوره‌ای و پایداری شبکه محدود می‌شود.

بخش اعظم فعالیت توسعه‌دهندگان به سمت نسل دوم این بلاکچین یعنی شبکه سیمبل (Symbol) با توکن بومی XYM هدایت شده است. ساختار این شبکه جدید کاملاً افزونه‌محور (Plugin-based) است و به سازمان‌ها اجازه می‌دهد بلاکچین‌های خصوصی خود را با تکیه بر قدرت سی‌پلاس‌پلاس به شبکه اصلی متصل کنند.

جمع‌بندی تلاقی زبان‌ها در XEM

«جواب پیشنهادی:» ساختار فنی بلاکچین ارز دیجیتال XEM نمونه‌ای از مهاجرت هوشمندانه از محیط شیءگرای جاوا به سرعت نیتیو سی‌پلاس‌پلاس است که ارتباطات بیرونی آن کاملاً با واسط‌های خط فرمانی و وب جاوااسکریپت سازگار است.

پرسش‌های متداول

آیا برای ساخت توکن در شبکه XEM باید به زبان جاوا یا سی‌پلاس‌پلاس مسلط باشیم؟

خیر؛ ساخت توکن (موزاییک) در شبکه نِم کاملاً از طریق کیف پول و بدون نیاز به حتی یک خط کدنویسی انجام می‌شود.

تفاوت کاربرد جاوا و سی‌پلاس‌پلاس در این ارز دیجیتال چیست؟

جاوا زبان ساختار اولیه و سنتی شبکه (NIS1) بود، در حالی که سی‌پلاس‌پلاس (++C) در بازنویسی موتور کاتاپولت برای افزایش مقیاس‌پذیری و سرعت به کار گرفته شد.

آیا هک صرافی کوین‌چک به خاطر ضعف در زبان برنامه‌نویسی XEM بود?

خیر؛ این هک در سال ۲۰۱۸ صرفاً به دلیل ضعف امنیتی صرافی در نگهداری دارایی‌ها در کیف پول داغ رخ داد و هیچ ارتباطی به کدهای بلاکچین نِم نداشت.

تازه‌ترین مطالب

همه مطالب

پیشنهاد مطالعه

چند مطلب تصادفی از آرشیو سوگو، شاید این‌ها هم به کارتان بیاید.

نظرات

هنوز نظری ثبت نشده. اولین نفر باشید!