مشکلات قراردادهای هوشمند
پیش تر بسیار راجع به مزایا و نحوه عملکرد قرارداد هوشمند صحبت کردهایم، اما تاکنون مشکلات قراردادهای هوشمند را به طور دقیق بررسی نکردهایم. حال ممکن است این سؤال پیش بیاید که اگر قراردادهای هوشمند تا این اندازه مفید و کاربردی هستند، پس چرا مشکل ساز می شوند؟ و پاسخ به این سوال، دقیقا همان چیزی است که قصد داریم تا آن را در این مقاله مورد بررسی قرار دهیم.
مشکلات قراردادهای هوشمند در یک نگاه
- تکیه بر منابع داده های خارجی
- تغییرناپذیری
- مسئله اطلاعات محرمانه
- وضعیت حقوقی
- نقص های امنیتی
- سادگی در عملیات
تکیه بر منابع داده های خارجی
یکی از مشکلات قراردادهای هوشمند این است که برای اجرای مفاد قرارداد به اطلاعات نیاز دارند. به عنوان مثال؛ یک قرارداد هوشمند را تصور کنید که در آن قرار است به ازای هر ساعت از خدمات آقای X از آقای Y مبلغ مشخصی را دریافت کند. در نتیجه قرارداد هوشمند قبل از اینکه بتواند پرداخت به آقای X را پردازش کند، باید بداند ارائه خدمات از چه ساعتی آغاز شده است، اما همانطور که می دانیم بلاکچین نمی تواند با دنیای خارج ارتباط برقرار کند و این امر مشکلاتی را برای قراردادهای هوشمند ایجاد می کند.
برای حل اینگونه از مشکلاتِ قراردادهایِ هوشمند، توسعهدهندگانِ آنها به «اوراکلها» تکیه می کنند.
“اوراکل ها برنامه هایی هستند که داده ها را از دنیای واقعی بیرون می کشند و قراردادهای هوشمند را به صورت زنجیره ای توسط آنها تغذیه می کنند.”
برای حل مشکل مطرح شده در مثال خدمات آقای X یک اوراکل ممکن است داده های شرکت خدماتی آقای X را مورد بررسی قرار دهد و داده های مربوط به خدمات ارائه شده به آقای Y را در اختیار قرارداد هوشمند مربوطه قرار دهد تا در صورت انجام خدمات صحیح، قرارداد هوشمند پرداخت را انجام دهد.
با این حال، تکیه بر اوراکل ها مشکلات دیگری را در قراردادهای هوشمند برجسته می کند:
ما باید به اوراکل برای ارائه داده های دقیق اعتماد کنیم، در غیر این صورت قرارداد هوشمند با خطا مواجه شده یا اقدامات اشتباهی را اجرا می کند که این امر می تواند به تجارت ها آسیب هایی ناخواسته وارد کند. صرف نظر از اینکه استفاده از چند اوراکل مختلف به طور همزمان می تواند باعث تضعیف اجماع شود اما می توان این مشکل را با استفاده از اطلاعات چند اوراکل مختلف حل کنیم. اگرچه که اینکار به دلیل پرداخت هایی که باید برای هر اوراکل به طور جداگانه انجام دهیم، باعث افزایش هزینه تراکنش هایمان می شود.
تغییرناپذیری
یکی از مشکلات قراردادهای هوشمند ناشی از تغییر ناپذیری آنهاست. وقتی صحبت از بلاک چین می شود، «تغییرناپذیری» به این معنی است که قوانین موجود در یک پروتکل را نمی توان به طور یک طرفه پس از استقرار در بلاک چین تغییر داد. در حالی که این به حذف بازیگران بدی که ممکن است بخواهند اطلاعات قرارداد را دستکاری کنند کمک می کند، اما استفاده از قراردادهای هوشمند را سخت تر می کند.
به بیان دیگر و در مثال خدمات آقای X، بگذارید بگوییم که آقای X باید قرارداد را اصلاح کند تا تغییری در توافقات شرکت خدماتی او با آقای Y منعکس شود، اما ماهیت تغییرناپذیر قرارداد هوشمند از آن جلوگیری خواهد کرد و این عدم انعطاف در قرارداد هشمند از پیش تعریف شده ممکن است برای تجارت آقای X مشکلاتی را بوجود آورد.
همچنین این سیستم سفت و سخت، رفع خطا در کد را نیز سخت می کند. چرا که اگر یک باگ بر عملکرد قرارداد هوشمند تأثیر بگذارد، توسعه دهندگان نمی توانند هیچ راه حلی را برای آن پیاده سازی کنند.
مسئله اطلاعات محرمانه
همانطور که می دانیم، تمام اطلاعات مربوط به بلاک چین برای همه قابل دسترسی است، چرا که هر گره در این شبکه یک کپی از تاریخچه کل بلاک چین را در خود ذخیره کرده است. درست است که این به شفافیت و محافظت در برابر تقلب کمک می کند اما داده ها را برای هر کسی که به هر طریقی به شبکه دسترسی داشته باشد، به نمایش می گذارد و این می تواند یکی از مشکلات قراردادهای هوشمند محسوب شود. چرا که اطلاعات قراردادهای محرمانه قابل ارائه به عموم نیستند و به همین دلیل است که وکلا بر اساس قانون موظف هستند تا جزئیات دادرسی بین موکلان خود را فاش نکنند.
حال بیایید به مخفی کردن اینگونه از اطلاعات در فضای HTML و یک صفحه وب فکر کنیم. کاربران اطلاعات را در پنجره های مرورگر خود نمی بینند، اما یک تابع ساده CTRL + U (نمایش منبع) به راحتی تمام آنها را آشکار خواهد کرد. قرارداد هوشمند نیز به همین صورت است و هر کسی می تواند نرم افزار بلاکچین را برای نمایش وضعیت کامل قرارداد تغییر دهد، در نتیجه این بستر نمی تواند بستر امنی برای ارائه اینگونه از اطلاعات باشد. برای شرکت ها و افرادی که خواهان حفظ حریم خصوصی کامل هستند، فقدان رازداری یکی از بزرگترین مشکلات در استفاده از قراردادهای هوشمند به حساب میاید.
وضعیت حقوقی
با وجود تمام صحبت ها در مورد مزایا و مشکلات قراردادهای هوشمند که می توانند حتی وکلا را از کار بی کار کنند، هیچ قانون رسمی برای محافظت از قانونی بودن قراردادهای هوشمند وجود ندارد. بیایید تصور کنیم که یکی از طرفین، به تعهدات قراردادی خود عمل نکند، جبران خسارات این عدم مسئولیت پذیری را چه کسی یا چه چیزی تضمین یا بیمه می کند؟ قطعا که طرفین متضرر می توانند شکایت کنند، ولی فقط در صورتی که دادگاه یک قرارداد هوشمند را از نظر قانونی لازم الاجرا بداند. اما در حال حاضر، یکی دیگر از مشکلات قراردادهای هوشمند این است که در دادگاه قابل اجرا نیستند.
فقدان حمایت های قانونی در زمان فعلی یکی از بزرگترین نقاط ضعف استفاده از قراردادهای هوشمند محسوب می شود.
این بدان معنا نیست که قراردادهای هوشمند در آینده هم قرار نیست از اوضاع حقوقی مشخص بهره مند شوند، بلکه اگر استفاده از آنها افزایش یابد، می توان انتظار داشت که مقامات قضایی وضعیت قانونی بودن قراردادهای هوشمند را نیز بررسی کنند. به عنوان مثال، امضای دیجیتال در ایالات متحده از نظر قانونی اجباری نبود تا اینکه دولت آمریکا قانون امضای الکترونیکی در قانون تجارت جهانی و ملی (ESIGN) را در سال 2000 به تصویب رساند. با این حال، این سؤال باقی می ماند که اگر برای اجرای قراردادهای هوشمند همچنان باید به دادگاه ها متکی باشیم، پس ارزش استفاده از آنها در چیست؟
نقص های امنیتی
مانند هر برنامه دیگری، قراردادهای هوشمند اغلب می توانند دچار مشکلات امنیتی شوند. با این حال، تفاوت بین یک قرارداد هوشمند و یک برنامه معمولی در این است که اشکالات در کد قرارداد هوشمند می توانند تاثیرات پرهزینه تری داشته باشند. امروزه، قراردادهای هوشمند صنعت DeFi را تقویت می کنند. ارزش دیفای بیش از 100 میلیارد دلار تخمین زده شده است، و یک حفره ساده در عملکرد یک قرارداد هوشمند می تواند به معنای از دست دادن میلیون ها دلار باشد، همچنین اینگونه از باگ ها برای افراد مخرب و بازیگران بد به منزله فرصت هایی طلایی است که می توانند از آنها بسیار سوء استفاده کنند.
متاسفانه در تاریخ دیفای بیش از یک بار شاهد این شکل اتفاقات بوده ایم. به عنوان مثال؛ در ماهی که گذشت، Wormhole یک پل میان زنجیره ای دو سویه که به کاربران امکان ارسال و دریافت رمزارز بین بلاکچین های سولانا و اتریوم را می داد، 320 میلیون دلار به هکرها هدیه کرد.
بر اساس یک تجزیه و تحلیل درون شبکه ای که پلتفرم Chainlysis ارائه کرده است، هکرها از یک آسیب پذیری در قرارداد هوشمند پل میان زنجیره ای مذکور استفاده کرده اند که به آن ها اجازه می داده تا ۱۲۰۰۰۰ Wrapped Ethereum (WETH) را از شبکه سولانا تخلیه کنند. این آخرین مورد از یک رشته حملات به پلتفرم های دیفای است که همه آنها به قراردادهای هوشمند برای عملیات خود بستگی دارند.
این بدان معنا نیست که مسئله امنیت یکی از مشکلات قراردادهای هوشمند برای مدت زمان طولانی خواهد بود. با این حال، در واقعیت امر اینگونه است که بیشتر پروژه ها بیشتر نگران بازاریابی و جذب کاربر برای خود هستند و توجه کمتری به رفع پیچیدگی های این سیستم دارند.
سادگی در عملیات
وقتی مردم نام ” قراردادهای هوشمند ” را می شنوند، تعداد بی شماری از برنامه های کاربردی ممکن را به خاطر می آورند. اما در حقیقت، قراردادهای هوشمند نسبتا ساده هستند و نمی توانند در بیشتر این موارد تخیلی بدرستی عمل کنند، مگر اینکه در آینده ارتقایی اساسی در مدل و معماری آنها اتفاق بیافتد.
در واقع کدها در این قراردادها نمی توانند شرایط مبهم در قراردادهایی را که نمی توانند در کد باینری نوشته شوند پوشش دهند. این نیز یکی دیگر از مشکلات قراردادهای هوشمند است. مطمئنا، برنامه ریزی برای یک قرارداد هوشمند که پرداخت و انتقال یک محصول خاص را انجام می دهد، آسان است. مشکلات زمانی شروع می شوند که به عنوان مثال سعی کنیم عباراتی مانند “کالا باید در شرایط خاصی منتقل شود” و یا “کالا باید در مدت زمان معقول منتقل شود” را وارد کنیم.
چگونه می توان معنای “شرایط خاص” را تعیین کرد یا “زمان معقول” را محاسبه کرد و آن را در کد نوشت؟
به زبان ساده، قراردادهای هوشمند در شرایطی که نیاز به تفسیر شرایط در یک توافق دارند، به سختی می توانند مفید واقع شوند. با این حال، آن ها می توانند برای برنامه های ساده تری مانند تراکنش های ارزهای دیجیتال، که در آن داده ها (داده های قیمت، امضاها، آدرس ها و غیره) روی بلاک چین هستند و درک شرایط آسان تر است، به خوبی کار کنند.
اجماع
قراردادهای هوشمند باید هوشمندتر باشند.
با وجود محدودیت ها و مشکلات قراردادهای هوشمند، آنها کاربردهای خاص خود را دارند. اما قبل از اینکه تصاویر آرمانی و رویایی مبلغین بلاکچینی به واقعیت تبدیل شود، نیاز به توسعه گسترده دارند. توسعه دهندگان باید برای رفع بزرگترین مشکلات قراردادهای هوشمند تلاش کنند. به عنوان مثال، پروتکلی که امکان اصلاح قرارداد هوشمند را فراهم می کند، به شرطی که همه طرفین با آن موافقت کنند، می تواند کاربردهای این فناوری را بهبود بخشد.
شاید با گذشت زمان، قراردادهای هوشمند واقعا هوشمند شوند و به همه احتمالات شناسایی شده و امکانات معرفی شده توسط متخصصان دست یابند. اما در حال حاضر، هنوز راه درازی تا قراردادهای هوشمند باهوشی که می توانند جهان را متحول کنند، باقی مانده است.
دیدگاهتان را بنویسید