پاسخ سریع به این پرسش خیر است. در این مقاله سعی میکنیم توضیح دهیم چرا بهتر است به برنامه نویسی قرارداد های هوشمند نگاهی متفاوت داشته باشیم.
بیشتر بخوانید: آیا برنامه نویسی قرارداد هوشمند مثل وب یا موبایل است؟اگر بخواهیم از دید سینتکس زبان برنامه نویسی به موضوع نگاه کنیم، زبانی مثل سالیدیتی شباهت زیادی به C++ و جاوا اسکریپت دارد و کسی یکی از اینها را بلد باشد با نگاه کردن به کد سالیدیتی احساس غریبی نمی کند. اما مواردی وجود دارد که با دانستنشان به کل موضوع عوض می شود که در اینجا به سه مورد مهم از آنها اشاره می کنیم.
قرارداد های هوشمند غیر قابل حذف یا تغییر اند
وقتی قرارداد هوشمند را در بلاکچین دیپلوی کردید، دیگر به هیچ عنوان امکان ایجاد هر گونه تغییر با حذف آنها وجود ندارد. هرچند میتوان با پیاده سازی هایی همچون استفاده از پروکسی ها تا حدی بر این موضوع غلبه کرد، اما باید توجه داشت که این کار آنقدر هم ساده نیست. پس باید قبل از دیپلوی قرارداد هوشمند، از اطمینان بالایی بابت کارایی درست، امنیت و … آن اطمینان حاصل کنید.
هزینه هک شدن آنها می تواند به شدت بالا باشد
البته حتی در نرم افزار های وب و موبایل هم ممکن است موضوع امنیت بسیار حساس باشد، اما چون قرارداد های هوشمند اکثرا با پول سر و کار دارند، هرگونه نفوذ امنیتی به آنها، پول درون قرارداد و همچین پول ولت های متصل به آنها را به خطر می اندازد.
هزینه اشتباه کدنویسی در آنها میتواند به شدت بالا باشد
از آنجایی که اکثر عملیات در قرارداد های هوشمند، باعث کسر کارمزد می شوند، چنانچه خطایی در کد شما اتفاق بیفتد ممکن است کل حساب قرارداد هوشمند را صفر کند. برای مثال حلقه ای که شرط توقفش به درستی اجرا نشود، تا آنجا پیش می رود تا کل موجودی حساب قرارداد را صفر کند.
نتیجه گیری که میخواهیم از این موارد بدست بیاوریم اینست که باید کمی نگاهی متفاوت تر از برنامه نویسی برنامه های وب و موبایل به برنامه نویسی قرارداد های هوشمند داشته باشیم.