امین محقق | 2016.09.29

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

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

تاریخ آخرین به‌روزرسانی این مقاله: اسفند ۱۳۹۹

20 سال از شروع هزاره سوم گذشت و حالا حتی آن‌هایی که با جدیدترین دستاورد فناوری‌ ارتباطات و اطلاعات یعنی بلاکچین آشنا نیستند، نام اتریوم را شنیده‌اند. اتریوم درحال‌حاضر با ارزش بازاری 210 میلیارد دلار، دومین رمز ارز بزرگ محسوب می‌شود. برای اینکه اتریوم را به‌درستی درک کنیم، ابتدا باید مفهوم بلاک چین و بیت کوین را بدانیم و سپس قراردادهای هوشمند را بشناسیم.

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

قرارداد هوشمند چیست؟

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

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

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

پیشنهاد مطالعه: راه‌‌اندازی انجمن توسعه قرارداد هوشمند توسط زنان توانمند ایرانی

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

مخترع قرارداد هوشمند کیست؟

نیک سابو (Nick Szabo) در سال 1994 برای اولین بار این ایده را بازگو کرد که امکان ذخیره‌سازی قراردادها در قالب یک دستور کامپیوتری و سپس فعال‌سازی خودکار آن درصورت برآورده شدن شرایط مشخص در قرارداد، وجود دارد. وی برای آن، نام قرارداد هوشمند را برگزید. نیک سابو در کتاب «قراردادهای هوشمند: سنگ بنای بازارهای آزاد دیجیتال» بیان کرد که این ایده به‌صورت بالقوه، نیاز به وجود طرف واسطه‌ی مورد اعتماد را از میان برمی‌دارد. تنها مسئله این بود که در آن زمان هنوز اختراعی به نام بلاک چین صورت نگرفته بود.

در سال 2009، پروتکل بیت کوین برای اولین بار از فناوری بلاک چین استفاده کرد و سپس در سال 2015، شبکه‌ی اتریوم توسط یک نابغه به‌نام ویتالیک بوترین بنیان‌گذاری شد که اولین نمونه‌های قرارداد هوشمند را پیاده‌سازی و راه‌اندازی کرد. قبل‌تر موفقیت بیت کوین موجب شد بسیاری، بلاک چین را معادل با بستری برای انتقال ارزهای دیجیتال بدانند. اما درواقع بلاک چین کاربردهای گسترده‌ای از جمله پیاده‌سازی قراردادهای هوشمند دارد.

قرارداد‌های هوشمند امروزی، ریشه‌ای نیز در قرارداد‌های ریکاردین (Ricardian) دارند؛ مفهومی که توسط یان گریگ (Ian Griegg) و گری هولند (Gary Howland) معرفی شد. قرارداد ریکاردین که به عنوان پلی میان قرارداد‌های مکتوب و دستورهای کامپیوتری شناخته می‌شود، شامل این موارد است: (1) یک قرارداد که توسط صادرکننده به دارنده پیشنهاد شده است. (2) دارای یک حق باارزش برای دارنده است و توسط صادرکننده مدیریت می‌شود. (3) خواندن آن برای مردم آسان است. (4) قابل خواندن توسط برنامه‌های کامپیوتری است. (5) به صورت دیجیتال امضا شده. (6) حامل اطلاعات کلید‌های رمزنگاری و اطلاعات سرور است. (7) به یک شناسه منحصربه‌فرد و امن متصل شده است.

قرارداد هوشمند چیست؟ Smart Contract

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

قرارداد‌های هوشمند در کل چند وظیفه دارند:

  • 1) یک توافق پیچیده بین طرفین متعدد را مدیریت می‌کنند.
  • 2) به عنوان یک حساب دارای رویه امضای چندگانه، عمل می‌کنند که توسط مکانیزم حد نصاب آرا به اجماع می‌رسد.
  • 3) ابزاری برای قراردادهای دیگر هستند.
  • 4) یک بانک اطلاعاتی برای برنامه‌ها هستند که سوابق مشارکت و اطلاعات ثبت دامنه را نگه‌داری می‌کند.

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

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

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

در انجام امور دولت‌ها، قرارداد‌های هوشمند تاکنون در زمینه بهبود سیستم‌های رأی‌دهی استفاده شده است. برنامه FollowMyVote از قرارداد هوشمند بهره می‌گیرد تا فرآیند‌های ثبت و نتایج آرا را به‌صورت قابل ردیابی و شفاف انجام دهد.

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

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

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

قرارداد هوشمند چگونه عمل می‌کند؟

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

قرارداد هوشمند چگونه عمل می‌کند؟

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

ویتالیک بوترین (Vitalic Buterin)، بنیان‌گذار شبکه اتریوم گفته بود که از پذیرش نام «قرارداد هوشمند» کاملا پشیمان است! او می‌گوید: «باید آن‌ها را با نامی کسل‌کننده‌تر و فنی‌تر مثل دستورهای همیشگی (Persistent Codes) خطاب می‌کردیم.»

یک قرارداد هوشمند با یک آدرس (شناسه 160 بیتی) شناخته می‌شود و دستور آن در بلاک چین موجود است. هر قرارداد از دو قسمت تشکیل می‌شود؛ فضای ذخیره خصوصی (Private Storage) و مقدار کوین‌‎های موجود در آن. دستور قرارداد می‌تواند متغیرها را در کل اکوسیستم تغییر دهد. دستور قرارداد هوشمند اتریوم در یک زبان برنامه‌نویسی سطح پایین موجود است که تحت عنوان ماشین مجازی اتریوم (EVM) شناخته می‌شود. قراردادها با زبان برنامه‌نویسیِ سطح بالایی مثل سالیدیتی (Solidity) نوشته می‌شوند که سپس به صورت کد ماشین مجازی اتریوم اجرا می‌شوند. کاربران با ارسال تراکنش به آدرس قرارداد آن را فراخوانی می‌کنند.

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

سازنده این قرارداد، دستور مربوط به این معما (Puzzle) را به صورت کد ماشین مجازی اتریوم (EVM)، در یک تراکنش تحت عنوان ایجاد قرارداد (Contract Creation) جای داده است. زمانی که این تراکنش در بلاک چین تأیید شود، گره‌های اعتبارسنج به صورت ناشناس آخرین وضعیت بلاکچین را تغییر می‌دهند و وضعیت جدید قرارداد را در سه مرحله به‌روزرسانی می‌کنند:

قرارداد هوشمند چیست

ابتدا یک آدرس منحصربه‌فرد جدید برای قرارداد درنظر گرفته می‌شود. سپس فضای ذخیره خصوصی قرارداد با اجرای دستور تابع Puzzle (خط 8) تخصیص می‌یابد. در نهایت نیز کد ماشین مجازی قابل اجرا که مطابق با تابع مشخص‌شده (خط 15 به بعد) است، به قرارداد متصل می‌شود. هر تراکنشی که این قرارداد را فراخوانی کند، به صورت پیش‌فرض تابع function را اجرا خواهد کرد. همان‌طور که مشاهده می‌کنید، اطلاعات فرستنده، ارزش (مقدار اتر ارسال شده به آدرس قرارداد) و داده‌های قرارگرفته در تراکنش فراخوانی قرارداد در یک متغیر ورودی پیش‌فرض به نام msg ذخیره شده است. برای مثال فرض کنید صاحب قرارداد متغیر reward را با فراخوانی یک تراکنش T0  با توکن اتر، تغییر می‌دهد. به هرحال قبل از به‌روزرسانی متغیر پاداش، قرارداد مقایری اتر معادل با سطح پاداش فعلی به صاحب قرارداد می‌پردازد. نتیجه تراکنش T0 یک وضعیت جدید برای قرارداد Puzzle است که مقدار reward متفاوتی دارد. همچنین در دستورات خطوط 22 تا 29 مشاهده می‌شود که کاربران می‌توانند پاسخ‌های خود را از طریق یک کانال تراکنش متفاوت با ظرفیت ترابری مجزا ارسال کنند و اگر محاسبات آن‌ها صحیح باشد، پاداش‌ها به آدرس آن‌ها ارسال می‌شود.

 برای مثال یک قرارداد هوشمند بیمه تأخیر پرواز به این گونه عمل می‌کند:

  • 1) یک کاربر با ارسال توکن اتر به آدرس یک قرارداد هوشمند (یک برنامه در بلاک چین اتریوم) درخواست بیمه پرواز می‌کند.
  • 2) قرارداد هوشمند یک درخواست را به تأمین‌کننده خدمات اوراکل می‌فرستد تا اطلاعات مربوط به تاریخ و جزئیات مسیر پروازها را استخراج کند.
  • 3) قرارداد هوشمند از اطلاعات استفاده می‌کند تا تشخیص دهد که آیا حق بیمه‌ی پرداخت شده کافی است یا خیر. اگر این مبلغ پذیرفته شود، قرارداد هوشمند از خدمات اوراکل می‌خواهد که آخرین وضعیت پرواز مورد نظر را به صورت آنی گزارش دهد.
  • 4) پلتفرم خدمات اوراکل از اطلاعات منابعی چون FlightRadar24 استفاده می‌کند تا وضعیت پرواز را به قرارداد هوشمند گزارش دهد.

اگر پرواز تأخیر داشته باشد، قرارداد هوشمند به صورت خودکار مبلغ جبرانی را به کاربر پرداخت می‌کند؛ در غیر این صورت مبلغ حق بیمه را به حساب خود واریز می‌کند.

مزایای قرارداد هوشمند چیست؟

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

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

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

درمجموع از مزایای قرارداد هوشمند می‌توان با عناوین خودمختاری، عدم نیاز به اعتماد، غیرقابل‌ تغییر بودن، امنیت، سرعت، دقت و شفافیت نام برد.

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

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

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

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

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

بلاک چینی مثل بیت کوین نه تنها بر یک رشته از داده‌ها بلکه بر محاسبات انجام‌شده بر روی این داده‌ها نیز به اجماع می‌رسد. در پلتفرم بیت کوین این داده‌ها، تراکنش‌های مالی هستند و محاسبات، مربوط به تأیید اعتبار تراکنش‌ها و به‌روزرسانی ساختار داده متشکل از مجموعه خروجی تراکنش‌های انجام نشده (تراز حساب کاربران) است.

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

اتریوم:

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

NEO:

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

مشابه با اتریوم، این پروتکل می‌تواند فراتر از تراکنش‌های مالی رفته و تراکنش‌های پیچیده‌تر را اجرا کند. البته این پلتفرم ویژگی‌های متمایزکننده‌ای نیز دارد.

پیشنهاد مطالعه: معرفی نئو (NEO): یک شبکه باز برای اقتصاد هوشمند (Smart Economy)

پلتفرم نئو به برنامه‌نویسان اجازه می‌دهد در زبان‌های برنامه‌نویسی دیگری بتوانند قرارداد‌های هوشمند را پیاده‌سازی کنند. این شبکه درحال حاضر از مکانیزم اجماع اثبات سهام استفاده می‌کند که توان محاسباتی بسیار بیشتری از مکانیزم اثبات کار در بیت کوین و اتریوم دارد. همچنین این پروزه دو توکن دارد: NEO و GAS که دومی زمانی که NEO در یک کیف پول، رسما نگه‌داری شود، به صورت خودکار ساخته می‌شود.

Cardano:

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

پیشنهاد مطالعه: بررسی سير تکامل نسل های مختلف بلاک چین: از بیت کوین تا کاردانو

NEM:

این پلتفرم بلاک چین فرد به فرد، اواسط سال 2015 راه‌اندازی شد. این پروژه درحال حاضر یکی از اولین انتخاب‌های بسیاری از برنامه‌نویس‌ها است، زیرا دستورات قرارداد هوشمند در آن به وسیله زبان برنامه‌نویسی جاوا نوشته می‌شود. بنا به گفته متخصصان، به‌روز‌رسانی Mijin V2 این پلتفرم را تبدیل به امن‌ترین بستر قرارداد هوشمند کرده است. درحالی‌که شبکه اتریوم 15 تا 20 تراکنش درثانیه انجام می‌دهد، این پلتفرم قادر به انجام 100 تراکنش درثانیه است.

HyperLedger Fabric:

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

 این پلتفرم یک رویکرد برنامه‌نویسی پیمانه‌ای برای ساختن بلاک‌چین دارد که به شرکت‌ها کمک می‌کند تا بلاک چینی بسازند که مناسب کسب‌وکار آن‌هاست. این پروژه توانسته است توجه شرکت‌های بزرگی چون IBM، JP Morgan، Intel و سامسونگ را به خود جلب کند.

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

پیشنهاد مطالعه: هایپرلجر فابریک – پلتفرمی جامع برای راه حل های دنیای کسب و کار

محدودیت‌های قرارداد هوشمند

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

بلاک چین‌ها نمی‌توانند حجم نامحدود داده را ذخیره کنند. برای مثال بلاک چین بیت کوین داده‌های ورودی و خروجی کوین‌ها و 40 بایت فراداده برای هر تراکنش را ذخیره می‌کند، همین!

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

مسئله‌ی ذخیره‌سازی داده‌ها‌ی حجیم به شکلی که در برابر سانسور نیز محفوظ بمانند، با راه‌حل خدمات اشتراک‌گذاری فایل توزیع‌شده مثل پایگاه داده بین سیاره‌ای پروژه Protocol Labs و یا سیستم ذخیره‌سازی ابری غیرمتمرکز Storj Labs رفع می‌شود. مشکل داده‌های دنیای واقع نیز توسط چیزی که برنامه‌نویسان آن را اوراکل می‌نامند حل می‌شود. این اوراکل‌ها خدماتی هستند که در ازای گرفتن یک کارمزد، از منابع داده به صورت آنی و در لحظه گزارش می‌گیرند و داده‌ها را به قراردادهای هوشمند در یک بلاک چین تزریق می‌کنند.

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

 وابستگی به ترتیب تراکنش‌ها: زمانی که 2 تراکنش، یک قرارداد را در یک زمان فراخوانی می‌کنند و ترتیب تراکنش‌ها پیامد‌ها را تغییر می‌دهد.

وابستگی به مهر زمانی (timestamp dependencies): زمانی که تغییر دادن مقدار یک مهر زمانی به پیامدهای دلخواه استخراج‌گران می‌انجامد.

استثنائات خرابکار (mishanded exceptions): زمانی که یک قرارداد هوشمند یک قرارداد دیگر را فراخوانی می‌کند اما مقادیر برگشتی را مشخص و یا کنترل نمی‌کند.

نتیجه‌گیری

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

در پایان ملزم به یادآوری است که غیرممکن بودن نوشتن هرگونه احتمالی در یک کد قرارداد هوشمند و همچنین ضرورت راه‌حل‌های رفع اختلاف‌ها ومکانیزم‌های حکم‌رانی خارج از زنجیره (Off-chain Governance)، همگی بحث‌های برجسته‌ای در زمینه سیستم‌های رمز ارز هستند.

بنابر قانون آمارا (Amara’s Law)، ما تمایل داریم که درباره‌ی یک فناوری جدید در کوتاه‌مدت بیش‌ ازحد خوش‌بین باشیم و در بلند‌مدت آن را دست‌کم بگیریم. گرچه قراردادهای هوشمند قبل از استفاده‌ی گسترده در روابط پیچیده تجاری باید کامل‌تر شوند، اما آن‌ها قادر هستند ساختار انگیزه و پاداش را به گونه‌ای متحول کنند که تعاملات و قراردادهای افراد و سازمان‌‌ها بهبود یابد. از همین جهت بهتر است به یاد داشته باشیم که انقلاب واقعی قراردادهای هوشمند از پارادایم‌های تازه‌ای نشأت می‌گیرد که هنوز به درستی درک نکرده‌ایم.

 

منبع ۱، ۲، ۳، ۴