فهرست مطالب
قرارداد هوشمند یا اسمارت کانترکت (smart contract) توافقی است بین دو شخص یا نهاد در قالب کدهای رایانهای که برای اجرای خودکار برنامهریزی شده است. این ایده در دهه ۱۹۹۰ توسط نیک سابو، یکی از پیشگامان علوم کامپیوتر مدرن پیشنهاد شد. قرار داد هوشمند تحت شرایط و ضوابط خاص یک پروتکل بدون واسط اداره میشود و بندهای قرارداد از طریق بلاکچین که یک دفتر کل توزیع شده و غیرمتمرکز است ذخیره و اجرا میشود.
حتماً تا به حال در سطح شهر دستگاههای خودکار فروش آبمیوه را دیدهاید. در این دستگاه خبری از فروشنده بهعنوان واسطهی بین کارخانه و خریدار نیست. شما محصول موردنظر خود را انتخاب میکنید، پول را وارد یک دستگاه تمام اتوماتیک میکنید و دستگاه با توجه به برنامهای که برای آن مشخص شده، محصول را در اختیار شما قرار میدهد. قرارداد هوشمند نیز تقریباً به این شکل کار میکند. در این قراردادها خریدار بدون نیاز به واسطه مبلغی که برای معامله نیاز است وارد حساب بلاکچین خود میکند؛ سپس این مبلغ با توجه به مفاد قرارداد به حساب طرف دیگر معامله واریز میشود.
تاریخچه
نخستین مرتبه، در سال 1996 آقای نیک سابو (Nick Szabo) به عنوان یک دانشمند علوم کامپیوتر و رمزنگار، قراردادهای هوشمند را تشریح کرد. طی چند سال، آقای سابو درباره این مفهوم فعالیت زیادی انجام داد و تعدادی مقاله به ثبت رساند. او در این مقالات درباره ایده ایجاد شیوههای تجاری مرتبط با قانون قرارداد از طریق طراحی پروتکلهای تجارت الکترونیکی بین افراد غریبه (افرادی که نسبت به یکدیگر شناخت ندارند)، صحبت کرد.
با این حال، مفهوم پیشنهادی در حد یک ایده باقی ماند و پیادهسازی عملی آن تا سال 2009، زمان ظهور نخستین رمز ارز همراه با فناوری بلاک چین، به طول انجامید؛ بلاک چین محیطی مناسب برای پیادهسازی و استفاده از قراردادهای هوشمند فراهم کرد. بد نیست بدانید آقای نیک سابو در سال 1998، مکانیزمی برای یک ارز دیجیتال غیر متمرکز با نام بیت گلد (Bit Gold) طراحی کرد! این طرح نیز هرگز اجرایی نشد. ایده سیستم ارز دیجیتال غیر متمرکز این دانشمند، شامل بسیاری از ویژگیهای بیت کوین است، رمز ارزی که ده سال بعد از مطرح شدن ایده وی ظهور کرد.
این روزها، قراردادهای هوشمند عمدتا با رمز ارزها مرتبط هستند. البته این دو نمیتوانند بدون یکدیگر وجود داشته باشند؛ پروتکلهای رمز ارزهای غیر متمرکز، اساسا یک سری اسمارت کانترکت محسوب میشوند. آنها به طور گسترده در شبکه بیشتر کریپتوکارنسیهای کنونی مورد استفاده قرار میگیرند. اهمیت آنها در شبکه اتریوم دو چندان شده و جزو ویژگیهای برجسته و پرهیاهوی این پروژه به شمار میروند. طبق گفته کارشناسان این موضوع یکی از دلایل افزایش قیمت اتریوم است.
این روزها، اسمارت کانترکتها به صورت عمده توسط رمز ارزها مورد استفاده قرار میگیرد. پروتکلهای غیرمتمرکز ارزهای مجازی در اصل اسمارت کانترکتهایی هستند که رمزنگاری و امنیت غیر متمرکز دارند. این قراردادها به صورت گسترده در شبکههای ارزهای کریپتویی موجود بهکار گرفته میشوند و یکی از برجستهترین ویژگیهای اتریوم هستند.
تفاوت قرارداد هوشمند و قرارداد معمولی چیست؟
چیزی که قرارداد هوشمند را از قراردادهای عادی متمایز میکند، استفاده از فناوری بلاکچین است.
بهعبارت دیگر، قرارداد هوشمند کدی است که روی بلاکچین فعال میشود تا بدون نیاز به واسطهها، شرایط توافقنامهای را بین دو طرف بررسی و اجرا کند.
زمانی که قرارداد هوشمندی روی یک بلاک چینِ آزاد مثل اتریوم اجرا شود، دیگر متوقف نمیشود و هیچکس نمیتواند جلوی اجرای آن را بگیرد؛ مگر اینکه از قبل در کد دستوراتی برای جلوگیری از عملیاتها اعمال شده باشد.
با قراردادهای هوشمند میشود برنامهها و پروژههایی را توسعه داد که بدون هیچگونه واسطه و از کارافتادگی تا ابد به کار خود ادامه دهند. به این برنامهها برنامههای غیرمتمرکز (Dapp) هم میگویند.
اجزای قرارداد هوشمند
هر smart contract از پنج رکن اساسی تشکیل شده که عبارتند از:
۱. امضا کنندگان: هر یک از طرفین اسمارت کانترکت از طریق امضای دیجیتال اعلام میکنند که قرارداد مورد تایید آنهاست.
۲. موضوع قرارداد: قراردادهای هوشمند باید دسترسی سریع به موضوع قرارداد داشته باشند. برای مثال، اگر در معامله قرار است به ازای مبلغی یکی از طرفین فایلی را دریافت کند؛ قرارداد باید به این فایل دسترسی داشته باشد.
۳. شرایط قرارداد: شرایط و ضوابط قرارداد هوشمند به زبان برنامهنویسی سالیدیتی نوشته میشود. این شرایط متناسب با فضای قرارداد نوشته شده و شامل تمام مواردی است که طرفین باید آنها را رعایت کنند (قوانین، خسارات، تخفیفها و …).
۴. اوراکل: سیستمی که قرار است اطلاعات خارج از بلاکچین را به قرارداد ارائه دهد. برای مثال، اگر موضوع قرارداد در رابطه با نفت است، یک سایت برای بررسی قیمت روزانه نفت در قرارداد تعریف میشود.
۵. پلتفرم اختصاصی: این قراردادها ابتدا در یک سیستم اختصاصی منتشر شده و میان کاربران آن توزیع میشوند. پس از آن نیاز به یک پلتفرم رسمی مانند بلاکچین اتریوم دارند تا اجرا شوند.
نحوه عملکرد قرارداد هوشمند یا اسمارت کانترکت
بر اساس تعریفی ساده، یک قرارداد هوشمند ارز دیجیتال به عنوان یک برنامه قطعی (Deterministic Program) کار میکند. اسمارت کانترکت، هنگام و در صورت تحقق یک سری شرایط، عملی مشخص انجام خواهد داد. به همین دلیل میتوان یک سیستم قرارداد اسمارت را دنبالکننده عبارت شرطی “…if… then” دانست. این عبارت، چارچوبی کلی و کاملا ثابت در دنیای کامپیوتر است و تمامی زبانهای برنامهنویسی از آن پشتیبانی میکنند. اگر شروط مشخص شده رو به روی قسمت if برآورده شوند، کد بعد از قسمت then اجرا خواهد شد.
با وجود معروف شدن این دسته برنامههای کامپیوتری قطعی به قرارداد هوشمند آنها در عمل قراردادهایی حقوقی و حتی هوشمند محسوب نمیشوند! اسمارت کانترکتها تنها قطعهای کد بوده و روی یک سیستم توزیع شده (بلاک چین) اجرا میشوند.
در شبکه اتریوم، قراردادهای هوشمند مسئول اجرا و مدیریت عملیاتهای بلاک چین هستند که در زمان تعامل کاربران (آدرسها) با یکدیگر رخ میدهند. هر آدرسی که یک اسمارت کانترکت نباشد، یک حساب متعلق به خارج (EOA –> Externally Owned Account) نام دارد. بنابر این، قراردادهای این چنینی توسط کد کامپیوتری و EOAها توسط کاربران کنترل میشوند.
اساسا اسمارت کانترکتهای اتریوم، از یک کد قرارداد و دو کلید عمومی ساخته میشوند. اولین کلید عمومی، توسط سازنده قرارداد ارائه شده است. دومین مورد خود کانترکت را نشان داده و به عنوان یک شناسه دیجیتالی منحصربهفرد برای هر قرارداد عمل میکند. استقرار هر Smart Contract از طریق یک معامله بلاک چین صورت گرفته و تنها در زمان صدا شدن توسط یک EOA (یا سایر قراردادهای هوشمند) فعال خواهد شد. با این حال، اولین راهاندازی همیشه توسط یک EOA (یک کاربر) صورت میگیرد.
نحوه کار آنها بسیار شبیه یک ماشین وندینگ است؛ مقدار مشخصی رمز ارز به یک قرارداد هوشمند واریز کرده و مالکیت یک خانه، یک خودرو، یا هر چیز دیگری را در عوض به دست آورید. کلیه قوانین و مجازاتها نه تنها توسط قراردادهای هوشمند از قبل تعیین شدهاند، بلکه توسط آنها حتما اجرا و اعمال خواهند شد. به عبارتی اسمارت کانترکت از برآورده شدن شرایط و اجرای اعمال، اطمینان حاصل میکند.
نظرات