قرارداد هوشمند چیست؟ آشنایی با Smart Contract و کاربردهای آن
دسترسی سریع به محتوای این مقاله
- 1 قرارداد هوشمند چه اهدافی در بردارد؟
- 2 تاریخچه قرارداد هوشمند به کجا می رسد؟
- 3 نحوه کارکرد قراردادهای هوشمند چگونه است؟
- 4 چه مواردی جهت تولید قرارداد هوشمند مورد نیاز است؟
- 5 مزایای کاربرد قرارداد هوشمند کدام است؟
- 6 معایب قراردادهای هوشمند کدام است؟
- 7 قراردادهای هوشمند بر روی کدام بلاکچین ها قابل پردازش است؟
- 8 منابع
قرارداد هوشمند یا Smart Contract مجموعه قوانینی است که با استفاده از داده های مرتبط با شرایط قرارداد تنظیم شده و تمامی عملیاتی که در آن پیشبینی شده، به صورت اتوماتیک انجام می گردد. قرارداد هوشمند از کدهای برنامه نویسی تشکیل شده که روی بلاکچین پیاده سازی می گردد، در صورت وقوع شرایط این قرارداد، دستورات خاصی را که توسط یک برنامه نویس کد نویسی شده است، اجرا می گردد. در قرارداد هوشمند مجوز انجام تراکنش های با اعتبار بدون مداخله واسطه فراهم می شود. قرارداد هوشمند یک پروتکل دیجیتالی است که برای آسان سازی، تایید و یا انجام یک مذاکره منظور می گردد. گذشته از آن، تراکنش ها در این فرآیند قابل پیگیری و برگشت ناپذیر است که در ادامه این مقاله ارز دیجیتال به بررسی کامل آنها خواهیم پرداخت.
قرارداد هوشمند چه اهدافی در بردارد؟
فرض کنید در نظر دارید آپارتمان خود را به فروش برسانید. فروش آپارتمان کاری بسیار وقت گیر بوده و نیاز به پیگیری های زیادی دارد. جهت انجام این کار بایستی مدارک کافی تهیه کرده، با افراد زیادی ارتباط برقرار کرد و سطح زیادی از ریسک های مختلف را پذیرا شد.
به دلیل درگیری با مشغله های زیاد، اغلب کسانی که تصمیم به فروش خانه دارند از طریق یک نماینده املاک عمل می کنند. کارمند املاک همه کارهای دفتری و بازاریابی را انجام می دهد تا به عنوان واسطه تا زمان نهایی شدن قرارداد بر فرایند کار نظارت نماید. در پایان کار و پس از انجام موفقیت آمیز قرارداد، واسطه های فروشنده و خریدار به عنوان حق العمل درصدی از مبلغ فروش معامله را می گیرند. پرداخت این حق العمل، یک ضرر مالی برای فروشنده محسوب می شود.
در چنین شرایطی، یک قرارداد هوشمند میتواند بسیار مفید باشد و باعث وقوع انقلابی در صنعت معاملات شود. مهمترین مسئله ای که یک قرارداد هوشمند می تواند حل نماید ایجاد اعتماد است. فرآیند قرارداد هوشمند به این صورت است که وقتی هزینه توافق شده برای فروشنده توسط سیستم واریز شد، مالکیت آپارتمان به خریدار انتقال داده خواهد شد. میزان پول و حق مالکیت پارامترهایی هستند که در این سیستم ذخیره شده اند و در یک زمان مشخص به دو طرف قرارداد داده می شود.
در یک قرارداد هوشمند تمامی موارد قرارداد و انجام معامله توسط کاربران شبکه مشاهده و تایید می گردد، در نتیجه نقل و انتقال با تضمین کامل انجام می گردد. چون در این قرارداد، اعتماد بین دو طرف معامله حل شده، نیازی به واسطه برای انجام معامله هم وجود ندارد. تمامی کارهایی که واسطه قرارداد می تواند انجام میدهد قابل برنامه ریزی در یک قرارداد هوشمند می باشد، گذشته از آن با عدم پرداخت کمیسیون مبلغ قابل توجهی به سود دو طرف قرارداد خواهد شد.
قراردادهای سنتی چگونه کار می کنند؟
قرارداد سنتی معمولی، توافقنامه ای است که بین دو طرف یا چند شخص امضا می شود و طبق آن طرف های قرارداد متعهد به انجام شرایطی در هنگام توافق یا در آینده می شوند. به عنوان نمونه مستاجر جهت استفاده از خانه مالک طبق قرارداد اجاره، هر ماه مبلغی را پرداخت می کند. شرکت بیمه در ازای قرارداد بیمه ضمانت می کند که در مقابل مبلغی پول که از شخص می گیرد، خسارت های احتمالی وارد بر خودروی او را در هنگام تصادف بپردازد.
خرید فایل از اینترنت هم یک نوع قرارداد است که طی آن کاربر پولی را پرداخت می نماید و لینک بارگیری فایل به او نمایش داده می شود. اگر وجه برای ارسال کننده فایل واریز نشود، پیغام خطا نشان داده می شود. این قرارداد توسط کد نویسی های کامپیوتری تنظیم گردیده است.
جهت اجرای قراردادهای معمولی نیاز به واسطه هایی وجود دارد که دو طرف مجبور هستند به آن اعتماد کنند. واسطه ها ممکن است دلالان، بانک ها، دولت ها و سرورهای متمرکز کامپیوتری باشند.
قرارداد هوشمند و قرارداد سنتی چه تفاوت هایی دارند؟
موضوع اصلی که قرارداد هوشمند را در قیاس با قراردادها عادی متمایز می سازد، استفاده از تکنولوژی بلاکچین است که در این صورت نیازی به واسطه ها و اعتماد کردن به آنها نمی باشد.
کدهای قرارداد هوشمند بر روی بلاکچین فعال می گردد و سپس بدون احتیاج به واسطه ها، شرایط قید شده در توافقنامه بین دو طرف را وارسی کرده و اجرا می نماید.
باید توجه داشت که در هنگام شروع اجرای یک قرارداد هوشمند بر روی یک بلاکچین اتریوم، دیگر امکان توقف ندارد و کسی قادر به جلوگیری از اجرای آن نیست.
توسط قراردادهای هوشمند امکان ساخت برنامه ها و پروژه هایی وجود دارد که بدون هیچ واسطه ای تا ابد می تواند به کار خود ادامه داده و اجرا شود. به اینگونه برنامه های غیر متمرکز Dapp گفته می شود که حتی شخصی که کدهای قرارداد هوشمند را برنامه نویسی کرده نمی تواند کدهای ثبت شده قرارداد هوشمند را در بلاکچین ویرایش کند.
تاریخچه قرارداد هوشمند به کجا می رسد؟
یک متخصص کامپیوتر و دانشمند رمزنگاری آمریکایی به نام نیک سابو Nick Szabo در سال 1994 ایده اصلی قرارداد هوشمند را مطرح نمود. این دانشمند در سال 1998 حدود ده سال قبل از پیدایش بیت کوین، یک ارز مجازی به نام بیت گلد Bit Gold را اختراع کرد. سابو قراردادهای هوشمند را در حکم پروتکل های معاملاتی کامپیوتری بیان می کند که می توانند شرایط یک قرارداد را اجرا نمایند. او در نظر داشت عملکرد روش های معاملات الکترونیکی مانند نقطه فروش یا point of sale با علامت اختصاری POS را به حوزه دیجیتال گسترش دهد.
در آن تاریخ شرایط مناسبی برای تبدیل ایده او به واقعیت وجود نداشت. پس از پیدایش تکنولوژی بلاکچین، رخدادهای زیادی به وقوع پیوست و در سال 2008 بیت کوین به عنوان اصلی ترین ثمره بلاکچین ایجاد شد. پس از آن اساس قرارداد هوشمند بر بستر بلاکچین پایه گذاری شد.
با وجود خلق بیت کوین، ابزارهای بلاکچین نتوانستند تمام نیازهای قراردادهای هوشمند را جوابگو باشند. پس از آن ایده بلاکچین اتریوم در سال 2013 توسط ویتالیک بوترین Vitalik Buterin مطرح گردید. در سال 2014 با پیاده سازی اتریوم، اجرای قراردادهای هوشمند بر روی شبکه اتریوم امکان پذیر شد و پس از آن امکاناتی جهت انجام معاملات بیشتر به وجود آمد.
نحوه کارکرد قراردادهای هوشمند چگونه است؟
اصول پایه کارکرد قرارداد هوشمند را می شود با نحوه کارکرد دستگاه های فروش تنقلات تشبیه کرد. این دستگاه ها تنها دستوراتی که برای آن برنامه ریزی شده اند، به صورت اتوماتیک اجرا می کنند و در ازای وارد کردن پول به آنها، کالا را تحویل می دهند. در یک قرارداد هوشمند نیز باید به میزان لازم کریپتوکارنسی وارد نمایید و پس از آن حق مالکیت آپارتمان، خودرو و دیگر مجوزهای لازم را در اکانت خود دریافت خواهید کرد.
در برنامه نویسی اولیه، دارایی ها و شرایط قرارداد کدنویسی شده و بر روی بلاکی در بلاکچین گذاشته می شوند. با ثبت قرارداد هوشمند روی بلاکچین، این قرارداد بین تمام Node یا گره های بلاکچین به اشتراک گذاشته می شود. جهت انجام قرارداد، کپی قرارداد بین نود های بلاکچین توزیع می گردد. بنابراین کسی نمی تواند در اجرای آن مداخله کند یا دستکاری نماید. زیرا همه اعضای بلاکچین در اجرای آن دخیل هستند و یک سرور یا نهاد متمرکز بر اجرای آن نظارت ندارد. پس از تکمیل شرایط، قرارداد مطابق با برنامه های تعیین شده انجام می گردد. گذشته از آن، این برنامه به صورت اتوماتیک اجرای تعهدات دو طرف قرارداد را نیز بررسی می نماید.
چه مواردی جهت تولید قرارداد هوشمند مورد نیاز است؟
- موضوع قرارداد یا Subject of contract، این برنامه باید به اقلام موجود و سرویس هایی که قرارداد برای معامله خودکار آنها تنظیم شده، دستیابی داشته باشد.
- امضای دیجیتال یا Digital signature، همه کاربران با امضای دیجیتال و توسط کلیدهای خصوصی خود، شراکت در موافقت نامه قرارداد را آغاز میکنند.
- شرایط قرارداد یا Contract terms، که به صورت زنجیره دقیقی از عملیات قرارداد تعریف می گردند و همه طرف های قرارداد بایستی این شرایط را امضا کنند.
- بستر غیر متمرکز یا Decentralized platform، قرارداد هوشمند مبتنی بر بلاکچین بوده و بر روی پلتفرم غیر متمرکز قرار گرفته و در بین نود های این شبکه توزیع میشود.
- اوراکل یا Oracle، داده های خارجی که برای قرارداد موردنیاز است توسط اوراکل ها برای قرارداد تامین می شود و قرارداد هوشمند آن داده ها را پردازش می نماید. به عنوان نمونه قیمت مسکن توسط یک سایت مسکن که به عنوان اوراکل کار می کند به قرارداد املاک داده می شود.
در جهان واقعی از قرارداد هوشمند چگونه استفاده می شود؟
قراردادهای هوشمند در دنیای واقعی در زمینه های گوناگونی کاربرد دارند. نمونه هایی از آنها عبارتند از:
- سیستم رای گیری یا Government voting system، قرارداد هوشمند یک محیط امن برای رای گیری به وجود می آورد. نتایج آرا بر روی بلاکچین قرار داده شده و بین گره های شبکه توزیع می گردد. تمامی این داده ها رمزگذاری شده و ناشناس می باشند، بنابراین امکان هرگونه دست کاری از میان می رود.
- زنجیره تأمین یا Supply chain، قسمت های مختلفی را در بر میگیرد. هر قسمت باید تایید خود را از قسمت قبلی دریافت نماید تا بندهای قرارداد همکاری شان قابلیت اجرایی پیدا کند. این روند بسیار طولانی و زمانبر است. استفاده از قرارداد هوشمند میتواند در این زمان صرفه جویی نماید. همچنین هر کدام از شرکت کنندگان هم میتوانند پیشرفت قرارداد را نظاره کنند و وظیفه خود را در زمان تعیین شده انجام دهند.
- سیستم بانکی یا Financial services، قراردادهای هوشمند در شرایط قرارداد شفافیت ایجاد کرده و از کلاهبرداری پیشگیری می نمایند. آنها با شفاف سازی در انتقال وجوه و محاسبه تسویه حساب های تجاری کمک می کنند.
- مطالبات بیمه یا insurance claims، قرارداد هوشمند در صورت یافتن مورد مناسب، بررسی مشکلات، پیگیری ها و انتقال پرداخت به کاربر را انجام می دهد.
قرارداد هوشمند چگونه اجرا می گردد؟
ورودی یک قرارداد هوشمند، یک تراکنش می باشد. نودهای هر بلاکچین از یک ماشین مجازی اتریوم یا به اختصار یک EVM برخوردار هستند، که با دریافت ورودی، به اجرای قرارداد می پردازند. ماشین مجازی اتریوم در حکم یک فضای مجازی برای اجرای قراردادها عمل می کند. اگر کارمزدی که برای قرارداد در نظر گرفته شده، کافی و مناسب باشد، تایید تراکنش انجام می گردد.
کارکرد قراردادهای هوشمند پیچیدگی های تکنیکی زیادی دارد و درک فرایند اجرای آن برای کاربران عادی کمی مشکل است.
ولی کاربران عادی جهت استفاده از قراردادهای هوشمند احتیاجی به دانستن نحوه کارکرد آن ندارند. همانگونه که کاربران اینترنت نیازی به دانستن نحوه کار کردن اینترنت ندارند.
مزایای کاربرد قرارداد هوشمند کدام است؟
از آنجا که قراردادهای هوشمند مبتنی بر فناوری بلاکچین ها هستند، از تمامی مزایای بلاکچین برخوردار می باشند. این مزایا عبارتند از:
- امنیت، هر قرارداد هوشمند رمزگذاری شده و در بین نود های شبکه توزیع می گردد. این کار هر گونه تغییر یا حذف داده ها را بدون اجازه طرف های قرارداد ناممکن می سازد.
- سرعت انجام کار، بیشتر فرایندها به صورت اتوماتیک انجام شده و بنابراین نیازی به ورود واسطه ها و زمان بر شدن انجام کار وجود ندارد.
- دسته بندی، در حال حاضر انواع گوناگونی از قراردادهای هوشمند وجود دارد. طرف های قرارداد می توانند یکی از قراردادها را انتخاب کرده و آن را با نیاز خود هماهنگ سازند.
- استقلال، در قراردادهای هوشمند، نیازی به وجود واسطه نیست ومدیریت توافقنامه در اختیار طرف های قرارداد می باشد.
- اعتماد، امکان سرقت و یا گم کردن اسناد وجود ندارد، زیرا آنها رمزگذاری شده و در لجر بلاکچین به صورت کاملا ایمن ذخیره می شوند. گذشته از آن نیاز به اعتماد کردن افراد دست اندرکار به همدیگر وجود ندارد. سیستم قراردادهای هوشمند مسئله اعتمادسازی را به آسانی حل کرده است.
- حذف هزینه های کمیسیون، از آنجا که با استفاده از قراردادهای هوشمند نیازی به حضور در دفترخانه های رسمی، وجود دلالان و واسطه ها و نمایندگان املاک نیست، بنابراین بسیاری از هزینه هایی که برای خدمات آنها باید پرداخت شود، حذف می گردد.
- عدم نیاز به بایگانی کاغذی، با استفاده از قراردادهای هوشمند، نه تنها در وقت و هزینه صرفهجویی می شود بلکه دیگر نیازی به نگهداری انبوهی از مستندات کاغذی یا نقل و انتقال آنها به مکان خاصی وجود ندارد.
معایب قراردادهای هوشمند کدام است؟
هر قرارداد هوشمند مانند بسیاری دیگر از پروژه های جدید عاری از عیب و کاستی نیست. معایب این قراردادها عبارتند از:
- خطای انسانی، کدهای قراردادهای هوشمند توسط برنامه نویسان کامپیوتری نوشته میشوند بنابراین امکان بروز اشتباه در آنها وجود دارد. اگر این خطاها در بلاکچین قرارداد هوشمند ثبت گردد دیگر امکان تغییر آنها وجود نخواهد داشت.
- وضعیت حقوقی نامشخص، از آنجا که قراردادهای هوشمند به واسطه هیچ دولتی تنظیم نمی گردند، در این صورت اگر ارگان های دولتی بخواهند چارچوب های قانونی جهت قرارداد هوشمند به وجود آورند، مشکل ساز خواهد بود.
- هزینههای اجرا، کدهای قراردادهای هوشمند باید برنامه نویسی شوند. همانطور که گفته شد این کدها باید عاری از خطا باشند بنابراین وجود از برنامه نویسان ماهر و با تجربه باید بهره گرفت که هزینه های دستمزد بالایی دارند. گذشته از آن فناوری بلاک چین باید در ارکان اساسی شرکت پذیرفته شود تا امکان اجرای قرارداد هوشمند فراهم گردد.
- مشکل اوراکل ها، که داده های خارجی را جهت قرارداد هوشمند تهیه می کند. فرض کنید از یک سایت املاک قیمت مسکن فراهم شود. سایت املاک در اینجا اوراکل است که یک سایت متمرکز می باشد و امکان هک کردن یا تغییر دادن اطلاعات مسکن در این سایت وجود دارد که باعث به اشتباه افتادن قرارداد هوشمند می گردد.
قراردادهای هوشمند بر روی کدام بلاکچین ها قابل پردازش است؟
بلاکچین بیت کوین جهت پردازش نقل و انتقالات بیت کوین بسیار کارآمد است، ولی جهت پردازش اسناد و مدارک قابلیت های کمی دارد.
زنجیره های جانبی یا Side Chains به بلاکچین هایی گفته می شود که در کنار بیت کوین کار می کنند و برآنند که محیط را جهت پردازش قراردادها آماده سازی کنند.
پلتفرم NXT یک بلاکچین عمومی است که چکیده ای از نکات مثبت تعدادی از الگوها را برای استفاده قراردادهای هوشمند در بردارد. کاربران عادی از پلتفرم هایی که در اختیارتان قرار می گیرد استفاده می کنند، چون کسی قادر به کدنویسی نمی باشد.
بلاکچین اتریوم، یک بستر عمومی که جهت پردازش قراردادهای هوشمند بسیار مناسب و پیشرفته است. کاربران میتوانند به راحتی کد های مورد نظر خود را بارگذاری کنند ولی جهت انجام آن باید هزینه ای شامل توکن های Ethereum را پرداخت نمایند. زبان برنامه نویسی جهت قرارداد هوشمند شبکه اتریوم، زبان سالیدیتی Solidity می باشد. جهت برنامه نویسی یک قرارداد هوشمند بر روی بلاک چین اتریوم اولین اقدام یادگیری زبان برنامه نویسی سالیدیتی می باشد.
دلایل استفاده از قرارداد هوشمند چیست؟
قراردادهای هوشمند مزایای بسیاری دارد و نه تنها توافق نامه های دو طرفه اشخاص حقیقی بلکه دولت ها و شرکت های بزرگ نیز قادرند از مزایای زیاد آنها بهره مند گردند.
قرارداد هوشمند به معامله گران و خریداران امکان پیگیری خریدهایشان در زنجیره تامین را می دهد. این کار سبب افزایش اعتماد در سیکل انجام کار می شود.
گذشته از آن امکان اجرا و اعمال یک قرارداد هوشمند بدون احتیاج به شخص یا ارگانی فراهم می شود. به همین دلیل میتواند باعث بالا رفتن امنیت و کم شدن ریسک قرارداد داشته باشد.
قراردادهای هوشمند با حذف واسطه ها باعث صرفه جویی در هزینه و زمان می گردند. از آنجا که روند انجام قرارداد به صورت اتوماتیک انجام می شود، معاملات خیلی راحت تر و ساده تر انجام می پذیرد.
در دنیای واقعی از قراردادهای هوشمند در حوزه های گوناگونی شامل انتخابات و رای گیری، موسسات مالی و اقتصادی، اجرای اعتبار، سیستم های بانکی، قراردادهای بیمه، دولت ها و حکومت ها، قانون املاک، حمل و نقل، رسانه ها، خدمات بهداشت و سلامتی و فرایندهای حقوقی و توافق نامه های تامین مالی برای سرمایه های انبوه و گسترده میباشد.
منابع
قرارداد هوشمند در ویکیپدیا:
https://en.wikipedia.org/wiki/Smart_contract
با سلام
در خصوص قراردادهای هوشمند ضمن کوتاه گویی در این مقاله به خوبی حق مطلب را ادا کرده و با واژگان بسیار کاربردی ومرتبط با این حوزه آشنا شدم و بسیار متشکرم به جهت دانش افزایی 🙏