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