آیا قرارداد هوشمند قابل تغییر است؟
قراردادهای هوشمند به منزله انجام خودکار انواع فعالیتها در بلاکچین ساخته شدهاند. به عبارت سادهتر وظیفه قراردادهای هوشمند، تنظیم و انجام انواع قراردادها با اقدامات پیشبینی شده در آنها به صورت خودکار است. در حقیقت قراردادهای هوشمند به افراد اجازه میدهند بدون نیاز به شخص ثالث با یکدیگر تبادلات مالی داشته و از انجام صحیح این تبادلات اطمینان داشته باشند؛ اما آیا تمامی قراردادهای هوشمند ایمن هستند و برنامهنویسان آنها نمیتوانند آنها را تغییر دهند؟ در این مقاله به صورت مختصر به این مطلب خواهیم پرداخت.
قرارداد هوشمند چیست؟
قراردادهای هوشمند به منظور تسهیل مراودات مالی و غیرمالی بین افراد و در فضای بلاک چین برای مشاهده تمامی کدها و شفافیت تراکنشها طراحی شده است. در واقع قراردادهای هوشمند امکان انجام معاملات قابل اعتماد بدون نیاز به ناظر یا شخص ثالث را فراهم میکنند. به همین دلیل با استفاده از این قراردادها نیازی به واسطههایی همچون بانکها، شرکتهای مختلف، افراد ناظر و غیره نیست و انجام تراکنشها در قراردادهای هوشمند به طور کاملا غیرمتمرکز انجام میشود.
قراردادهای هوشمند کدهای برنامهنویسی هستند که به واسطه آنها، قوانینی که در این کدها از قبل تعریف شده است، به صورت خودکار اجرا میشوند. استفاده از قراردادهای هوشمند به کاربران و برنامههای غیرمتمرکز (DAPP) مختلف اجازه میدهد تا بدون نیاز به اعتماد به یکدیگر و فقط با اتکا به کدهایی که از پیش طرز استفاده از DAPPها در آنها تعیین شده است، با یکدیگر تعامل داشته باشند.
استفاده از قراردادهای هوشمند باعث میشود تا افراد بتوانند با اعتماد به کدهای برنامهنویسی که قابلیت تغییر ندارند، با یکدیگر و با برنامههای مختلف ارتباط برقرار کنند؛ اما هر از چندگاهی در قراردادهای هوشمند مشکلاتی پدیدار میشود که ممکن است کدهای آن شامل باگ یا خطا باشند.
این موضوع باعث میشود کلاهبرداران بتوانند به راحتی از مشکلات ناشی از کدها استفاده کرده و اموال کاربران را به سرقت ببرند. برای جلوگیری از چنین شرایطی نوعی از قراردادهای هوشمند به نام قراردادهای هوشمند قابل تغییر ایجاد شدهاند. قراردادهای هوشمند قابل تغییر به توسعهدهندگان اجازه میدهند تا مشکلات قراردادهای هوشمند را برطرف کرده و آنها را بهروزرسانی کنند. در ادامه قراردادهای هوشمند قابل تغییر و انواع آنها را بررسی کرده و مزایا و معایب آنها را تشریح میکنیم.
تغییر دادن قراردادهای هوشمند
همانطور که میدانید قراردادهای هوشمند پس از استقرار در بلاک چین تغییرناپذیر هستند؛ اما ممکن است شرایطی مثل برطرف کردن یک باگ نرمافزاری، نیاز به عوض کردن طرز عملکرد قرارداد و یا نیاز به اضافه کردن یک ویژگی جدید به برنامه خود داشته باشید. در این صورت اگر بخواهید هر کدام از تغییرات بیان شده را در اسمارت کانترکت خود پیاده سازی کنید، باید آن را به طور کامل عوض کرده و یک قرارداد هوشمند جدید تعریف کنید.
در این صورت نیاز است تا تمام کاربران داراییهای خود را به کانترکت جدید انتقال دهند که عملی وقتگیر است و نیاز به حمایت و انجام این کار توسط تمامی کاربران دارد؛ این موضوع هر از چند گاهی برای برخی از توکنها رخ میدهد که با تغییر قرارداد هوشمند خود به نسخه جدیدی انتقال یا اصطلاحا (Migrate) پیدا میکنند؛ به طور مثال نسخه جدید بیت تورنت (Bittorrent) که چندی پیش معرفی شد، نمونهای از تغییر قراردادهای هوشمند بهمنظور بهروزرسانی و افزودن ویژگیهای جدید است.
برای انجام این کار لازم است تا تیم توسعهدهنده شبکهای که قصد Migrate به قرارداد هوشمند جدید را دارد، با صرافیهای مختلف همکاری کرده تا توکن جدید خود را عرضه کند. همچنین کاربران آن نیز باید توکنهای ورژن قبلی خود را به ورژن جدید تبدیل کنند تا بتوانند از خدمات آن استفاده کنند. این موضوع بسیار زمانبر و هزینهبر است و نیاز به یک برنامهریزی درست و دقیق برای اجرا دارد.
قابلیت تغییرپذیری در قراردادهای هوشمند با هدف حل این مشکل ایجاد شدهاند. توسعهدهندگان میتوانند تغییرات خود را بدون نیاز به عوض کردن قرارداد هوشمند انجام داده و آن را بهروزرسانی کنند.
دیدگاهتان را بنویسید