آیا قرارداد هوشمند قابل تغییر است؟

نوشته شده در : 1401/07/27

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

یکی از ویژگی های منحصر به فرد قرارداد های هوشمند این هستش که نیازی به وجود واسطه ها برای انجام تراکنش ها نداره. قرارداد هوشمند رو میشه پلتفرم مطمئنی برای انجام سپرده گذاری ها و فعالیت های مالی دانست.

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

مقاله پیشنهادی: قرارداد هوشمند یا اسمارت کانترکت چیست؟

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

قرارداد های هوشمند برنامه هایی هستن که از اونا برای انجام خودکار فعالیت ها و تراکنش های مالی استفاده میشه. این نوع قرارداد ها، انجام تراکنش های مالی رو بدون نیاز به واسطه با سرعت عالی انجام داده و موجب تسهیل در انجام امورات میشن.

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

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

برای جلوگیری از این اتفاق از نوع خاصی قرارداد های هوشمند استفاده میشه که قابل تغییر هستن. در این نوع قراردادها، میشه به راحتی مشکلات مربوط به این نوع برنامه ها رو تغییر داده و بروز رسانی کرد. قبل از اینکه به بحث در مورد ماهیت قرارداد های هوشمند قابل تغییر صحبت کنیم، با ویژگی های کلی این نوع قرارداد ها اشنا بشیم.

آشنایی کلی با قرارداد های هوشمند و ارکان آن

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

امضا کننده افرادی هستن که با امضای دیجیتال، قرارداد رو تایید می کنن. قرارداد های هوشمند باید به موضوع قرارداد، دسترسی داشته باشن. شرایط قرارداد و ضوابط اون به زبان برنامه نویسی سالیدیتی هستن. شرایط شامل تمام قوانینی هست که ظرفیت معامله باید اون رو رعایت کنن.

مقاله پینشهادی: کاربردهای قراردادهای هوشمند چیست؟

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

شبکه های هوشمند باید از نوع غیرمتمرکز باشن و هیچ نهاد و سازمانی بر نحوه عملکرد اون ها نظارتی نداشته باشن. بهتره بدونین که بستر این نوع قرارداد ها باید به گونه ای باشه که قابل اطمینان باشن و از امنیت بسیار زیادی برخوردار باشن.

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

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

قرارداد های هوشمند دارای سیستم رمزنگاری شده هستن، به دلیل وجود چنین سیستمی، دارای امنیت فوق العاده زیادی هستش. قرارداد ها دارای تنوع بسیار زیادی هستن و شما می تونین با توجه به نوع معامله، هرکدوم از اون هارو انتخاب کنین.

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

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

قرارداد های هوشمند علاوه بر داشتن مزآیا، دارای معایبی هم هستن. در بخش زیر میخوایم شما رو با معایب قرارداد های هوشمند، آشنا کنیم.

مقاله پیشنهادی: مزیت های قراردادهای هوشمند چیست؟

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

همچنین، برای تنظیم این قرارداد، هزینه بسیار زیادی برای کد نویسی وایجاد ساختار بلاک چین صرف میشه. همونطور که می دونین اطلاعات این نوع بلاک چین بین تمام کاربر ها پخش میشه. این اتفاق باعث افزایش ایمنی قرارداد ها اما افشای هویت اعضای شبکه میشه.

تا این بخش از مقاله با ماهیت کلی قراردادهای هوشمند، آشنا شدیم. حالا بهتره به موضوع اصلی مقاله که آیا قراردادهای هوشمند قابل تغییر است یا نه ؟ صحبت کنیم.

قرارداد های هوشمند قابل تغییر

قرارداد های هوشمند قابل تغییر

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

در صورت بروز خطا، کاربر ها باید به قرارداد دیگه ای منتقل بشن که در اصطلاح به اون migrate گفته میشه. بیت تورنت نمونه ای از قرارداد های قابل تغییر هستن که ویژگی های جدیدی به اون افزوده شده. در این صورت تیم توسعه دهنده قرارداد هوشمند جدید باید با صرافی های جدید همکاری کرده و توکن های جدیدی ارائه کنه. در عوض، کاربر ها هم باید توکن های نسخه قبلی رو تغییر داده و از توکن های جدید استفاده می کنن.

این عمل وقت گیر بوده و انجام اون زمان زیادی لازم داره. وجود قراردادهای هوشمند قابل تغییر این مشکل رو رفع کرده. به طوری که بدون نیاز به عوض کردن قراردادهای هوشمند، میتونیم باگ های اون رو تغییر داده و بروز رسانی کنیم. توسعه دهنده ها برای ایجاد تغییرات این نوع قراردادها به زبان برنامه نویسی سالدیتی در شبکه های مختلف مانند اتریوم، بایننس اسمارت چین و... از روش های مختلف استفاده می کنن که در بخش زیر می خوایم شما رو با این روش ها آشنا کنیم.

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

• روش master-slave

قراردادهای هوشمند از طریق روش های مختلف، ارتقا پیدا می کنن. روش master-slave یکی از این روش ها هستش که باعث ارتقا و بروز رسانی قرارداد ها میشه. در این روش ما یه قرارداد اصلی و چند قرارداد فرعی داریم که همگی در قرارداد هوشمند قرار دارن. در قرارداد اصلی، ادرس قرارداد های دیگه ذخیره شده تا در موقع نیاز بتونین از آدرس ها استفاده کنین.

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

• روش eternal storage contracts

در این روش دو نوع قرارداد داریم. قرارداد اصلی به نام Logic contract و قرارداد دیگه به نام data contract. داده های اصلی در قرارداد اصلی ذخیره میشن. در این روش، دو قرارداد ذکر شده رو از هم جدا می کنیم. Data contract، قراردادی هستش که هیچ تغییری در اون انجام نمیشه اما logic contract، قابل تغییر هستش. تغییرات اعمال شده در این قرارداد در data contract نشون داده میشه.

یکی از معایب این روش در این هستش که data contract، قابل تغییر نیستش به همین دلیل ممکنه اشکال و یا خطایی در اون به وجود بیاد. در صورت بروز خطا، امکان تغییر اون وجود نداره و در نتیجه سیستم به هم میخوره. با رخداد این اتفاق، ممکنه دارایی کاربرها مورد حمله کلاهبردار ها قرار بگیره. یکی دیگه از معایب این روش در اینه که برای بروز رسانی logic contract، باید با بلاک چین اصلی ارتباط برقرار کرده و کارمزد اون رو پرداخت کنین. برای تسهیل انجام این امر نیاز به روش master-slave دارین.

• روش upgrade storage proxy contracts

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

این روش رو میشه یکی از محبوب ترین و پر استفاده ترین روش ها در پیاده سازی پراکسی کانترکت ها دونست. در این روش، برای جلوگیری از پرداخت کارمزد اضافی از قرارداد های ذخیره سازی یا storage contracts، به عنوان پروکسی قرارداد اصلی logic contract، استفاده می شود.

در روش پروکسی، کاربر ها با پراکسی کانترکت ها ارتباط دارن. جالبه بدونین که پراکسی کانترکت ها قابل تغییر نیستن و تمامی تغییرات در قرارداد اصلی اعمال میشن. تغییرات انجام شده در storage contracts ها ذخیره میشن. از مزایای این روش می تونیم به بروزرسانی و اعمال تغییر در قرارداد هوشمند اصلی اشاره کنیم، بدون اینکه نیازی به پرداخت کارمزد اضافه وجود داشته باشه.

از معایب این روش می تونیم به ایجاد تغییرات در برنامه بدون اعلام به کاربرها هستش. در این صورت امنیت قرارداد هوشمند کاهش پیدا کرده و امکان سرقت دارایی کاربرها افزایش پیدا میکنه. برای اینکه بتونین پراکسی کانترکت هارو پیدا کنین از دو روش سایت اتر اسکن و یا اطلاعات موجود در کد های قراردادهای هوشمند استفاده کنین.

سخن پآیانی

بازار ارز دیجیتال نوعی سیستم مالی غیر متمرکز هستش. این سیستم دارای تکنولوژی های نوظهوری هستش که باعث تسهیل در انجام تراکنش های مالی میشن. وجود قراردادهای هوشمند یکی از تکنولوژی های بازار ارز دیجیتال هستش که بدون نیاز به واسطه و به صورت خودکار با توجه به قوانین از پیش تعیین شده، نسبت به انجام تراکنش های مالی اقدام کرده و باعث تسهیل در امور تراکنش ها میشه.

در این مقاله سعی کردیم شما رو با ماهیت کلی قراردادهای هوشمند آشنا کرده و سپس توضیحاتی در مورد قراردادهای هوشمند قابل تغییر ارائه کردیم تا بتونین اطلاعات کاملی در مورد این برنامه به دست آورده و بهترین استفاده رو از اون داشته باشین. 


نظرات کاربران در مورد آیا قرارداد هوشمند قابل تغییر است؟
سوال امنیتی :8+48 = ?