قراردادهای هوشمند امکان اجرای تراکنشهای خودکار و امن را از طریق کدهایی که به صورت خودکار روی شبکههای بلاک چین اجرا میشوند، فراهم میکنند. این قراردادها، اجرای توافقنامهها را راحت کرده و نیاز به وجود واسطه یا مداخلات انسانی را حذف میکنند. در این مطلب توضیح میدهیم که قراردادهای هوشمند چطور کار میکنند، چه کاربردهایی دارند و در سیستمهای سنتی با چه چالشهایی روبرو هستند.
نکات کلیدی
- قراردادهای هوشمند، امکان اجرای خودکار توافقنامههای دیجیتال را به شکل امن فراهم میکنند.
- این قراردادهای دیجیتال، نیاز به وجود واسطهها را از بین برده و تراکنشها را به شکل مطمئن و سریع اجرا میکنند.
- بهرهوری و مقرون به صرفه بودن قراردادهای هوشمند میتواند در صنایعی مثل اقتصاد، زنجیره تأمین و املاک و مستغلات مفید باشد.
- تعدادی چالش از نظر حقوقی، امنیتی و مقیاسپذیری برای قراردادهای هوشمند وجود دارند اما اصلاحات و پیشرفتهای مستمر میتوانند به رفع چنین چالشهایی کمک کنند.
قرارداد هوشمند چیست؟
- قراردادهای هوشمند راهکاری جدید برای ایجاد و اجرای توافقنامههای دیجیتال هستند. این برنامههای کامپیوتری، مستقیماً روی یک شبکه بلاک چین مستقر و اجرا میشوند. چنین قراردادهایی حاوی کدهایی هستند که شرایط از پیش تعیین شده را مشخص کرده و در صورت برقرار شدن این شرایط، به صورت خودکار فعال میشوند.
به طور خلاصه، قراردادهای هوشمند نیاز به همکاری با وکلا، کاغذبازیهای اداری و بروکرها را حذف میکنند.
قراردادهای هوشمند به جای سرورهای متمرکز روی شبکههای بلاک چین غیرمتمرکز اجرا میشوند. بنابراین با استفاده از این قراردادها چندین نفر میتوانند به صورت امن، دقیق و بدون نیاز به مداخله به یک خروجی امن مشترک برسند.
ماهیت غیرمتمرکز قراردادهای هوشمند باعث شده که این قراردادها برای اتوماسیون هم بسیار مناسب باشند. چنین قراردادهایی بدون نیاز به وجود یک مرجع مرکزی کار میکنند در نتیجه مشکل وجود یک نقطه شکست واحد یا آسیب پذیری در برابر حملات مخرب را ندارند.
اتوماسیون نقش مهم و محوری در عملکرد این قراردادها دارد چون احتمال خطای انسانی را کاهش داده و امکان اجرا بدون دخالت واسطهها را فراهم میکند.
قراردادهای هوشمند به کاهش ریسک طرف مقابل و هزینهها و افزایش بهرهوری و شفافیت در توافقنامههای چند طرفه کمک میکنند.
قراردادهای هوشمند چطور کار میکنند؟
قراردادهای هوشمند روی بلاک چینهای غیرمتمرکز مثل اتریوم اجرا میشوند. این قراردادها، قوانین تجاری را کدگذاری کرده و روی بلاک چین یا دفتر کل توزیع شده و با استفاده از یک ماشین مجازی اختصاصی اجرا میشوند.
به طور خلاصه، قراردادهای هوشمند بر اساس منطق if/when…then… کار میکنند. وقتی شرایط مورد نظر برقرار شده و شبکه نودها برقراری شرایط را تأیید کردند، قرارداد کارهای تعیین شده را به صورت خودکار انجام میدهد.
در مجموع، برای تولید قراردادهای هوشمند، مشاغل یا سایر تیمهای مربوطه با توسعه دهندگان همکاری میکنند. برای انجام این کار، توضیحات مربوط به رفتار مورد انتظار از قرارداد در برابر رویدادهای مشخص در اختیار توسعه دهنده قرار میگیرد.
کارهای سادهای مثل مجاز کردن اجرای یک تراکنش، تأیید تحویل یا رسیدن یکسری مقادیر به حدی مشخص میتوانند باعث فعال شدن قراردادهای هوشمند شوند. سناریوهای پیچیدهتر هم میتوانند شامل محاسبه و پردازش مشتقات یا آزادسازی پرداخت بیمه به محض تأیید یکسری رویداد خاص – مثلاً بلایای طبیعی یا درگذشت یک فرد – باشند.
توسعه دهندگان از یک پلتفرم توسعه قرارداد هوشمند برای کدگذاری و تست قرارداد استفاده میکنند تا مطمئن شوند که رفتار قرارداد به صورت مورد انتظار است.
معمولاً قرارداد هوشمند تکمیل شده یک فرایند بازرسی امنیتی را طی میکند که توسط یک کارشناس داخلی یا یک شرکت متخصص در زمینه امنیت قرارداد هوشمند انجام میشود. پس از تأیید، قرارداد روی دفتر کل توزیع شده یا بلاک چین انتخابی مستقر میشود.
پس از استقرار، قرارداد هوشمند به یک اوراکل متصل میشود. اوراکل یک منبع داده ایمن سازی شده است که دادهها و اطلاعات لحظهای را تأمین میکند. هر زمان یک قرارداد، دادههای تأیید شده را از یک یا چند اوراکل دریافت کند که نشان دهنده برقراری شرایط هستند، کارهای از پیش برنامه ریزی شده را انجام میدهد.
تکنولوژی بلاک چین و قراردادهای هوشمند
قراردادهای هوشمند و بلاک چین
تکنولوژی غیرمتمرکز و ضد دستکاری بلاک چین با ذخیره کردن هر تراکنش روی شبکهای از نودها، از قراردادهای هوشمند پشتیبانی میکند. این تمرکززدایی کمک میکند که اعضای مختلف بدون وابستگی به یک مرجع مرکزی با هم در ارتباط باشند و یک محیط امن و مطمئن برای کار کردن قراردادهای هوشمند فراهم میکند.
تکنولوژی دفتر کل توزیع شده با فراهم کردن امکان ثبت امن دادهها در سطح شبکه، پایه و اساس شبکه بلاک چین را تشکیل میدهد. هر اقدام در قرارداد هوشمند روی چندین نود مختلف ذخیره میشود – تا اطلاعات به صورت دائم و شفاف ذخیره شوند.
این ساختار قابلیت اطمینان دادهها را افزایش داده و آنها را در برابر دستکاری امن میکند تا یک لایه امنیتی دیگر برای آنها اضافه شود.
نقش اوراکلها
اوراکلها شبکههای بلاک چین را به منابع داده بیرونی وصل کرده و به قراردادهای هوشمند امکان میدهند که با اطلاعات دنیای واقعی در تعامل باشند.
برای مثال، یک قرارداد بیمه میتواند بر اساس اطلاعات تأیید شده آب و هوا که توسط یک اوراکل تأمین شده، به صورت خودکار یک فرایند پرداخت را اجرا کند. بدون اوراکلها، قراردادهای هوشمند محدود به دادههایی هستند که روی بلاک چین قرار دارند در نتیجه قابلیتهای آنها کاهش پیدا میکند.
قراردادهای هوشمند بین زنجیرهای
قابلیت تعامل بین زنجیرهای به قراردادهای هوشمند روی بلاک چینهای مختلف امکان میدهد که با یکدیگر ارتباط برقرار کنند تا محدوده کاربرد آنها افزایش پیدا کند.
مثلاً، یک قرارداد بین زنجیرهای میتواند امکان مبادله دارایی را بین اتریوم و پولکادات فراهم کند تا محدوده عملیات قابل اجرا در حوزه اقتصاد غیرمتمرکز را توسعه دهد.
چه زبانهای برنامه نویسی برای قراردادهای هوشمند بهتر هستند؟
توسعه دهندگان برای ایجاد قراردادهای هوشمند از انواع زبانهای برنامه نویسی استفاده میکنند – که هر کدام برای یک بلاک چین خاص طراحی شدهاند.
همچنان سالیدیتی زبان برنامه نویسی اصلی برای اتریوم و سایر بلاک چینهای سازگار با EVM است.
گزینه پرکاربرد بعدی برای نوشتن قراردادهای هوشمند روی شبکه اتریوم، Vyper است که راهکاری امنتر و سادهتر با دستوراتی شبیه پایتون است.
برای بلاک چینهای غیر EVM مثل سولانا و پولکادات، معمولاً از راست (Rust) استفاده میشود چون این زبان قابلیتهای امنیتی و عملکرد خوبی دارد.
برای Aptos و Sui از زبان موو (Move) استفاده میشود که توسط فیسبوک برای پروژه Diem طراحی شده و تمرکز ویژهای بر انعطافپذیری و امنیت دارد.
WebAssembly (WASM) هم قابلیت سازگاری بین پلتفرمی را دارد و امکان توسعه قراردادهای هوشمند را به زبانهایی مثل سی، جاوااسکریپت، تایپ اسکریپت و راست فراهم میکند.
پیشرفت قراردادهای هوشمند
مفهوم قرارداد هوشمند اولین بار در دهه 90 میلادی مشاهده شد؛ یعنی زمانی که نیک سابو ایده استفاده از پروتکلهای دیجیتال را برای اتوماسیون و اجرای توافقنامهها مطرح کرد. او با مثال ماشین فروش خودکار نشان داد که قراردادهای هوشمند چطور میتوانند با پیروی از شرایط از پیش تعیین شده، تراکنشها را اتوماسیون کنند.
سابو آیندهای را متصور شد که در آن سیستمهای دیجیتال توانایی مدیریت قراردادهای حقوقی را داشته و نیاز به وجود واسطه یا داور را کاهش میدهند. ایدههای او با پیشرفت فناوری بلاک چین محبوبیت پیدا کردند، بخصوص با راهاندازی اتریوم در سال 2015 که برای قراردادهای هوشمند، کاربردی عملی ایجاد کرد.
کار سابو، اولین نمونه از اتوماسیون قراردادهای هوشمند بود که در نهایت پایههای لازم را برای تولید قراردادهای هوشمند مبتنی بر بلاک چین فراهم کرد.
نقش بیت کوین
بلاک چین بیت کوین که در سال 2009 راهاندازی شد، یکی از اولین اشکال یک پروتکل قرارداد هوشمند را نشان داد. این بلاک چین نشان داد که چطور میتوان شرایط لازم برای اجرای تراکنش را اعمال کرد.
مثلاً کاربران باید تراکنشها را با استفاده از یک کلید خصوصی امضاء کنند که با آدرس عمومی آنها تطبیق دارد و باید موجودی لازم را برای تکمیل تراکنش داشته باشند. این ویژگیها، به ایجاد روشی امن و خودکار برای اجرای تراکنشها در شبکه کمک کردند.
در سال 2012، بیت کوین نوع دیگری از قرارداد هوشمند را اضافه کرد یعنی تراکنشهای چند امضایی. برای استفاده از این قابلیت، چند نفر (که هر کدام کلید عمومی و خصوصی خودشان را دارند) باید یک تراکنش را امضاء کنند تا تراکنش قابل تأیید باشد.
تراکنشهای چند امضایی، با الزام به وجود چندین تأیید مختلف سطح امنیت را به طور چشمگیری افزایش دادند. این تراکنشها ریسک ناشی از گم یا هک شدن یک کلید خصوصی را کاهش میدهند.
طی چند سال بعد، بیت کوین و بلاک چینهای دیگر شروع به آزمایش شرایط قابل برنامه ریزی دیگری به نام آپ کد کردند. اما پیشرفت مهم و اصلی در قابلیت اجرای تراکنشهای هوشمند، با انتشار مقاله سفید اتریوم در سال 2013 ایجاد شد.
اتریوم یک بلاک چین پرکاربردتر بود که امکان اجرای قراردادهای هوشمند مستقل را فراهم کرد.
پلتفرمهایی که از قراردادهای هوشمند پشتیبانی میکنند
اتریوم به دلیل داشتن زیرساختی انعطافپذیر و زبان برنامه نویسی سالیدیتی، پرکاربردترین پلتفرم برای استقرار قراردادهای هوشمند است.
شبکه اتریوم در حوزه اقتصاد غیرمتمرکز، NFTها و اپلیکیشنهای غیرمتمرکز مختلف کاربرد دارد. در حال حاضر این شبکه، گزینه اصلی برای پیاده سازی قراردادهای هوشمند است.
سایر پلتفرمهای بلاک چین
- EOS: EOS یک پلتفرم پرسرعت برای قراردادهای هوشمند است که به مقیاسپذیری و کاهش هزینه تراکنشها اولویت میدهد. EOS طوری طراحی شده که قابلیت پشتیبانی از کاربردهایی در مقیاس عظیم را با سرعت بالا داشته باشد.
- Hyperledger Fabric: هایپر لجر یک بلاک چین permissioned (دارای مجوز) است که برای کاربران سازمانی کاربرد زیادی دارد. مشاغل با استفاده از این بلاک چین میتوانند راهکارهایی را متناسب با فرایندها و مقررات داخلی خودشان پیاده سازی کنند.
- کاردانو: بلاک چین کاردانو از زبان برنامه نویسی Plutus برای قراردادهای هوشمند استفاده میکند و برای ارتقای امنیت، متمرکز بر تأییدهای رسمی است. این ویژگیها باعث شده که کاردانو برای کاربردهایی که قابلیت اطمینان در آنها مهم است از جمله مدیریت پروندههای پزشکی و امور مالی گزینه ایده آلی باشد.
ویژگیهای کلیدی قراردادهای هوشمند
- اتوماسیون: قراردادهای هوشمند به صورت خودکار و زمانی که شرایط تعیین شده برقرار شود، اجرا میشوند؛ در نتیجه به روان شدن جریان کارها و کاهش نیاز به مداخلات دستی کمک میکنند.
- امنیت: رمزنگاری بلاک چین به حفاظت از قراردادهای هوشمند در برابر دسترسی غیرمجاز یا دستکاری کمک میکند.
- شفافیت: دفتر کل بلاک چین همه فعالیتهای اجرا شده توسط قرارداد هوشمند را ثبت میکند تا همه بتوانند شرایط و تاریخچه قرارداد هوشمند را مشاهده کنند. این شفافیت، اعتماد را بین اعضاء تقویت میکند.
- تراکنشهای بی نیاز به اعتماد: قراردادهای هوشمند امکان تعامل بدون نیاز به اعتماد به واسطهها را فراهم میکنند. کد قرارداد، شرایط را اعمال کرده و نیاز به وجود واسطهها را از بین میبرد. همچنین امکان پردازش تراکنشها صرفاً بر اساس شرایط از پیش تعیین شده وجود دارد.
کاربردهای قراردادهای هوشمند
هر چیزی که قابل اندازه گیری و ارزیابی باشد، مثل یک قرارداد معمولی قابلیت تبدیل شدن به قرارداد هوشمند و ذخیره شدن روی بلاک چین را دارد.
مهمترین کاربردهای قراردادهای هوشمند در حال حاضر عبارتند از:
- خدمات مالی: قراردادهای هوشمند فرایندهایی مثل وام دهی، پرداخت و انتقال دارایی را روانتر میکنند. مثلاً قرارداد هوشمند مربوط به وام میتوانذ پس از برقراری شرایط تعیین شده، مبلغ وام را آزاد کند.
- مدیریت زنجیره تأمین: قراردهای هوشمند با رهگیری محصولات از مبدأ تا مقصد شفافیت و مسئولیت پذیری را در زنجیره تأمین افزایش میدهند.
- املاک: قراردادهای هوشمند با اتوماسیون کارهایی مثل انتقال مالکیت و فرایندهای پرداخت، نیاز به واسطه، زمان اجرای تراکنش و پتانسیل خطا را کاهش میدهند.
- توافقنامههای حقوقی: قراردادهای هوشمند امکان اتوماسیون توافقنامههای حقوقی مثل قراردادهای اجاره را فراهم میکنند تا احتمال بروز اختلاف کاهش پیدا کند.
- اپلیکیشنهای غیرمتمرکز: اپلیکیشنهای غیرمتمرکز از قراردادهای هوشمند برای ارایه انواع خدمات بدون نیاز به کنترل مرکزی استفاده میکنند از جمله گیمینگ، خدمات مالی و غیره.