پرش لینک ها

آشنایی با ارز رمزنگاری شده Ethereum بخش دوم

پلتفرم

ماشین مجازی

ماشین مجازی اتریوم (EVM) در واقع زمانی در محیط برای انجام قراردادهای هوشمند در اتریوم است. این در واقع یک ثبات 256 بیتی در یک پشته است. این طراحی به گونه ای انجام شده که یک کد را دوباره به صورتی که مد نظر بوده اجرا کند. در واقع این ویژگی یکی از مکانیزم های اصلی اتریوم است. تعریف اولیه EVM در برگه زرد مخصوص اتریوم انجام شده است. در روز اول فوریه 2018، تقریبا 27500 گره در شبکه اصلی اتریوم وجود داشت. ماشین های مجازی اتریوم با استفاده از زبان های برنامه نویسی مثل C++، Go، Haskell، Java، JavaScript، Python، Ruby، Elixir و Erlang پیاده سازی شده و به زودی WebAssembly نیز به آن اضافه خواهد شد.

قرارداد های هوشمند

قراردادهای هوشمند اتریوم بر پایه زبان های مختلف کامپیوتری طراحی شدند که هر کدام کارایی مربوط مخصوص به خود را دارند. قراردادهای هوشمند، نوعی برنامه نویسی در سطح بالا است که در بایت کد EVM کامپایل شده و بلاک چین اتریوم را برای پیاده سازی آماده می کند. این قرارداد ها می توانند با زبان Solidity نوشته شود، زبانی که کتابخانه بسیار مشابه به C و JavaScript دارد. البته نوشتن این قرار دادها می تواند با زبان Serpent (کتابخانه مشابه با Python) و زبان LLL (زبانی سطح پایین)، زبان Mutan (بر اساس زبان Go) نوشته شوند. البته LLL و Serpent شیوه هایی منسوخ هستند که دیگر مورد استفاده قرار نمی گیرند. قراردادهای هوشمند می توانند به صورت عمومی ارائه شوند که در نهایت باعث می شود تا کارایی آنها افزایش پیدا کند. یکی از بزرگترین مشکلات قراردادهای هوشمند در بلاک چین های عمومی، باگ های موجود است که باعث می شود شاهد حفره های امنیتی برای همه قابل مشاهده باشند اما نتوان به سرعت راه حلی برای آنها ارائه کرد. یک مثال در این زمینه مربوط به حمله The DAO در ژوئن 2016 است که امکان توقف یا بازگشت در آن وجود نداشت. در حال حاضر تحقیقات گسترده ای برای حفظ امنیت و تایید مالکیت در حال انجام است. تحقیقی که توسط تیم مایکروسافت انجام می شود اشاره کرده که پیاده سازی قراردادهای هوشمند که هیچ مشکلی نداشته باشند در حقیقیت بسیار دشوار است. مایکروسافت برای نمایش این ضعف از رویداد DAO بهره برده بود. این گزارش اعلام می کرد که مایکروسافت برای تایید قراردادها از ابزاری خود ساخته استفاده کرد و در ادامه نیز اشاره شد که با تحلیل گسترده قراردادهای هوشمند می توان گفت که بسیاری از قراردادهای منتشر شده دارای آسیب پذیری های امنیتی هستند.

آشنایی با ارز رمزنگاری شده Ethereum بخش دوم
آشنایی با ارز رمزنگاری شده Ethereum بخش دوم

برنامه ها

اتریوم با استفاده از زبان تورینگ کامل نوشته شده است که خود آن حاوی استفاده از چند زبان برنامه نویسی دیگر است. توسعه دهندگان از این زبان برای ساخت و منتشر کردن برنامه هایی که فقط در اکوسیستم اتریوم کار می کند، استفاده می کنند. این سیستم بسیار سنگین است اما برای توسعه دهندگان برنامه های اتریوم، بازدارنده نیست. برنامه های بلاک چین اتریوم معمولا با نام DApps (برنامه های غیرمتمرکز) شناخته می شوند. دلیل نام گذاری این برنامه، استفاده از ساختار غیرمتمرکز ماشین های مجازی اتریوم و قراردادهای هوشمند است. استفاده های زیادی برای پلتفرم اتریوم پیشنهاد شده است که حتی شامل پیشنهادهایی نشدنی و غیر معقول بودند. از میان این پیشنهاد ها می توان به استفاده مالی، اینترنت اشیا، شبکه هوشمند انرژی و بنگاه های شرط بندی ورزشی اشاره کرد. در ژانویه سال 2018، بیش از 250 برنامه DApps وجود داشت و بیش از صد ها برنامه دیگر فاز طراحی را طی می کردند. از برنامه های ساخته شده برای این پلتفرم می توان به الگوریتم امضای دیجیتال، تضمین امنیت توکن، مدیریت حقوق دیجیتال، تامین بودجه به صورت عمومی، پیش بینی بازار، پرداخت، شرط بندی آنلاین، پلتفرم های شبکه اجتماعی مجازی، مبادله ارز و سیستم های شناسایی هویت اشاره کرد.

نرم افزارهای اینترپرایز

شبکه ها و نرم افزارهای شخصی سازی شده بر اساس اتریوم که ارتباطی با بلاک چین اصلی و عمومی اتریوم ندارند توسط سازمان های اینترپرایز در حال آزمایش هستند. از شرکت های علاقه مند به این موضوع می توان به مایکروسافت، IBM، JPMorgan Chase، Deloitte، R3 و Innovate UK اشاره کرد. همچنین شرکت های مالی زیادی در حال آزمایش برای استفاده از بلاک چین های مشابه برای انجام تراکنش های خود هستند.

عملکرد

در شبکه اتریوم، تمام قراردادهای هوشمند به صورت عمومی روی هر گره از بلاک چین ذخیره می شوند که البته هزینه ای در بر دارند. حضور در یک بلاک چین به این معنی است که سیستم به صورت ذاتی امن است. همچنین این سیستم مثالی بسیار عالی از تقسیم سیستم محاسابات با تحمل بسیار بالای خطای بیزانس است. یکی از مشکلات این پلتفرم وقتی به وجود می آید که همه گره های حاضر در شبکه در حال محاسبه همه قراردادهای هوشمند در یک زمان هستند. این واقعه باعث می شود که سرعت کاهش پیدا کند. در ژانویه سال 2016، پروتکل اتریوم می توانست در یک ثانیه 25 تراکنش و معامله را پردازش کند. در مقام مقایسه باید گفت که پلتفرم موسسه مالی Visa می توانست در هر ثانیه 45 هزار تراکنش را انجام دهد. این مقایسه باعث شد تا سوالات بسیار زیادی در مورد قابلیت مقیاس پذیری اتریوم به وجود آید. در روز 19 دسامبر سال 2016، اتریوم اعلام کرد که برای اولین بار مقدار تراکنش و معاملات آنها در روز از یک میلیون گذر کرده است. مهندسان اتریوم در حال رفع این مشکل در نسخه جدید اتریوم که با نام اتریوم 2 شناخته می شوند هستند که اولین بار در نوامبر 2017 معرفی شد. همانطور که قبلا اشاره شد، بلاک چین اتریوم از ساختار درخت مرکل استفاده می کند تا امنیت تامین شده و شاهد مقیاس پذیری بهتری باشیم. مانند هر پیاده سازی دیگری از درخت مرکل، اجازه صرفه جویی در فضای ذخیره سازی، ساخت سیستم تایید و هماهنگ سازی کاربران وجود دارد. شبکه اتریوم در برخی از مواقع با تراکم یا ازدحام مواجه می شود. بزرگترین تراکم در شبکه در پایان سال 2017 به خاطر همکاری با Cryptokitties اتفاق افتاد.

یک دیدگاه بگذارید