قرارداد هوشمند (Smart Contact) چیست؟

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

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

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

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

طراح قراداد هوشمند کیست؟

در سال ۱۹۹۴ فردی به‌نام نیک سابو (Nick Szabo) ایده‌ای را مطرح کرد که مبتنی بر آن شرکت‌ها می‌توانستند بدون نیاز به اعتماد به فرد ثالث قراردادها را بین یکدیگر منعقد کنند. ایده‌ سابو این بود که قراردادها به‌صورت کدهای رایانه‌ای نوشته و در یک فضای رمزنگاری شده قرار داده شود. سپس هر زمان تمام شرایط قرارداد به‌طور کامل اجرا شود نرم‌افزار به‌طور خودکار قرارداد را کامل شده تلقی کرده و معامله را آزاد کند.

سابو بعدها کتابی به‌نام « قرارداد هوشمند : ساخت بلاک برای بازارهای دیجیتال آزاد» (Smart Contracts: Building Blocks for Digital Free Markets) نوشت و در آن ایده خود را به‌طور کامل شرح داد اما به‌علت عدم رشد فناوری بلاک‌چین در آن زمان هیچکدام از ایده‌های سابو عملی نشدند. تا اینکه در سال ۲۰۰۹ بیت کوین اولین کاربرد فناوری بلاکچین را معرفی کرد. جالب است بدانید که سابو در آن زمان سازوکاری را برای ایجاد یک ارز دیجیتال غیرمتمرکز به‌نام بیت گلد طراحی کرد که بسیاری از ایده‌های وی در بیت کوین کنونی اجرایی شده‌اند. در سال ۲۰۱۵ جوان نابغه روس، ویتالیک بوترین (Vitalik Buterin) اتریوم را تأسیس و اولین نمونه از قرارداد هوشمند را برپایه ایده‌های سابو معرفی کرد.

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

همانطور که گفتیم، قرادادهای هوشمند روی بلاک چین پیاده‌سازی می‌شود و خاصیت اصلی بلاک چین هم توزیع‌شده بودنِ آن است. جدا از فرایندهای پیچیده فنی، وقتی قرارداد هوشمند روی بلاک چین ثبت شود میان همه اعضای بلاک چین یا همان نودها (Node) به اشتراک گذاشته می‌شود و همه یک نسخه از آن را خواهند داشت، بنابراین جلوگیری از اجرای آن یا دستکاری در آن تقریبا ممکن نیست زیرا همه اعضای بلاک چین آن را اجرا می‌کنند، نه یک یا چند سرور و نهاد متمرکز.

کد قرارداد هوشمند پس از نوشته شدن توسط برنامه‌نویس از طریق یک کلاینت (نرم افزار رسمی که شما را مستقیم به بلاک چین متصل می‌کند) به صورت یک تراکنش بر روی بلاک چین ثبت می‌شود. قراردادهای هوشمند توسط یک یا چند زبان برنامه‌نویسی نوشته می‌شوند. مثلا زبان برنامه نویسی قراردادهای هوشمند اتریوم، سالیدیتی (Solidity) است. پس برای یادگیری نوشتن یک قرارداد هوشمند برای بلاک چین اتریوم نیاز است تا زبان برنامه‌نویسی سالیدیتی را یاد بگیرید.

زمانی که یک قرارداد هوشمند بر روی یک بلاک چینِ آزاد مثل اتریوم اجرا شود، دیگر قابل توقف نیست و هیچ‌کس نمی‌تواند جلوی اجرای آن را بگیرد. با قراردادهای هوشمند می‌توان برنامه‌ها و پروژه‌هایی را ساخت که بدون هیچ‌گونه واسطه‌ و از کارافتادگی تا ابد به کار خود ادامه دهند. به این برنامه‌ها برنامه‌های غیرمتمرکز (Dapp) هم می‌گویند. حتی خودِ برنامه‌نویس قرارداد هوشمند هم نمی‌تواند کد قرارداد هوشمند ثبت شده در بلاک چین را تغییر دهد.

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

برای ایجاد یک قرارداد هوشمند به چه نیاز داریم؟

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

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

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

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

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

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

  • انسان‌های خطاکار: طبیعتا کدها در قرارداد هوشمند توسط انسان نوشته می‌شود و آدمی‌زاد نیز ممکن است دچار اشتباه گردد. اگر قرارداد هوشمند بر روی بلاک‌چین قرار گیرد، خوش‌بختانه یا متاسفانه دیگر نمی‌توان آن را تغییر داد. یکی از معروف‌ترین خطاهای انسانی درباره قراردادهای هوشمند برای The DAO روی داد. اشتباه برنامه‌نویسان در نوشتن این کد برای کاربر مذکور بسیار گران تمام شد و برخی هکرها از ضعف‌های قرارداد توانستند بهترین استفاده را کنند و حدود 50 میلیون دلار را به سرقت ببرند!
  • هزینه نوشتن کد: قراردادهای هوشمند را نمی‌توان بدون برنامه‌نویسی و استفاده از الگوریتم‌های تورینگ پیاده کرد. لازم است حتما از یک یا چند برنامه‌نویس زبده برای نگارش این نوع قراردادها استفاده نمود. البته موضوع دیگری هم مطرح می‌شود. باید کمپانی‌های طرف قرارداد هر دو با تکنولوژی بلاک‌چین سازگار باشند.
  • ضعف‌های پلتفرم اتریوم: اگر قرارداد هوشمند مورد نظر در اتریوم تهیه و اجرا شود، مشکلاتی را در پی دارد. به‌عنوان مثال ممکن است ماشین مجازی اتریوم دچار ضعف شود و همین باگ باعث می‌گردد تا هکرها چندین میلیون دلار به سرقت ببرند. نوع دیگر از مشکلات، الگوریتم‌های غلط هستند که ممکن است حفره‌های امنیتی را ایجاد کنند و موجب نفوذ اشخاص ثالق به قرارداد شوند.

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

  • بیت کوین: بلاک چین بیت کوین برای پردازش معاملات بیت کوین گزینه‌ای بسیار عالی است، اما قابلیت‌های کمی برای پردازش اسناد دارد.
  • زنجیره‌های جانبی (Side Chains): این نام دیگر بلاکچین‌هایی است که در مجاورت بیت کوین فعالیت می‌کنند و فضای بیشتری را برای پردازش قراردادها فراهم می‌کنند.
  • NXT : NXT یک پلتفرم بلاک چین عمومی است که گلچین محدودی از الگوها برای قراردادهای هوشمند است. شما باید از آنچه در اختیارتان گذاشته می‌شود استفاده کنید؛ در واقع قادر به کدنویسی نیستید.
  • اتریوم: اتریوم یک پلتفرم عمومی بلاک چین و برای رمزگذاری و پردازش قراردادهای هوشمند بسیار پیشرفته است. شما می‌توانید به راحتی کد دلخواه خود را بارگزاری کنید اما باید برای انجام این کار توکن‌های “ETH” پرداخت کنید.
قبلی «
بعدی »

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسترسی به مطالب

نوشته‌های تازه

اخبار