
قرارداد هوشمند در حقوق ایران در نقطه تلاقی قواعد عمومی قراردادها، قانون تجارت الکترونیکی و فناوری بلاکچین قرار دارد. اجرای خودکار کد باعث نمیشود پرسشهایی مانند قصد و رضایت، اهلیت، مشروعیت موضوع، مسئولیت ناشی از خطای برنامهنویسی، اعتبار امضای الکترونیکی و شیوه حل اختلاف بیاهمیت شوند.
قرارداد هوشمند چیست؟
قرارداد هوشمند برنامهای است که روی بلاکچین اجرا میشود و با تحقق شرایط از پیش تعیینشده عملیات مشخصی را انجام میدهد؛ برای نمونه، پس از پرداخت رمزارز، توکن را منتقل میکند یا با کاهش وثیقه، دارایی را به فروش میرساند. باید میان «قرارداد به معنای حقوقی» و «کدی که توافق را اجرا میکند» تفاوت گذاشت؛ این دو همیشه یکسان نیستند.
آیا قرارداد هوشمند در حقوق ایران معتبر است؟
اعتبار رابطه باید براساس قواعد عمومی قراردادها سنجیده شود. وجود قصد و رضا، اهلیت طرفین، موضوع معین و مشروعیت جهت از شرایط اساسی صحت معامله است. اگر توافق این شرایط را داشته باشد، الکترونیکی یا بلاکچینی بودن آن بهتنهایی موجب بیاعتباری نمیشود.
قانون تجارت الکترونیکی نیز دادهپیام را در موارد مقرر در حکم نوشته شناخته و امضای الکترونیکی را پذیرفته است. بنابراین حقوق ایران اصل اعتبار روابط قراردادی الکترونیکی را قبول دارد، هرچند استثناهای قانونی و تشریفات برخی معاملات باید جداگانه بررسی شوند.
آیا خود کد همان قرارداد حقوقی است؟
در بسیاری از پروژهها کد فقط ابزار اجرای قرارداد مکتوب است. در معاملات غیرمتمرکز ممکن است متن جداگانهای وجود نداشته باشد و قصد طرفین از تعامل با کد، رابط کاربری و اطلاعات ارائهشده استنباط شود. در هر دو حالت باید روشن باشد کاربر چه شروطی را دیده و کدام سند حقوق و تعهدات را تعیین میکند.
امضای الکترونیکی و کلید خصوصی
کاربر با کلید خصوصی تراکنش را امضا میکند. این امضا از نظر فنی نشان میدهد تراکنش بهوسیله کلید مربوط صادر شده است، اما آدرس کیف پول بهتنهایی هویت واقعی صاحب آن را ثابت نمیکند. برای انتساب آدرس ممکن است حساب صرافی، گردش مالی، پیامها، ایمیلها و سایر قرائن لازم باشد.
امضای فنی تراکنش نیز همیشه معادل رضایت آگاهانه نسبت به تمام شروط نیست. باید بررسی شود کاربر پیش از تأیید چه اطلاعاتی دریافت کرده، آثار تراکنش چگونه نمایش داده شده و آیا قرارداد دیگری بر رابطه طرفین حاکم بوده است.
اگر کد با متن قرارداد تعارض داشته باشد
فرض کنید متن قرارداد پرداخت ۱۰ هزار تتر را مقرر کرده، اما کد بهدلیل خطا ۱۰۰ هزار تتر منتقل میکند. اجرای بلاکچینی پایان بحث نیست. قصد واقعی، نحوه ایجاد خطا، آگاهی طرفین و حسن نیت دریافتکننده باید بررسی شود. عبارت «کد قانون است» اصل مطلق حقوقی محسوب نمیشود.
برای پیشگیری بهتر است قرارداد صریحاً تعیین کند در صورت تعارض، متن یا کد کدامیک ملاک است و اصلاح نتیجه اشتباه چگونه انجام میشود.
انواع خطا در قرارداد هوشمند
- اشتباه در طراحی اقتصادی یا منطق پروژه؛
- خطای برنامهنویسی و پیادهسازی نادرست؛
- آسیبپذیری امنیتی و سوءاستفاده مهاجم؛
- ورودی اشتباه یا دستکاریشده اوراکل؛
- اشتباه کاربر در مبلغ، شبکه یا پارامترها؛
- سرقت کلید مدیریتی یا نفوذ به رابط کاربری.
مسئولیت در این حالتها یکسان نیست و باید تعهدات هر شخص، تقصیر، استاندارد فنی و رابطه سببیت با خسارت بررسی شود.
اوراکل و مسئولیت دادههای خارجی
اوراکل دادههایی مانند قیمت، نتیجه رویداد یا نرخ دارایی را از بیرون بلاکچین به قرارداد میرساند. اگر داده اشتباه باشد، قرارداد ممکن است بهصورت صحیح اما براساس ورودی نادرست اجرا شود. قرارداد حقوقی باید منبع داده، روش جایگزین، حدود مسئولیت ارائهدهنده و سازوکار توقف اضطراری را مشخص کند.
مسئولیت برنامهنویس قرارداد هوشمند
توسعهدهنده ممکن است کارمند، پیمانکار، عرضهکننده نرمافزار یا منتشرکننده کد متنباز باشد. مسئولیت او به تعهد پذیرفتهشده، استاندارد متعارف، انجام تست و ممیزی، قابلیت پیشبینی خطا و رابطه سببیت بستگی دارد. وجود هر باگ بهتنهایی مسئولیت قطعی ایجاد نمیکند، اما بیاحتیاطی حرفهای یا نقض تعهد میتواند مبنای مطالبه خسارت باشد.
اگر قرارداد هوشمند هک شود
ابتدا باید محل شکست امنیتی تعیین شود: خود کد، کلید مدیریتی، اوراکل، وبسایت، کیف پول کاربر یا فیشینگ. تحلیل فنی تراکنشها، نسخه کد، سطح دسترسی مدیران و زمان وقوع رویداد برای تعیین مسئولیت ضروری است. عبارت کلی «استفاده با مسئولیت کاربر» همیشه همه مسئولیتها را از بین نمیبرد.
فسخ و ابطال قرارداد هوشمند
برگشتناپذیری فنی بلاکچین با غیرقابل فسخ بودن رابطه حقوقی یکسان نیست. ممکن است شخص حق فسخ یا استناد به بطلان داشته باشد، حتی اگر تراکنش قبلی حذف نشود. دادگاه میتواند دریافتکننده را به استرداد همان دارایی، پرداخت معادل یا جبران خسارت محکوم کند.
اگر قرارداد پایه به علت فقدان اهلیت، نامشروع بودن موضوع یا نبود قصد واقعی باطل باشد، اجرای خودکار کد آن را معتبر نمیکند.
اشتباه کاربر و اشتباه کد
ورود اشتباه ۱۰۰ واحد به جای یک واحد با خطای داخلی برنامه تفاوت دارد. در پرونده باید نوع اشتباه، امکان تشخیص آن، رفتار طرف مقابل و هشدارهای رابط کاربری بررسی شود. مستندسازی صفحه تأیید و اطلاعات نمایشدادهشده به کاربر اهمیت زیادی دارد.
اعتبار دادههای بلاکچین و TXID در دادگاه
قانون تجارت الکترونیکی قابلیت استناد دادهپیام را پذیرفته است. TXID میتواند زمان تراکنش، آدرسها، مقدار انتقال و تابع فراخوانیشده را نشان دهد؛ اما دلیل انجام تراکنش، هویت اشخاص و شروط حقوقی را بهتنهایی اثبات نمیکند. داده فنی باید با قراردادها، مکاتبات و سایر ادله ترکیب شود.
برای مطالعه بیشتر، راهنمای ردیابی ارز دیجیتال و ارزش TXID در دادگاه مرتبط است.
قرارداد مکتوب یا اتکا به کد؟
در معاملات مهم بهتر است متن حقوقی مشخص کند موضوع قرارداد چیست، کد چه نقشی دارد، در تعارض کدام ملاک است، ریسک خطا بر عهده چه کسی است، اوراکل چگونه انتخاب میشود و اختلاف چگونه حل خواهد شد. قرارداد هوشمند سپس ابزار اجرای توافق باشد.
قرارداد قابل ارتقا و کلید مدیریتی
اگر مدیر بتواند منطق قرارداد را تغییر دهد، توکن جدید صادر کند یا فعالیت را متوقف سازد، این اختیارات باید شفاف باشد. باید دارنده کلید، شرایط ارتقا، نیاز یا عدم نیاز به رضایت کاربران، تأخیر زمانی تغییرات و سازوکار چندامضایی تعیین شود.
نقش ممیزی امنیتی
ممیزی کد خطر را کاهش میدهد اما نبود خطا را تضمین نمیکند. دامنه بررسی، محدودیت گزارش، نسخه دقیق کد و مسئولیت ممیز باید روشن باشد. هر تغییر پس از ممیزی ممکن است اعتبار نتیجه قبلی را کاهش دهد.
DAO و قراردادهای غیرمتمرکز
در DAO ممکن است شخصیت حقوقی، نمایندگی، مسئولیت اعضا و اثر رأیگیری توکنی روشن نباشد. در نبود قانون اختصاصی جامع، ساختار واقعی باید با قواعد شرکتها، مشارکت، نمایندگی و قراردادها تحلیل شود.
قرارداد هوشمند بینالمللی و قانون حاکم
پراکندگی گرههای بلاکچین تعیین قانون حاکم را دشوار میکند. طرفین بهتر است قانون حاکم، مرجع قضایی یا داوری، محل و زبان داوری و شیوه ابلاغ را دقیق تعیین کنند. قابلیت اجرای رأی در کشور محل دارایی یا اقامت طرف نیز باید از ابتدا سنجیده شود.
داوری در اختلافات قرارداد هوشمند
داوری میتواند امکان انتخاب متخصص حقوقی و فنی را فراهم کند، اما شرط آن باید دقیق باشد. تصمیم یک پروتکل غیرمتمرکز الزاماً رأی داوری معتبر حقوقی نیست؛ رضایت طرفین، آیین رسیدگی و قابلیت اجرای تصمیم باید بررسی شود.
کلاهبرداری از طریق قرارداد هوشمند
کد ممکن است برای نمایش سود ساختگی، توکن تقلبی، برداشت مخفی، محدودیت فروش یا Honeypot استفاده شود. در Rug Pull نیز باید قصد اولیه، وعدهها، اختیارات مدیران و نحوه خروج نقدینگی بررسی شود. هر شکست تجاری جرم نیست، اما کد و تراکنشها میتوانند ادله مهم قصد و رفتار گردانندگان باشند.
بندهای ضروری قرارداد حقوقی
- هویت طرفین، شبکه و آدرس دقیق قرارداد؛
- موضوع و نقش کد در اجرای توافق؛
- ترتیب تقدم متن و کد؛
- اختیارات مدیر و امکان ارتقا یا توقف؛
- اوراکل و مسئولیت خطای داده؛
- مسئولیت باگ، ممیزی و ریسک شبکه؛
- فسخ، استرداد و جبران خسارت؛
- فورسماژور، قانون حاکم و حل اختلاف.
اشتباهات رایج
- اتکا کامل به کد بدون قرارداد حقوقی؛
- نامشخص بودن هویت و آدرسهای طرفین؛
- نبود شرط تقدم متن یا کد؛
- مشخص نکردن مسئولیت اوراکل؛
- تمرکز کلید مدیریتی در اختیار یک شخص؛
- نداشتن توقف اضطراری و ممیزی امنیتی؛
- نامشخص بودن قانون حاکم و مرجع اختلاف.
نقش وکیل ارز دیجیتال
وکیل ارز دیجیتال باید علاوه بر متن قرارداد، عملکرد کد، اختیارات مدیر، اوراکل، مسیر انتقال توکن و دادههای باقیمانده روی بلاکچین را بررسی کند. تحلیل حقوقی و ممیزی فنی مکمل یکدیگرند و هیچیک جای دیگری را نمیگیرد.
جمعبندی
قرارداد هوشمند در حقوق ایران ذاتاً بیاعتبار نیست. دادهپیام و امضای الکترونیکی در نظام حقوقی پذیرفته شدهاند، اما در اختلاف باید قصد طرفین، متن قرارداد، عملکرد کد، دادههای ورودی و نتیجه اجرا جداگانه بررسی شوند. برگشتناپذیری تراکنش مانع فسخ، بطلان، استرداد یا جبران خسارت نیست. بهترین راه، طراحی هماهنگ متن حقوقی و کد از ابتدای پروژه است.
دکتر امیر جوادی؛ وکیل پایه یک دادگستری و مدرس دانشگاه
سؤالات متداول
آیا قرارداد هوشمند در ایران معتبر است؟
اگر شرایط قانونی قرارداد فراهم باشد و با قواعد آمره تعارض نداشته باشد، بلاکچینی بودن موجب بیاعتباری نیست.
اگر کد با قرارداد کتبی متفاوت باشد چه میشود؟
قصد واقعی و شرط تقدم بررسی میشود؛ بهتر است قرارداد از ابتدا تکلیف تعارض را روشن کند.
آیا قرارداد هوشمند قابل فسخ است؟
بله؛ امکان حقوقی فسخ مستقل از برگشتناپذیری فنی تراکنش است.
آیا TXID در دادگاه قابل استناد است؟
برای اثبات وقوع تراکنش مفید است، اما هویت و ماهیت رابطه معمولاً به ادله تکمیلی نیاز دارد.