قراردادهای هوشمند (Smart Contracts) به برنامههایی دیجیتالی گفته میشود که در فضایی به نام بلاک چین ذخیره شده و زمانی که شرایط درج شده در متن قرارداد برآورده شود، برنامهها به طور خودکار اجرا میشوند. در قرارداد هوشمند نیازی به واسطه و نهاد خاصی برای تنظیم و اجرای قرارداد نیست و تنها طرفین قرارداد بر روی مسائل مطرح شده توافق میکنند. امنیت، شفافیت و اجرای صددرصدی از مهمترین ویژگیهای این نوع قراردادها است. قراردادهای هوشمند میتوانند یک مسیر تازه در دنیای تکنولوژی باشند که انجام بسیاری از امور را تسهیل میکنند.
مفهوم قرارداد هوشمند چیست؟ به زبان ساده
هنگامی که یک قرارداد هوشمند بین دو طرف بسته میشود، درواقع طرفین یک سری شرایط و ضوابط را با یک زبان برنامهنویسی نوشته و آنها را پذیرفتهاند. این قراردادها در بستر شبکههای بلاک چین پیادهسازی میشود و اجرای آن توسط سیستمهای موجود در شبکه اتفاق میافتد. قراردادهای هوشمند درواقع به برنامههای رایانهای گفته میشود که انجام تجارت و معامله بین طرفین شناخته شده و ناشناس را تسهیل و ساده میکنند.
قراردادهای هوشمند بر روی شبکههای بلاک چین تعریف و تنظیم میشوند و پس از اینکه شرایط قرارداد به وجود آمد، به صورت خودکار اجرا شده و برای انجام نیازی به واسطه و نهاد سوم ندارند.
این قراردادها به دلیل استفاده از فناوری بلاک چین، امنیت بالایی دارند و اعتماد به این برنامهها برای کاربران راحتتر است. بلاک چین یک دفتر کل توزیع کننده با یک پایگاه داده بسیار بزرگ است که دادهها در سیستمهای مختلفی به نام گره یا نود ذخیره میشوند و تغییر این دادهها کاری غیرممکن است و همین مسئله امنیت قراردادهای هوشمند را بسیار بالا میبرد.
نحوه به وجود آمدن قراردادهای هوشمند به زبان ساده
در سال 1994 نیک سابو که حقوقدان و اقتصاددان آمریکایی است، برای اولین بار در رابطه با قراردادهای هوشمند صحبت کرد. او ایدههایی با استفاده از علوم رمزنگاری کامپیوتر برای تنظیم و اجرای قراردادهای حقوقی مطرح و برای این قراردادها مفهومی به نام هوش مصنوعی و تاکید برخودکار بودن آنها انتخاب کرد.
دو سال بعد سابو در مقالهای با عنوان قرارداد هوشمند به تعریف، ویژگیها و کاربردهای قراردهای هوشمند پرداخت و مثالهای متعددی مانند پول دیجیتال، حسابهای جاری، قفلهای الکترونیک و … برای آن بیان کرد. با اینکه سابو تعریفی از این نوع قراردادها ارائه داد و همچنین چالشها و مشکلات روبرو را بیان کرد و حتی راهحلهایی برای مقابله با این چالشها نیز مطرح نمود؛ اما نتوانست فضای مناسبی برای پذیرش قراردادهای هوشمند ایجاد کند.
در سال 2009 وقتی بیت کوین (Bitcoin) به عنوان یک ارز دیجیتال معرفی شد، فناوری بلاک چین برای استفاده از BTC نیز مطرح شد. بلاک چین علاوه بر پیادهسازی ارزهای دیجیتال، فضای خوبی برای ایجاد و اجرای قراردادهای هوشمند شد. از آنجا که بیت کوین تنها با هدف ایجاد یک ارز دیجیتال ضد تورمی ساخته شد، در سال 2015 اتریوم (Ethereum) پا به دنیای رمزارزها گذاشت و بستر مناسبی برای عملی شدن قراردادهای هوشمند ارائه کرد. اتریوم یک بستر مناسب برای ایجاد ارزهای دیجیتال، گسترش آنها و همچنین ایجاد قراردادهای هوشمند با استفاده از زبانهای برنامهنویسی و اجرای آنها است.
تفاوت قرارداد هوشمند و قرارداد معمولی
مهمترین تفاوت قراردادهای هوشمند و قراردادهای سنتی، استفاده از فناوری بلاک چین است. در قراردادهای سنتی به یک نهاد سوم و واسطه برای تنظیم و اجرای قرارداد نیاز است و طرفین مجبورند علاوه بر پرداخت حق کمسیون، به واسطه نیز اعتماد کنند. حال آن که در قراردادهای هوشمند فناوری بلاک چین استفاده میشود و عملا نیازی به نهاد واسطه وجود ندارد و هزینهای بابت کمیسیون پرداخت نمیشود.
وقتی Smart Contracts در بلاک چین اجرا شوند، دیگر قابل توقف نیستند و تغییری نیز روی شرایط قرارداد انجام نمیشود و طرفین مطمئن هستند که تحت هر شرایطی قرارداد اجرا خواهد شد؛ اما در قراردادهای سنتی ممکن است هریک از طرفین به هردلیل به تعهد خود عمل نکند و قرارداد انجام نشود و یکی از طرفین متحمل خسارت شود.
اجزای قراردادهای هوشمند
قراردادهای هوشمند از اجرای مختلفی تشکیل شدهاند، این اجزا کمک میکنند که هر قرارداد به بهترین شکل برنامهنویسی و اجرا شود.
- طرفین قرارداد و امضاکنندگان (Signatories): طرفین در قراردادهای هوشمند با استفاده از امضای دیجیتال موافقت خود را بر مفاد قرارداد و اجرای آن، اعلام میکنند.
- موضوع قرارداد (Contract Subject): هر قراردادی بر اساس موضوعی نوشته میشود، طرفین قرارداد باید به موضوع قرارداد دسترسی داشته باشند. موضوع قرارداد میتواند هرچیزی مانند پرداخت وامهای ارز دیجیتال، خرید و فروش ملک، خرید و فروش خودرو و یا … باشد.
- شرایط قرارداد (Contract Terms): قراردادهای هوشمند طبق اصول خاصی اجرا میشوند. به این اصول خاص که موجب اجرا شدن برنامه میشوند، شرایط قرارداد میگویند که شامل مواردی مانند قوانین، خسارتها، تخیفها و … هستند. برای مثال شرایط قرارداد میتواند این باشد که با داشتن 10000 USDT (تتر( N مبلغ وام به دارنده تعلق میگیرد.
- اوراکل (Oracle): هر قرارداد هوشمند در بلاک چین برای اجرا به اطلاعاتی خارج از بستر شبکه نیاز دارد. این اطلاعات هستند که نحوه اجرای قرارداد را تعیین میکنند. برای مثال اگر قرارداد در رابطه با قیمت جهانی طلا باشد، یک سایت برای بررسی قیمت طلا در متن قرارداد تعریف میشود. به این منابع اوراکل میگویند.
- زبان برنامهنویسی و پلتفرم اختصاصی (Programming language& Dedicated platform): اغلب برنامهها به زبان برنامهنویسی سالیدیتی نوشته میشوند، برنامهها در محیطهای خاصی اجرا میشوند که به آن پلتفرم اختصاصی گفته میشود. پلتفرم اتریوم از زبان برنامهنویسی سالیدیتی پشتیبانی میکند. پلتفرمهای دیگری مانند سولانا نیز وجود دارند که از دیگر زبانهای برنامهنویسی مانند C++، C و RUST پشتیبانی میکنند.
نحوه اجرای قراردادهای هوشمند
Smart Contracts با پیروی از یک سری عبارات ساده مانند “اگر… وقتی … آنگاه … ” که در زبانهای برنامهنویسی نوشته میشوند، کار میکنند. شبکهای از رایانهها که در بلاک چین وجود دارند و به آنها نود گفته میشود، هنگامی که با شرایط از پیش تعیین شده مواجه شده که تایید نیز میشوند، یک سری اقدامات در قرارداد را اجرا میکنند.
این اقدامات میتواند شامل آزاد کردن وجوه برای طرف مربوطه، ثبت نام وسیله نقلیه، ارسال مواد، صدور بلیط و یا هرچیز دیگری باشد. پس از انجام این اقدامات و تراکنشها، بلاکچین بهروزرسانی و اطلاعات در تمام نودها ذخیره میشود. این بدان معنی است که این اقدامات و اطلاعات قابل تغییر نیستند.
با توجه به مراحل ایجاد قرارداد هوشمند و نحوه عملکرد آنها، هنگامی که کاربران و نهادها معاملات پیچیده مالی دارند، میتوانند بدون نیاز به هیچ نهاد واسطی، تنها با تنظیم یک قرارداد هوشمند، معاملات خود را انجام دهند. در حال حاضر شبکههای بلاک چین مختلفی مثل اتریوم، سولانا، EOS، Neo، Tezos، Tron، Polkadot آماده تنظیم و اجرای قراردادهای هوشمند هستند.
کاربردهای قرارداد هوشمند
قراردادهای هوشمند مانند هر قراردادی دیگری میتواند برای اهداف مختلف استفاده شود. یکی از سادهترین و مهمترین آنها اطمینان از انجام قرارداد توسط طرفین است.
برای مثال تولید کنندهای که به مواد خام نیاز دارد، میتواند با استفاده از یک قرارداد هوشمند، پرداختها را و تامینکننده ارسال مواد خام را تنظیم کند و هر دو طرف مطمئن باشند که مفاد قرارداد انجام میشود. در ادامه برخی از مهمترین کاربردهای قراردادهای هوشمند بیان میشود:
- انجام امور مالی غیرمتمرکز (DeFi): از مهمترین کاربردهای قراردادهای هوشمند انجام امور مالی غیرمتمرکز است. غیرمتمرکز به این معناست که برای انجام امور به یک نهاد خاص، بانک و یا ارگانی نیاز نیست. از جمله این موارد میتوان به وامدهی، سرمایهگذاری، تبادلات مالی، انجام معاملات و غیره اشاره کرد.
- ایجاد توکنهای جدید: ارزهای دیجیتال یک تحول عظیم در عرصه امور مالی هستند، با استفاده از قراردادهای هوشمند میتوان برنامههایی نوشت که به طور خودکار توکنهای جدید ارزهای دیجیتال ساخته شوند؛ کاربرد این توکنها نیز میتواند در متن قرارداد مشخص شود.
- خودکارسازی و اتوماسیون در انجام امور: انجام خودکار امور، کاری است که بیشتر دولتها و نهادها میتواند بهره زیادی از آن ببرند. برای مثال دولتها میتوانند بسیاری از امور مربوط به ثبت اسناد را بدون نیاز به نیروی انسانی انجام دهند. انتخابات یکی دیگر از امور مهمی است که دولتها برای انجام آن با چالشهای زیادی روبرو هستند، با استفاده از قراردادهای هوشمند و بلاک چین میتوان انجام انتخابات آزاد را تجربه کرد. بیمه، ثبت اسناد خودرو، املاک و سایر داراییها از دیگر مواردی است که میتواند به وسیله قراردادهای هوشمند انجام شوند.
- اعتماد سازی و سهولت در مدیریت زنجیره تامین: جابجایی مواد،کالاها و داروها در زنجیره تامین نیز از دیگر مواردی است که با کمک قراردادهای هوشمند میتواند با سهولت و کیفیت بیشتری انجام شود. قراردادهای هوشمند میتوانند وضعیت تحویل کالا را بررسی و آنها را به صورت خودکار ثبت کنند. این فرآیند اعتماد طرفین را برای انجام معامله نیز بالاتر میبرد؛ خریدار مطمئن میشود که کالا را دریافت میکند و فروشنده از دریافت وجه خود مطمئن میشود.
- احراز هویت: حفاظت از اطلاعات شخصی از مواردی است که برای کاربران بسیار مهم است. فرآیند احراز هویت به شکل سنتی، یکی از امور چالشی است که به وسیله قراردادهای هوشمند میتوان تا حد زیادی مشکلات مربوط به این فرآیند را کاهش داد.
مزایای قراردادهای هوشمند
مزایای قراردادهای هوشمند را تا حد زیادی میتوان مشابه با مزایای بلاک چین دانست. از مهمترین آنها حذف واسطهها و نهادهای سوم برای انجام امور است. مزایای دیگر این فناوری عبارتند از:
- سرعت، کارایی و دقت: پس از اینکه مراحل ایجاد قرارداد هوشمند اجرا و شروط لازم برای انجام قرارداد مهیا شوند، به صورت خودکار قرارداد اجرا میشود. با توجه به اینکه برای انجام کارها به نیروی انسانی و همچنین محاسبات و اسناد کاغذی نیاز نیست و تمام محاسبات به شکل دیجیتال انجام میشود، سرعت انجام امور بیشتر شده و با از بین رفتن خطاهای انسانی کارایی و دقت نیز بالا میرود.
- اعتماد و شفافیت: به دلیل نبودن واسطهها و همچنین ثبت تمام تراکنشها در بین همه نودهای بلاکچین، میزان شفافیت قراردادهای هوشمند بالاست و میتوان به آنها اعتماد کرد.
- امنیت: سوابق تراکنشهای قرارداد هوشمند در بلاک چین به صورت رمزگذاری شده ذخیره میشوند که اینکار به خودی خود هک اطلاعات را بسیار سخت میکند. از طرفی هر رکورد به رکورد قبلی و بعدی در بستر بلاکچین متصل و در تمام نودها ثبت شدهاند و هکرها باید بتوانند کل زنجیره را تغییر دهند تا موفق به تغییر رکورد دلخواه خود شوند که عملا انجام این کار غیرممکن است.
- تغییرناپذیری و توقفناپذیری: یکی دیگر از مزایای قراردادهای هوشمند، این است که پس از تنظیم قرارداد، متن آن قابل تغییر نیست. همچنین پس از اینکه شرایط لازم برای اجرای قرارداد به وجود آمد و قرارداد در مرحله اجرا قرار گرفت، دیگر قابل توقف نیست و طرفین مجبور به انجام تعهدات خود هستند.
- کاهش هزینهها: با توجه به اینکه هنگام تنظیم و اجرای قراردادهای هوشمند نیازی به واسطه و طرف سوم نیست، بسیاری از هزینه مربوط به این موارد از بین میرود و هزینههای لازم برای انجام امور کاهش مییابد.
معایب و چالشهای قراردادهای هوشمند
قراردادهای هوشمند به نوعی انقلابی در تکنولوژی مخصوصا در حوزه امور مالی غیرمتمرکز هستند، اما با اینحال هنوز به طور گسترده استفاده نمیشوند و معایب و چالشهایی دارند. در ادامه به برخی از این چالشها و معایب اشاره خواهیم کرد:
- امکان خطای انسانی در برنامهنویسی: برنامه نویسی قراردادهای هوشمند توسط منابع انسانی انجام میشود و ممکن است که برنامهها همراه با خطا نوشته شوند. با توجه به اینکه قراردادهای هوشمند پس از تنظیم قابل تغییر و توقف نیستند، این مسئله میتواند مشکلساز شود.
- رسمیت نداشتن: قراردادهای هوشمند هنوز توسط دولت و یا نهاد قانونی به رسمیت شناخته نشدهاند و مواضع دولتها در رابطه با این قراردادها مشخص نیست.
- هزینههای بالای تنظیم قرارداد: هزینه لازم برای برنامهنویسی قراردادهای هوشمند بالاست، چراکه یک برنامهنویس معمولی نمیتواند چنین برنامههایی را پیادهسازی کند و نیاز به یک برنامهنویس متخصص است.
- مشکلات مربوط به اوراکلها: اوراکلها یا منابعی که قراردادهای هوشمند به آن استناد میکنند، متمرکز هستند و ممکن است توسط یکی از طرفین این منابع هک شوند و اطلاعات اوراکل بر اساس منافع آن طرف تغییر یابد.
- حریم خصوصی: قراردادهای هوشمند امنیت خود را با استفاده از فناوری بلاکچین تامین میکنند و اطلاعات در تمام نودهای شبکه ثبت و ذخیره میشود؛ این مورد با اینکه امنیت را بالا میبرد اما حریم خصوصی را تحت تاثیر قرار میدهد.
بهترین پلتفرمها برای اجرای قراردادهای هوشمند
اتریوم (Ethereum) به عنوان اولین و بهترین بلاک چینی که امکان ایجاد قرارداد هوشمند ارز دیجیتال و یایر قراردادهای هوشمند را فراهم ساخت، شناخته میشود. در طی سالهای اخیر تعداد پلتفرمهایی که از قراردادهای هوشمند پشتیبانی میکنند افزایش یافته است و کاربران میتوانند پلتفرم دلخواه خود را با توجه به معیارها و زبان برنامهنویسی مورد نیاز آن، انتخاب کنند. در ادامه به برخی از بهترین پلتفرمها برای انجام قراردادهای هوشمند اشاره میکنیم.
متن جایگزین: بهترین پلتفرمها برای اجرای قراردادهای هوشمند
- اتریوم
بلاک چین اتریوم به دلایل مختلفی، عنوان محبوبترین و پرکاربردترین پلتفرم قراردادهای هوشمند را در سال 2023 از آن خود کرده است. امنیت، استانداردسازی و پشتیبانی اتریوم از مهمترین ویژگیهای آن است، زبان برنامهنویسی در این پلتفرم سالیدیتی است و امکان تنظیم و اجرای رایگان برنامههای مختلف از ICO تا قراردادهای بیمهای در اتریوم وجود دارد.
- هایپرلجر
اصالت و اعتبار دو ویژگی مهم هایپرلجر است و به همین دلیل کاربران و سازمانهایی که با اطلاعات حساس سروکار داشته و نیاز به حفاظت از دادهها دارند، این پلتفرم را انتخاب میکنند. Hyperledger در اصل برای استفاده سازمانی و حفظ مواردی مانند محرمانگی، اعتماد و امنیت ساخته شد و توسط برخی از اعضای خاص شبکه مورد استفاده قرار میگیرد.
- تزوس
از دیگر پلتفرمهای محبوب برای قرارداد هوشمند ارز دیجیتال، میتوان به تزوس اشاره کرد. این پلتفرم یک دفتر کل رمزنگاری منبع باز است که به صورت خودکار نیز اصلاح میشود و مشکلات خود را برطرف میکند. هدف از توسعه آن، ایجاد یک بلاک چین کارآمد و رفع مشکلات نسل اول بلاک چین بود. زبان برنامهنویسی در تزوس، Michelson است و امکان نوشتن برنامهها در مقیاس بزرگ را به راحتی ممکن میسازد، اما باید گفت این زبان نسبت به Solidity سختتر است.
- EOS
EOS به وسیله نرمافزار منبع باز EOSIO پشتیبانی میشود و مزایای زیادی شامل میزبانی سرور، ذخیرهسازی ابری، احراز هویت و … برای کاربران فراهم کرده است. EOS به سیستم Agile مجهز است و این فرآیند توسعه قراردادهای هوشمند را سادهتر و راحتتر میکند، چراکه به توسعهدهندگان اجازه میدهد تا قراردادهای هوشمند را به هر زبان برنامهنویسی بنویسند و در پلتفرم EOS اجرا کنند.
- سولانا
سولانا پلتفرمی مقیاسپذیر، مقرونبصرفه، بدون نیاز به مجوز و با عملکردی بالا است که امتیاز خوبی در میان پلتفرمهای قراردادهای هوشمند در سال 2023 کسب کرده است. سولانا از زبانهای برنامهنویسی C، C++ و Rust پشتیبانی میکند و توانسته است با ثبت 65000 TPS، بالاترین رکورد ثبت تراکنش در یک ثانیه را کسب کند و این به دلیل ترکیب مکانیسمهای اجماع اثبات سهام (PoS) و الگوریتم اثبات تاریخچه (PoH) است.
- آوالانچ
آوالانچ به عنوان یک پلتفرم لایه 1 همه منظوره که امکان اجرای قراردادهای هوشمند را نیز دارد، شناخته میشود. این پلتفرم برخلاف بسیاری از شبکههای بلاک چین میتواند حملات 51 درصدی (حملات 51 درصد از نودهای شبکه) را تحمل کند. آوالانچ از مکانیسم PoS استفاده میکند و تا 4500 تراکنش در ثانیه را انجام میدهد و از Solidity برای توسعه قراردادهای هوشمند بهره میبرد.
سوالات متداول
1. قراردادهای سنتی چه تفاوتی با قراردادهای هوشمند دارند؟
مهمترین تفاوت قراردادهای سنتی و هوشمند در استفاده از فناوری بلاک چین و نیاز به واسطه است. در قراردادهای هوشمند به واسطه و طرف سوم برای تنظیم و اجرای قرارداد نیاز است و این مسئله مستلزم پرداخت هزینه و داشتن اعتماد است. قراردادهای هوشمند با استفاده از بلاکچین، از نهاد سوم و واسطه بینیاز هستند.
2. سالیدیتی چیست؟
سالیدیتی (Solidity) یک زبان برنامهنویسی برای نوشتن قرارداد هوشمند ارز دیجیتال و دیگر قراردادهای هوشمند است. اتریوم، مهمترین پلتفرم قراردادهای هوشمند و برخی دیگر از شبکههای بلاک چین، از زبان سالیدیتی برای قراردادها استفاده میکنند.
3. مهمترین کاربردهای Smart Contracts کدامند؟
قراردادهای هوشمند میتوانند در هر زمینهای استفاده شوند، اما مهمترین کاربرد آنها در زمینه اطمینان از انجام قرارداد، انجام امور مالی غیرمتمرکز، ساخت توکنهای ارز دیجیتال، افزایش اعتماد در روابط فروشنده و تامینکننده، انجام تجارت بینالمللی سریعتر و کارآمدتر است.