پنج‌شنبه 10 فروردین 1402
قرارداد هوشمند

قرارداد هوشمند، روشی هوشمندانه برای امنیت معاملات

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

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

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

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

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

قرارداد‌های هوشمند، روشی مناسب برای امنیت معاملات

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

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

قراردادهای هوشمند در ارزهای دیجیتال

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

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

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

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

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

قرارداد‌های هوشمند، روشی مناسب برای امنیت معاملات

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

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

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

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

یک قرارداد هوشمند اتریوم خصوصیات زیر را در بر دارد:

قراردادهای هوشمند و توزیع شده میان همه گره‌های شبکه اتریوم توزیع می‌شوند. این موضوع را می‌توان به عنوان اصلی‌ترین تفاوت این قراردادها با سایر راه‌حل‌های مبتنی بر سرورهای متمرکز در نظر گرفت.

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

برخی از بلاک‌چین ها توانایی پردازش قراردادهای هوشمند را دارند که از جمله آن‌ها می‌توان به بیت کوین، زنجیره‌های جانبی(Side chains)، NXT و اتریوم اشاره کرد. اگرچه بلاک چین بیت کوین برای پردازش معاملات بیت کوین گزینه‌ای عالی محسوب می‌شود اما قابلیت‌های کمی برای پردازش اسناد دارد.

زنجیره‌های جانبی نیز به بلاک‌ چین‌هایی گفته می‌شود که در مجاورت بیت کوین فعالیت کرده و فضای بیشتری برای پردازش قراردادها فراهم می‌کنند. NXT هم یک بلاک چین عمومی بوده که از چند الگو برای قراردادهای هوشمند استفاده کرده و کاربران در آن قادر به کد نویسی نیستند. اما اتریوم یک پلتفرم عمومی بلاک چین و بسیار پیشرفته برای رمزگذاری و پردازش قراردادهای هوشمند می‌باشد.کاربران به راحتی می‌توانند کد دلخواه خود را بارگزاری کنند اما باید برای انجام این کار باید توکن‌های “ETH” پرداخت کنند.

آیا قراردادهای هوشمند را می‌توان تغییر داد؟

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

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

قرارداد‌های هوشمند، روشی مناسب برای امنیت معاملات

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

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

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

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

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

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

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