تسلط زبان JavaScript بر فناوری بلاکچین

تسلط زبان JavaScript بر فناوری بلاکچین

کریپتوکارنسی‌ها (ارزهای دیجیتالی) شدیداً وابسته به توابع رمزنگاری هستند که در گذشته به زبان‌های مختلفی نوشته ‌شده‌اند. به طور مثال، در هستهٔ Bitcoin و همچنین بسیاری از مشتقات آن از هیچ کد JS استفاده‌ نشده است، کد به کار رفته در Ethereum عمدتاً Go است، در NEM از زبان Java استفاده شده است و حتی از زبان برنامه‌نویسی Haskell نیز در Cardano استفاده شده است. با این حال، #جاوااسکریپت به آرامی در انواع و اقسام کریپتوکارنسی‌ها به کار گرفته می‌شود.

یک گفتهٔ معروف در صنعت توسعه نرم‌افزار وجود دارد تحت عنوان Atwood’s Law (قانون اتوود) که می‌گوید:

هر برنامه‌ای که بتواند در جاوااسکریپت نوشته شود، نهایتاً با جاوااسکریپت نوشته خواهد شد.

Jeff Atwood که یکی از هم‌بنیان‌گذار سایت معروف استک اورفلو است، این گفته را در سال 2007 اعلام کرد و تا امروز نیز صحت آن به اثبات رسیده است. Node.js یا همان جاوااسکریپت سمت سرور که در سال 2009 عرضه شد، از آن زمان تاکنون موضوع جدید و داغی بوده است و امروزه هم زمانی که یک دولوپر نیاز به ساخت یک نرم‌افزار دسکتاپ کراس‌پلتفرم دارد، به Electron مراجعه می‌کند (الکترون از زبان جاوااسکریپت به‌ عنوان زبان برنامه‌نویسی اصلی خود استفاده می‌کند).

البته امروزه JS آن‌قدر فراگیر شده است که کمتر وب‌سایتی را می‌توانید بیابید که حداقل در بخش فرانت‌اند آن از زبان جاوااسکریپت استفاده نشده باشد. در یک کلام، جاوااسکریپت فراگیر شده است. در همین راستا، در ادامه قصد داریم برخی از مهم‌ترین کریپتوکارنسی‌های جاوااسکریپتی که به دنیا عرضه شده‌اند را نام ببریم:

Lisk
عرضهٔ این ارز رمزپایه به سال 2016 برمی‌گردد و اولین ارز دیجیتالی مبتنی بر جاوااسکریپت است و جالب است بدانید که در زمان خود جزو ۲۰ ارز برتر مارکت بود و در حال حاضر نیز بیش از 3 میلیارد دلار ارزش دارد.

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

دولوپرهای Lisk جاوااسکریپت را انتخاب کردند زیرا احساس کردند که فناوری بلاکچین با سرعت قابل‌قبولی به پیش نمی‌رفت و از سوی دیگر با ساختن یک بلاکچین روی زبان جاوااسکریپت، آن‌ها امکان دسترسی به تعداد بسیار زیادی از دولوپرهای جاوااسکریپت را داشتند (بنا بر آمار منتشر شده توسط گیت‌هاب، زبان JS با فاصلهٔ‌ معناداری پرکاربردترین زبان برنامه‌نویسی در دنیا است).

Ark
یکی دیگر از کریپتوکارنسی‌های جدید که با استفاده از جاوااسکریپت پیاده‌سازی شده است Ark نام دارد و هدف از ایجاد آن، ساخت «پُل‌های هوشمند» بین بلاکچین‌های موجود است. با اتصال بلاکچین‌های موجود به یکدیگر، در نهایت Ark زبان جاوااسکریپت‌ را در مرکز مجموعه‌ای از بلاکچین‌ها قرار خواهد داد (Ark سرمایه‌ای بیش از 800 میلیون دلار دارا است).

Nimiq
ایده‌ٔ کریپتوکارنسی مبتنی بر جاوااسکریپت در Nimiq یک گام فراتر رفته و این فناوری‌ را قابل استفاده در مرورگرها کرده است. هنگامی‌که شما به وب‌سایت در حال اجرای روی Nimiq وصل می‌شوید، در واقع به‌ طور مستقیم و با استفاده از Websocket و WebRTC به شبکهٔ Nimiq متصل می‌شوید.

حتی می‌توانید Nimiq را در مرورگر خود شخصی‌سازی کنید. در واقع، رویکرد Nimiq به این صورت است که یک کاربر امکان ارسال و دریافت مستقیم از وب‌سایت و بدون استفاده از یک سرویس‌گیرنده میانجی یا نصب یک پلاگین را داشته باشد.

کیف پول‌های جاوااسکریپتی
بسیاری از رمزگذاری‌های قدیمی‌تر از QT به‌عنوان پلتفرم کیف پول خود استفاده می‌کنند، اما بسیاری از کریپتوکارنسی‌ها پلتفرم خود را به Electron تغییر داده‌اند. Electron از زبان‌های CSS ،HTML و JS استفاده می‌کند و به همین دلیل قادر به ایجاد کیف‌های مدرن‌تر مورد نظر کاربران می‌باشند و به‌ راحتی می‌توانند این کیف پول را روی ویندوز، مک و یا لینوکس کامپایل کنند (بیشتر کیف پول‌های موقت مانند Exodus نیز با این فناوری ساخته‌ شده‌اند).

پکیج‌های جاوااسکریپت موجود برای فناوری بلاکچین
کریپتوکارنسی‌های قدیمی‌تر همواره این امکان را برای دولوپرها فراهم ساخته‌اند تا با زبان JS بتوانند با کِرنِل بلاکچین خود ارتباط برقرار سازند. جالب است بدانید که بیش از 1000 پکیج مربوط به بیتکوین و تقریباً 800 پکیج برای Ethereum در NPM وجود دارد و اکثر این پکیج‌ها از طریق JSON-RPC با دیگر سیستم‌ها ارتباط برقرار می‌سازند (منظور از این اصطلاح پروسه‌ای است که از جیسون به عنوان فرمت تغییر دیتا استفاده می‌شود).

کلام آخر
با توجه به این که بعید به نظر می‌رسد که کریپتوکارنسی‌های جدید به نوعی از زبان JS استفاده نکنند، حال این سؤال پیش می‌آید که آیا جاوااسکریپت جایگاه بهتری در دنیای کریپتوکارنسی‌ها به دست خواهد آورد؟

به نظر می‌رسد که اگر دولوپرهای ارزهای دیجیتالی به‌ عنوان زبان اولیه از آن استفاده نکنند، حداقل به‌ عنوان یک اَکسس پوینت یا  کیف پول (Wallet) از آن استفاده خواهند کرد و همان‌طور که تجربه نشان داده است، هنگامی‌ که دولوپرهای جاوااسکریپت درگیر کاری شوند، مثل ویروس آن را توسعه می‌دهند!

منبع