قرارداد هوشمند (Smart Contract)
26 دسامبر 2020 2020-12-25 13:21قرارداد هوشمند (Smart Contract)
قرارداد هوشمند (Smart Contract)
Smart Contract یا قرارداد هوشمند یک پروتکل کامپیوتری برای ایجاد یا بهبود قرارداد است. قرارداد هوشمند امکان ایجاد تراکنشهای معتبر بدون واسط را فرآهم میکند. این تراکنشها قابل پیگیری و غیرقابل برگشت هستند.
با قرارداد هوشمند میتوانیم شخص ثالث را از معامله حذف کنیم و مستقیم با طرف مورد نظر به تجارت بپردازیم. مهمترین ویژگی قراردادهای هوشمند امنیت آنهاست. چراکه این تکنولوژی بر بستر بلاکچین اجرا میشود و اطلاعاتش محرمانه خواهند ماند. دیتاها با فرمولهای ریاضی رمزنگاری میشوند و کسی جز شما اجازهی دسترسی به آن را ندارد. البته باید در نظر گرفت که بعد از اجرای آنها امکان ویرایش وجود ندارد و کسی قادر نخواهد بود بندهایش را تغییر دهد.
قراردادهای هوشمند به شما کمک میکنند پول، اموال، سهام و یا هر چیز دیگری که دارای ارزش است را در یک فرایند شفاف و بدون تضاد (در حالی که به واسطهها نیاز ندارید) به سادگی و در نهایت امنیت مبادله نمایید.
بهترین روش برای توصیف قراردادهای هوشمند، مقایسه این تکنولوژی با یک دستگاه ارائهدهندهی نوشیدنی است.
شما پول را به دستگاه میدهید و آن دستگاه هم در ازای آن یک نوشیدنی به شما میدهد. این اعمال از قبل برای دیوایس توصیف شدهاند و فقط بندها را اجرا میکند.
با قراردادهای هوشمند، شما به سادگی قادرید مقداری بیتکوین را مثلا به سازمان گواهینامه رانندگی یا هر شرکت یا شخص دیگری بدهید. همچنین این نوع قراردادها بهطور خودکار تعهدات را (اگر کدها درست نوشته شده باشد) اجرا میکنند. مثالهای متعددی در این زمینه وجود دارند که یکی از آنها را در ادامه توضیح دادهایم.
فرض کنید که شما قصد دارید یک واحد آپارتمان اجاره کنید. شما میتوانید از طریق بستر بلاکچین مقداری ارز دیجیتالی به حساب صاحبخانه بریزید تا کلید خانه در اختیارتان قرار گیرد. اما این یک کلید معمولی نیست. کلید از نوع دیجیتالی است که دارای تاریخ خاصی است. در موعد مقرر که میخواهید مبلغ شارژ خود را بپردازید، لزومی ندارد وقتتان را برای انجام کاری تلف کنید.
هر زمان صاحبخانه کلید جدید را (پس از تمام شدن اعتبار کلید قبلی) در اختیارتان گذاشت، شارژ خانه بهصورت خودکار پرداخت میشود. اگر هم کلید جدید را (قبل از تمام شدن اعتبار کلید قبلی) به شما بدهد، شارژ خانه در زمان مقرر شده (مثلا سر ماه) پرداخت خواهد شد.
بندهای این قرارداد نیز میتواند به سادگی توسط دو طرف تعیین گردد و به این ترتیب خیلی از اعمال اضافه حذف میشوند. دیگر صاحب خانه مجبور نیست مدام به شما پرداخت شارژ را گوشزد کند. در خانه مینشیند و شارژها به حساب ایشان واریز میشوند.
تاریخچهی این فنآوری همانطور که گفتیم به دههی 90 میلادی برمیگردد. اما قراردادهای هوشمند با آمدن فنآوری بلاکچین تغییر اساسی کردند و معنای متفاوتی گرفتند. قراردادهای هوشمند محاسبات و کدهایی هستند که بر روی بلاکچین قرار میگیرند تا معامله بین دو طرف انجام شود و خوشبختانه این تجارت نیز مخفی خواهد ماند و کسی نمیتواند فعالیت شما را زیر نظر داشته باشد.
این مفهوم توسط موسس اتریوم و شرکت IBM مطرح شد و در حال حاضر با پلتفرم اتریوم میتوانید به سادگی به قراردادهای هوشمند دسترسی داشته باشید.
این قراردادها مورد استفادهی خیلی از شرکتهای بزرگ قرار میگیرند و بیشتر به دلیل امنیت و باصرفه بودن به گزینهای جذاب برای برندها تبدیل شدهاند. یکی از مثالها مربوط به کمپانی Depository Trust & Clearing Corp یا بهطور اختصار DDTC است که از بلاکچین و قراردادهای هوشمند برای پردازش بیش از 300 معامله استفاده کرد که ارزش 1.5 کوادریلیون دلاری داشتند!
قرارداد معمولی چیست؟
یک قرارداد معمولی، توافقی بین دو یا چند شخص است که آنها را به چیزی در آینده متعهد میکند. مثلاً محمد برای استفاده از خانه علی هر ماه به او مبلغی پرداخت میکند، که به آن «قرارداد اجاره» هم میگویند. یا رضا تضمین میکند که در ازای گرفتن مبلغی پول، خسارتهای احتمالی ماشین سعید در تصادفات را پرداخت کند که به آن «قرارداد بیمه» هم میگویند.
کدهای کامپیوتری هم نوعی قرارداد هستند. به عنوان نمونه وقتی از اینترنت یک فایل خریداری میکنید، در پشت صحنه کدهایی وجود دارند که برای آنها تعریف شده است: اگر کاربر پول را پرداخت کرد و مبلغش کافی بود، لینک دانلود فایل را به او نمایش بده، در غیر اینصورت پیغام خطا نشان بده.
ما برای اجرای قراردادهای عادی نیاز به واسطههایی داریم که مجبور هستیم به آنها اعتماد کنیم. این واسطهها میتوانند سرورهای متمرکز کامپیوتر باشند یا بانکها و دولتها.
تفاوت قرارداد هوشمند و قرارداد معمولی چیست؟
چیزی که قرارداد هوشمند را نسبت به قرارداد عادی متفاوت کرده، استفاده از فناوری بلاک چین است که ما را از اعتماد کردن به واسطهها بینیاز میکند.
به عبارت دیگر، قرارداد هوشمند کدی است که روی بلاک چین فعال میشود تا بدون نیاز به واسطهها، شرایط یک توافقنامه بین دو طرف را بررسی و اجرا کند.
زمانی که یک قرارداد هوشمند بر روی یک بلاک چینِ آزاد مثل اتریوم اجرا شود، دیگر قابل توقف نیست و هیچکس نمیتواند جلوی اجرای آن را بگیرد. با قراردادهای هوشمند میتوان برنامهها و پروژههایی را ساخت که بدون هیچگونه واسطه و از کارافتادگی تا ابد به کار خود ادامه دهند. به این برنامهها برنامههای غیرمتمرکز (Dapp) هم میگویند. حتی خودِ برنامهنویس قرارداد هوشمند هم نمیتواند کد قرارداد هوشمند ثبت شده در بلاک چین را تغییر دهد.
روش کار قراردادهای هوشمند مشابه با کار دستگاههای فروش خودکار است که در مترو و امکان عمومی قرار دارند. وقتی شما قصد خرید یک نوشابه با استفاده از این دستگاهها را دارید، پول را به دستگاه وارد میکنید و دستگاه به صورت خودکار پول شما را پردازش میکند و نوشابه را تحویل میدهد، بدون اینکه پای واسطهای در میان باشد.
برای ایجاد یک قرارداد هوشمند به چه نیاز داریم؟
- موضوع قرارداد
این برنامه باید به کالا و خدمات تحت قرارداد برای قفل کردن و باز کردن خودکار آنها دسترسی داشته باشد.
- امضاهای دیجیتال
همه شرکتکنندگان با امضای قرارداد از طریق کلیدهای خصوصی خود، توافقنامه را آغاز میکنند.
- شرایط قرارداد
شرایط قرارداد هوشمند، به شکل یک رشته دقیق از عملیات تعریف میشود و همه شرکتکنندگان باید این شرایط را امضا کنند.
- پلتفرم غیر متمرکز
قرارداد هوشمند بر روی بلاک چین پلتفرم قرار میگیرد و بین گرههای این پلتفرم نیز توزیع میشود.
کاربرد قرارداد هوشمند در دنیای واقعی
قراردادهای هوشمند میتوانند در زمینههای مختلف به کار برده شوند، برای مثال:
- رأیگیری
نتایج رایگیری را میتوان بر روی بلاک چین قرار داد و بین گرههای شبکه توزیع کرد. همه این دادهها به صورت رمزگذاری شده و ناشناس هستند درنتیجه امکان هرگونه دستکاری نیز از بین میرود.
- لجستیک
به طور کلی زنجیره تأمین، بخشها و لینکهای مختلفی را در بر میگیرد. هر لینک باید تأییدیه خود را از بخش قبلی دریافت کند تا مفاد قرارداد همکاریش قابل اجرا شود. این کار بسیار زمانبر است و با اعمال قرارداد هوشمند میتوان در این زمان صرفه جویی کرد و هر یک از شرکتکنندگان نیز میتوانند پیشرفت کار را مشاهده کنند و کار خود را به موقع انجام دهند. قراردادهای هوشمند، با ایجاد شفافیت در شرایط قرارداد، جلوگیری از کلاهبرداری را تضمین میکنند و به علاوه با ادغام اینترنت اشیا نیز میتوان امکان ردیابی محمولهها را نیز فراهم کرد. از کاربردهای دیگر قراردادهای هوشمند میتوان به حوزههایی نظیر مدیریت، سیستم بانکی، بیمه، املاک و … اشاره کرد.
مزایای قرارداد هوشمند
از آنجا که قراردادهای هوشمند بر اساس فناوری بلاک چین عمل میکنند، امنیت و سرعت بالایی دارند، مقرون به صرفه بوده و در عین حال، تنوع زیادی را نیز در اختیار کاربران قرار میدهند.
- امنیت: قرارداد هوشمند به صورت هوشمند در میان همه گرههای موجود در شبکه توزیع میشود. به این ترتیب امکان گم شدن و یا تغییر غیرمجاز آن از بین میرود.
- هزینه پایین و سرعت بالا: این قراردادها به صورت خودکار اجرا میشوند و نیاز به واسطه و شخص ثالث میانجی را از بین میبرند.
- تنوع زیاد: طیف بسیار متنوعی از قراردادهای هوشمند وجود دارد که میتوانید یکی از آنها را انتخاب کرده و بر اساس نیاز خود، بخشی از بندهای آن را تغییر دهید.
معایب قرارداد هوشمند
اما قراردادهای هوشمند درست همانند هر فناوری دیگر، خالی از عیب نیستند و معایبی دارند.
- عامل انسانی: کدها در قرارداد هوشمند توسط انسان نوشته میشود و انسان نیز ممکن است اشتباه کند! اگر قرارداد هوشمند بر روی بلاک چین قرار گیرد، دیگر نمیتوان آن را تغییر داد. یکی از معروفترین اشتباهات انسانی درباره قراردادهای هوشمند برای The DAO روی داد. اشتباه برنامهنویسان در نوشتن این کد برای کاربران گران تمام شد و برخی هکرها توانستند از اشتباه موجود در آن سوءاستفاده کرده و حدود ۶۰ میلیون دلار را سرقت کنند.
- وضعیت قانونی نامطمئن: هنوز هیچ کشوری تاکنون به وضع قوانین برای قراردادهای هوشمند نپرداخته است. در نتیجه، این امکان وجود دارد که برخی کشورها به زودی یک سری مقررات در این زمینه تهیه کنند که این موجب تغییر وضعیت حقوقی این نوع قرارداد خواهد شد.
- هزینه نگارش: قراردادهای هوشمند را نمیتوان بدون برنامه نویسی پیاده کرد. لازم است حتما از یک یا چند برنامه نویس خبره برای نوشتن این نوع قرارداد استفاده کرد و البته ساختار داخلی شرکتهای طرف قرارداد نیز باید با فناوری بلاک چین سازگار باشد.
کدام بلاک چین ها میتوانند قراردادهای هوشمند را پردازش کنند؟
- بیت کوین: بلاک چین بیت کوین برای پردازش معاملات بیت کوین گزینهای بسیار عالی است، اما قابلیتهای کمی برای پردازش اسناد دارد.
- زنجیرههای جانبی (Side Chains): این نام دیگر بلاکچینهایی است که در مجاورت بیت کوین فعالیت میکنند و فضای بیشتری را برای پردازش قراردادها فراهم میکنند.
- NXT: NXT یک پلتفرم بلاک چین عمومی است که گلچین محدودی از الگوها برای قراردادهای هوشمند است. شما باید از آنچه در اختیارتان گذاشته میشود استفاده کنید؛ در واقع قادر به کدنویسی نیستید.
- اتریوم: اتریوم یک پلتفرم عمومی بلاک چین و برای رمزگذاری و پردازش قراردادهای هوشمند بسیار پیشرفته است. شما میتوانید به راحتی کد دلخواه خود را بارگزاری کنید اما باید برای انجام این کار توکنهای “ETH” پرداخت کنید.
قرادادهای هوشمند در آینده
یکی از طرفداران پروپاقرص قراردادهای هوشمند (البته در آیندهای نزدیک) وکلا به شمار میروند. آنها میتوانند نوشتن قراردادهای سنتی را کنار بگذارند، در وقت صرفهجویی کنند و بندها را براساس یک توافق ایجاد نمایند. شرایط نیز اتوماتیک انجام میشوند و هیچ کس نمیتواند به اطلاعات دسترسی داشته باشد و همینطور آنها در بلوکها – بهصورت رمزنگاری شده – باقی میمانند. این قراردادها دنیای معاملات را تغییر میدهند و کارها را خودکار انجام میدهند.
قراردادهای هوشمند همان تعریفیست که از یک معاملهی خوب داریم. هر دو طرف با رضایت کامل تجارتی را به سرانجام میرسانند و هر دو سود میکنند. خریدار وقت خود را برای پرداخت مداوم هزینهها تلف نمیکند و فروشنده نیز اطمینان مییابد که مبالغ به حسابش واریز میشوند.