قرارداد هوشمند یا Smart Contract در بلاکچین
بهطور کلی قراردادهایی که روی شبکه بلاکچین با استفاده از کدهای برنامه نویسی نوشته میشود، قرارداد هوشمند نام دارد. روند اجرای این قرارداد تابع دستورات و شروط ذکر شده در کدهای برنامهنویسی میباشد.
قرارداد هوشمند چگونه کار میکند؟
همانطور که گفتیم، قرارداد هوشمند روی بلاکچین پیادهسازی میشود و خاصیت اصلی بلاکچین هم توزیعشده بودن آن است. جدا از فرایندهای پیچیده فنی، وقتی قرارداد هوشمند روی بلاکچین ثبت شود، میان همه عضوهای بلاکچین یا همان نودها (Node) به اشتراک گذاشته میشود و همه یک نسخه از آن را خواهند داشت، بنابراین جلوگیری از اجرای آن یا دستکاری در آن تقریبا ممکن نیست زیرا همه اعضا بلاکچین آن را اجرا میکنند، نه یک یا چند سرور و نهاد متمرکز.
مشکل اوراکلها
همانطور که در مقاله اوراکل گفتیم، اوراکل به چیزی گفته میشود که برای قرارداد هوشمند، دادههای خارجی را فراهم میکند تا آنها را پردازش کند. به زبان ساده تمام اطلاعات دنیای بیرون توسط اوراکلها به قرارداد هوشمند داده میشود.
اما با وجود مزایای قابل توجه ارائه شده توسط اوراکل، یک نقطه ضعف نیز وجود دارد که آن، نیاز به اعتماد است.
منابع دادهای که اوراکل آنها را به دست آورده و به قراردادهای هوشمند منتقل میکند، باید معتبر باشند. به عنوان مثال اگر شخصی از هر طریقی به وبسایت خبری مرجع اوراکل دسترسی پیدا کرده باشد و اطالاعات را تغییر دهد، میتواند از این تقلب به نفع خود در قرارداد هوشمند استفاده کند.
قرارداد هوشمند به زبان ساده
همه ما در زندگی روزانه خود با قراردادهای مختلفی سر و کار داریم. از خرید و فروش خانه و اتومبیل گرفته تا قراردادهای شرکتی مختلف. در تمامی این قراردادها طرفین قرارداد شرایطی را قبول کرده و خود را ملزم میدارند تا طبق قرارداد موجود رفتار نمایند. پیشرفتهای جدید مختلف که در حوزه تکنولوژی شاهد آن هستیم مخصوصا نوآوریهای مختلفی که در حوزه بلاکچین و بسترهای غیر متمرکز با آنها روبرو شدهایم این امکان را برای ما بوجود آوردهاند تا بتوانیم قراردادهای متداول موجود را با کمک کدهایی نوشته شده در بسترهایی غیر متمرکز به صورت هوشمند و خودکار درآورده و با حذف واسطههای موجود بتوانیم مزیتهای فراوانی را در استفاده از آنها برای کاربران ایجاد نماییم. با ترکیب کدهایی که در بسترهای غیرمتمرکز نوشته میشوند با قراردادهای متداول امروزی مفهومی به نام smart contract یا همان قرارداد هوشمند را خواهیم داشت. قراردادهای هوشمند(smart contract) در بستر بلاکچین با ایجاد ساز و کاری هوشمندانه و امن میتوانند با کاهش هزینهها و ایجاد بستری ایمن و غیر متمرکز، کاربردهای مختلفی را برای عموم کاربران داشته باشند. در این مقاله شما را با قرارداد هوشمند (smart contract) آشنا خواهیم کرد.
قرارداد معمولی چیست؟
برای اینکه موضوع روشن تر شود در ابتدا به تعریف قرار داد معمولی میپردازیم. در زندگی روزمره با قرار دادهای معمولی مختلفی روبرو هستیم. بسته به اینکه این قرار دادهای معمولی چه مسئولیتی را برای طرفین قرار داد ملزم میداند میتواند بصورت مکتوب و یا شفاهی بین طرفین قرار داد صورت بگیرد. حال اگر بخواهیم تعریفی ساده از قرار داد معمولی ارائه دهیم میتوانیم بگوییم به الزامات و شرایطی که دو یا چند شخص و یا گروه خود را متعهد به انجام آن کرده و شرایط خود را برای خروج از قرار داد در صورت عدم رعایت برخی شرایط اعلام میکنند، قرار داد معمولی میگویند. طبق این تعریف وجود طرفین و شرایطی که متعهد به انجام آن هستند و شرایطی که طرفین در صورت بوجود آمدن آن میتوانند از قرار داد خروج نمایند از موارد اصلی یک قرار داد معمولی است.
تعریف قرارداد هوشمند
همانطور که از نام آن برداشت میشود قرار داد هوشمند (smart contract) نوعی قرار داد است که بصورت خود کار و هوشمندانه طبق الگوریتم برنامه نویسی شده، کارهایی را انجام میدهد. همانطور که در مقدمه به آن اشاره شد وجه تمایز قرار داد هوشمند (smart contract) با برنامههای معمولی کد نویسی شده در استفاده از بستر بلاکچین است که بر امنیت آن به شدت میافزاید و از طرفی با حذف واسطهها موجب کاهش هزینهها میشود. اتریوم به عنوان اولین بستر بلاکچینی که توانسته این امکان را به کد نویسان بدهد که قرار دادهای هوشمند را بتوانند روی قرارداد هوشمند آن بنویسند تحولی بزرگ در کاربرد بسترهای بلاکچینی بوجود آورده است. یک قرار داد هوشمند (smart contract) را میتوانید همانند یک دستگاه خودکار تجسم کنید که در حوزههای مختلف، کارهای مختلفی را بنا بر آنچه برنامه نویس میخواهد انجام میدهد. برنامههای گوناگونی که در بستر بلاکچین در اختیار کاربران قرار میگیرند بصورت خودکار انجام میشوند و هیچ فرد و ارگان خاصی به آن نظارت نداشته و با توجه به ذات غیر متمرکز آن و ثبت شدن در بستر بلاکچین از هر گونه سانسور و تغییر حتی توسط خود برنامه نویس محفوظ است.
تفاوت قراداد هوشمند و معمولی چیست؟
تفاوت اصلی بین قرار دادهوشمند و قرار داد معمولی در استفاده از بستر بلاکچین است. فناوری بلاکچینی قابلیتهای بسیاری را در اختیار برنامههایی که روی آن نوشته میشود میگذارد. در واقع تمام تسهیلات و امتیازاتی که یک بلاکچین دارد را میتوان برای قرار دادهای هوشمند نیز در نظر گرفت. از مهمترین این امتیازات که در واقع از تفاوتهای آن با قرار دادهای معمولی نیز به حساب میآید، غیر متمرکز بودن و توزیع شدگی آن است که این خود میتواند مزایای بسیار دیگری را برای کاربران به ارمغان بیاورد. توزیع شدگی و عدم تمرکز در بستر بلاکچین و قرار دادهای هوشمندی که از این بستر استفاده میکنند باعث امنیت بالای این قرار دادها شده بگونهای که تمامی اطلاعات بصورت رمزنگاری شده در دفتر کل توزیع شده بصورت زنجیره بلوکهای به هم پیوسته ذخیره میشوند و یک نسخه از این دفتر کل توزیع شده در اختیار نودهای شبکه قرار گرفته و هر گونه تغییر در آن باید با اجماع همگانی این نودها انجام شود.
بنابراین بسیار روشن است که قرار دادهای هوشمند از هر گونه دستکاری و دخالت محفوظ بوده و تغییرات آن باید توسط اجماع نودهای شبکه پس از رای گیری انجام گیرد. در صورتی که در قرار دادهای معمولی ساز و کار به شکلی کاملا سنتی بوده و معمولا مفاد قرار داد در برگهای کاغذی نوشته شده و توسط نهادی متمرکز تایید میشود که این میتواند خود موجب آن شود که نهاد متمرکز خاصی کنترل و تایید قرارداد معمولی را عهده دار شود که موجب انحصار و بوجود آمدن سانسور و اعمال سلیقههای این نهاد واسطهای خواهد شد. از دیگر مزیتهای قرار دادهای هوشمند(smart contract) نسبت به قرار دادهای معمولی حذف واسطههای هزینه بر و وقت گیر است. شما برای نوشتن و یا استفاده از قرار دادهای هوشمند نیاز به نهادهای واسطهای متمرکز نخواهید داشت که این موجب کاهش در هزینههای جانبی و اضافی خواهد شد.
چگونگی عملکرد قرار داد هوشمند؟
برای اینکه از چگونگی عملکرد قرار دادهای هوشمند آگاه شوید مثالی کاربردی را با هم مرور میکنیم. فرض کنید شما قصد دارید مبلغی را سرمایه گذاری کنید، مبلغی که برای سرمایه گذاری خود اختصاص دادهاید به قدری نیست که بتوانید با آن ملک یا طلا و یا دیگر کالاهای ارزشمند برای سرمایه گذاری را انتخاب کنید، بنابراین شما تصمیم میگیرید به بانکی مراجعه کرده و حسابی با سودی مشخص باز کنید. برای این کار در واقع شما پول خود را به نهادی متمرکز ( در اینجا بانک) سپرده گذاری میکنید تا این نهاد با سرمایه گذاریهای مختلفی که با پول شما انجام میدهد درصدی از سود حاصل را به عنوان سود سرمایه گذاری به شما پرداخت نماید. همین کار را یک قرار داد هوشمند در بستر بلاکچین نیز میتواند برای شما انجام دهد و سود حاصل را به آدرس مشخصی که شما آن را تایید میکنید واریز کند. نکتهای که وجود دارد این است که تمامی این کار توسط کدهایی برنامه نویسی شده در بستر بلاکچین صورت گرفته و هیچ نهاد واسطهای به آن نظارت و یا دخل و تصرفی ندارد. شما به عنوان کاربر هنگام استفاده از این قراردادهای هوشمند همان خدماتی را که بانکداری به شما ارائه میدهد و حتی بیشتر را میتوانید دریافت کنید که از آن جمله میتوان به گرفتن سود حاصل از سرمایه گذاری، گرفتن وام و حتی وام دادن به کاربران دیگر را اشاره نمود. البته این تنها به عنوان مثالی از نحوه عملکرد قرار دادهای هوشمند در حوزه مالی بود. استفاده از قرار دادهای هوشمند در حوزههای دیگری از جمله آموزش، بازی، بهداشت و درمان، املاک و غیره را میتوان نام برد.
کاربرد قرارداد هوشمند؟
شاید با مطالعه امکانات و مزایای مختلفی که قرار دادهای هوشمند در اختیار ما قرار میدهد این سوال برای شما پیش بیاید که کاربردهای قرار دادهای هوشمند در چه حوزههایی است؟ برای گرفتن جواب این سوال کافیست که مقداری به ماهیت قرار دادهای هوشمند (smart contract) توجه داشته باشید. همانطور که پیش تر به آن اشاره شد قرار دادهای هوشمند در واقع کدهایی هستند که توسط زبان برنامه نویسی مخصوصی در بستر بلاکچین نوشته میشوند و همانند دیگر اپلیکیشنهای متمرکز نیازهای مختلف کاربران را برطرف کرده و یا خدماتی را ارائه میدهند. برای همین شما استفاده و کاربرد قرار دادهای هوشمند را در حوزههای مختلفی میتوانید مشاهده نمایید که از آن جمله میتوان به ثبت هویت دیجیتال، رای گیریهای مختلف، مدیریت زنجیره تامین، بیمه و خدمات مالی مختلف اشاره نمود.
مشکلات قرار داد هوشمند؟
مهمترین مشکلات یا معایبی که یک قرار داد هوشمند میتواند داشته باشد در ارتباط با خطای انسانی در هنگام نوشتن کدهای قرار داد هوشمند است. همانطور که پیش تر به آن اشاره شد قرار دادهای هوشمند در واقع کدهایی برنامه نویسی شده در بستر بلاکچین هستند. این کدها توسط برنامه نویسانی که به قرارداد هوشمند محیطهای برنامه نویسی در بستر بلاکچین و زبان برنامه نویسی آن تسلط کافی دارند نوشته میشود. این برنامه نویسان ممکن است در نوشتن این برنامهها دچار خطا و اشتباه شوند و با توجه به ذات غیر متمرکز این برنامههای بلاکچینی، این قرار دادهای هوشمند میتوانند باعث مشکلاتی برای کاربران خود شوند. بنابراین شرکتهایی برای آدیت این کدها بوجود آمدهاند تا این کدها را بازبینی کرده و مشکلات احتمالی را قبل از اجرا در بستر بلاکچین رفع نمایند. از دیگر مشکلات قابل ذکر میتوان از عدم وجود قانون گذاری در بیشتر کشورها در ارتباط با استفاده از قرار دادهای هوشمند و عدم به رسمیت شناختن آنها توسط دولتهای مختلف اشاره نمود که این موضوع در آینده و با فراگیر تر شدن کاربردهای قرار دادهای هوشمند و قانون گذاری آن توسط کشورهای مختلف قابل رفع است.
نتیجه گیری
بستر اتریوم به عنوان اولین بستر بلاکچینی که از قرار دادهای هوشمند پشتیبانی میکند این قابلیت را برای توسعه دهندگان خود فراهم آورد تا بتوانند قرار دادهای هوشمند خود را در بستر بلاکچین پیاده سازی کرده و از مزایای فراوان آن بهره ببرند. این قرار دادهای هوشمند در واقع برنامههای نوشته شده در بستر بلاکچینی هستند. بنابراین از تمام مزایا و خصوصیات بلاکچین برخوردار هستند. با معرفی قرار دادهای هوشمند تحول بزرگی در حوزه بلاکچین حاصل شد. این تحول به خاطر این بود که با اجرای قرار دادهای هوشمند در بستر بلاکچین با توجه به ذات توزیع شده آن دیگر نیازی به نهادهای واسطهای نبود و همین امر باعث کاهش هزینهها و بالاتر رفتن امنیت و حفظ حریم خصوصی افراد در ارتباط با استفاده از قراردادهای هوشمند شده است.
قرارداد هوشمند چیست؟
قرارداد هوشمند چیست؟ یک پروتکل کامپیوتری به شمار میرود که برای تولید یا بهبود قراردادمورد استفاده قرار میگیرد. بارزترین هدف قرارداد هوشمند، در قرارداد هوشمند واقع همیشگی حذف واسطه در تراکنشهای موجود است.
جهت آشنایی بیشتر با ماهیت قرار داد هوشمند و نحوه عملکرد آن با ما در ادامه این مقاله همراه باشید…
قرارداد هوشمند چیست؟
گر به زبانی ساده بخواهیم این پروتکل را شرح دهیم بیاد این نوع قراردادها را پروتکلی جهت تنظیم قراردادها بشمار آوریم، که به استفاده از اطلاعات شرایط قرار داد، اقدامات پیشبینی شده لازم را به صورت کاملاً خودکار انجام میدهند. در قراردادهای هوشمند، بدون دخالت اشخاص ثالث تمامی امور تراکنشهای معتبر به شکلی ساده را صورت میپذیرد. در واقع این نوع از قراردادها پروتکلی کامپیوتری هستند که جهت تسهیل، تأیید و یک مذاکره به شکل کاملا دیجیتالی ایجاد شدهاند. از مهمترین ویژگی قراردادهای هوشمند، میتوان به قابلیت ردیابی و برگشت ناپذیر بودن تراکنش اشاره داشت.
تاریخچه قرارداد هوشمند Smart Contract
در سال 1994 بود که ایده اولیه هوشمند (Smart Contract) به واسطه دانشمند کامپیوتر و رمز نگاری، به نام نیک سابو مطرح گردید. وی اساس عملکرد این قرارداد را تشریح کرد، اما به علت نبود فضای مناسب در آن هنگام تحقق این ایده بک امری محال به محسوب میشد. با گذشت زمان ظهور فناوری بلاک چین (زنجیره بلوکی)، ایدهٔ قراردادهای هوشمند دوباره توانست جانی تازه بگیرد. بیت کوین اولین ارز دیجیتال غیرمتمرکز جهان است که به شکلی پایهگذار نوعی قرارداد در شبکه بلاک چین به شمار میرود. اما پروتکل بیت کوین تنها توانایی یک ارز خصوصی توسعه یافته را دارد و قادر به رفع تمام نیازها کاربران نیست. بههین جهت خیلی طولی نکشید که ارز اتریوم قابلیت ایجاد قراردادهای هوشمند را جهت اکثر پروژهها عملی فراهم نمود. در واقع ارز دیجیتال اتریوم با فراهم آورد این امکان نقش بزرگی را هوشمند سازی حوزه ارزهای دیجیتال و جهان ایفا کرد.
هدف اصلی قرارداد هوشمند چیست؟
چنانچه به زبانی ساده بخواهیم قراردادهای هوشمند را شرح دهیم باید این طور عنوان کرد که این قرار دادها به غیر از حذف واسطه، به منظور تامین امنیت، اعتماد و تسهیل نمودن امور در معاملات و قراردادها طراحی گردیدهاند. در حقیقت از این نوع از قراردادها در امور متنوعی میتوان استفاده نمود که انتخابات، موسسات مالی و بانکها، بیمهها، دولتها، املاک، رسانهها، خدمات سلامتی و … را شامل میروند.
از بارزترین ویژگی ها در قراردادهای هوشمند میتوان به حفظ امنیت در سطحی بالا اشاره کرد. این تکنولوژی به خاطر استفاده از بستری که روی بلاکچین اجرا میشود و اطلاعاتش به صورتی کامل محرمانه میماند. به موجب این امر دیتاها با فرمولهای ریاضی رمزنگاری خواهند شد و هیچ شخصی جز شخص کاربر اجازهی دسترسی به آنها را دیگر نخواهد داشت.
ویژگی های بارز قرارداد هوشمند
حفظ امنیت
در واقع قراردادهای هوشمند به شکلی رمزگذاری شده اند که بین گرهها در شبکه بلاک چین توزیع میشوند. این بدان معناست که بدون اجازه کاربر، هیچ دخل و تصرفی در دادهها صورت نخواهد پذیرفت.
صرفهجویی در زمان به دلیل سرعت بالا
اکثریت فرایندها به صورت خودکار انجام میشوند و به همین دلیل تمامی واسطهها حذف خواهند شد.
استاندارد بالا
هم اکنون طیف وسیعی از انواع مختلف قراردادهای هوشمند موجود هستند و کاربران میتوانند با انتخاب یکی از آنها با توجه به نیاز خود تغییراتی در آن اعمال نمایند.
استقلال قراردادهای هوشمند
قراردادهای هوشمند، بدون اینکه نیازی به شخص ثالث داشته باشند کنترل تمام توافقنامه را به کابران خود ارئه میدهند.
اعتماد
در قرار دادهای هوشمند هیچ شخصی امکان تعرض قرارداد هوشمند به اسناد کاربران را دیگر ندارد، چراکه این قراردادها رمزگذاری شده و به شکلی ایمن در یک دفتر کل عمومی ذخیره گردیدهاند. همچنین، اعتماد کامل دو طرف در یک معامله هیچ ضرورتی ندارد، چراکه سیستم قراردادهای هوشمند مشکل اعتماد را به شکلی ساده رفع نموده است.
صرفهجویی در هزینهها
به واسطه بهره مندی از قراردادهای هوشمند دیگر هیچ نیازی به دفترخانههای رسمی، مشاوران، نمایندگان املاک و بسیاری از واسطهها نخواهیم داشت و بدین شکل تمدید خودکار قرارداد انجام میشوند. به موجب این امر اکثر هزینههای مربوط به خدمات آنها به خودی خود حذف میشوند.
کارایی قراردادهای هوشمند
به علت استفاده از قراردادهای هوشمند، علاوه بر صرفهجویی وقت و هزینه، دیگر نیازی به ثبت انبوهی از اسناد کاغذی، ارسال یا انتقال آنها برای حفظ و نگهداری در مکانهای خاص از بین خواهد رفت.
مفاد لازم برای ایجاد یک قرارداد هوشمند
موضوع قرارداد هوشمند
برنامه مورد نظر باید به کالا و خدمات تحت قرارداد جهت قفل نمودن و باز کردن خودکار آنها باید دسترسی به شکل کامل داشته باشد.
امضاهای دیجیتال
در واقع این شرط برای تمامی شرکتکنندگان الزامی است. چراکه دو طرف معاملعه با امضای قرارداد به واسطه استفاده از کلیدهای خصوصی مربوط به خود، توافقنامه را شروع مینمایند.
شرایط قراردادهای هوشمند
شرایط قرارداد هوشمند، به صورت یک رشته کامل دقیق از عملیات تعریف شده است و همه شرکتکنندگان باید این شرایط را به امضا خودشان برسانند.
پلتفرم غیر متمرکز
همانطور که در مطالب بالا عنوان شد، قرارداد هوشمند بر بستر بلاک چین پلتفرم جای گرفته است و بین گرههای این پلتفرم نیز توزیع خواهند شد.
بلاک چین های مخصوص قراردادهای هوشمند
بیت کوین: این بلاک چین با هدف پردازش معاملات بیت کوین یک گزینهی بسیار مناسب محسوب میشود، اما قابلیتهای زیادی برای پردازش اسناد ندارد.
زنجیرههای جانبی (Side Chains): یک نام دیگر بلاک چینهایی است که فعالیتی در مجاورت بیت کوین را دارند و قابلیت فضای بیشتری را جهت پردازش قراردادها فراهم میآورند.
NXT: در دسته پلتفرم بلاک چین عمومی جای گرفته است که به شکل محدودی از الگوها جهت قراردادهای هوشمند به شمار میروند.
اتریوم: پلتفرم عمومی در دسته بلاک چین و جهت رمزگذاری و پردازش قراردادهای هوشمند بسیار کاربردی است. کاربران قادر میتوانند به راحتی کد مدنظر خود را بارگزاری کنند.
نتیجه گیری
در کل قراردادهای هوشمند به شکلی خودکار با شروطی که اتفاق می افتد، فعالیت خود را شروع میکند. از مهمترین مزیتهای قراردادهای هوشمند کارد کردن بدون توقف است. همچنین هیچ شخصی توانایی دخل و تصرف در آن ها را نخواهد داشت. همین امر باعث شد که کاربران موجود در شبکه به این نوع از قراردادها به خصوص در حوزه ارزهای دیجیتال اعتمادی بسیاری داشته باشند.
صرافی ارزی کوین حدود دو سال در زمینه ارز دیجیتال فعالیت دارد و آماده خدمات رسانی به صورت آنلاین و حضوری به شما مشتریان عزیز و گرامی می باشد.
در صرافی ارزی کوین شما می توانید خرید تمامی ارز ها را به صورت آنی با پرداخت مستقیم ریال انجام دهید که این مزیت باعث متمایز بودن این صرافی نسبت به صرافی های دیگر می باشد.
صرافی ارزی کوین به صورت مجازی(سایت) و حضوری آماده خدمت رسانی به مشتریان گرامی می باشد.
در صرافی ارزی کوین بیش از 300 ارز دیجیتال برای خرید و فروش موجود است که شما مشتریان عزیز می توانید بدون پرداخت کارمزد به این صرافی فعالیت داشته باشید.
همچنین امنیت معاملات شما کاربر گرامی بالا می باشد که باعث اطمینان شما مشتریان عزیز به این صرافی می شود و با خیالی آسوده می توانید معاملات خود را انجام دهید.
شماره تماس دفتر: 02126402554
آدرس پستی : بلوار میرداماد,جنب مترو میرداماد,مجتمع تجاری رز میرداماد,طبقه اول , واحد13
قرارداد هوشمند
من عاشق دنیای ارز رمز و بلاک چین هستم، دنیای بسیار پرسود ولی خطرناک به شرطی که خودمان را با دانش صحیح و بروز مجهز کنیم، آکادمی هلاکوئی را راه اندازی کردم که با حمایت شما به یکی از بهترین پایگاه آموزشی به زبان فارسی تبدیل شود. در این راه با حمایت اعضا و خانواده ی بزرگ آکادمی هلاکوئی، در کنارتان هستم.
پشتیبانی از طریق ارسال تیکت:
وارد داشبورد خود شده و گزینه (تیکت پشتیبانی) را انتخاب و بر روی (ارسال تیکت) کلیک کنید. از همین طریق درخواست خود را پیگیری کنید.
ما را در تلگرام دنبال کنید
کانال درآمد ارز دیجیتال [email protected]
تلگرام کافه ترید ایران [email protected]
کانال نخبگان ارز دیجیتال [email protected]
خبر فوری ارز دیجیتال [email protected]
خبر فوری بازار خارجی [email protected]
کانال وی ای پی [email protected]
قرارداد هوشمند چیست؟
اگر تاحدودی با دنیای بلاکچین و ارزهای دیجیتال آشنایی دارید، احتمالا عبارت قرارداد هوشمند به گوشتان خورده است. وقتی با چنین عبارتی روبرو شویم، قاعدتا سوالاتی ذهن ما را درگیر میکند:
اصلا قرارداد هوشمند چیست؟ از کجا آمده؟ چه کاری انجام میدهد؟ چه فایدههایی دارد؟ و شاید هزاران سوال دیگر. اگر کنجکاو هستید تا از رمز و راز آن سردربیاورید، با ما همراه شوید و این مطلب را تا انتها دنبال کنید.
تاریخچه قرارداد هوشمند و تعریف آن
اولین بار قرارداد هوشمند توسط نیک سابو (Nick Szabo) در دههی 1990 میلادی شرح داده شد. در آن زمان او قرارداد هوشمند را به عنوان ابزاری تعریف کرده بود که از طریق ترکیب پروتکلها با رابطهای کاربری، شبکههای کامپیوتری را ایمن میسازد. سابو از توانمندیهای بالقوهی قرارداد هوشمند در بخشهای مختلف که توافقهای قراردادی مانند سیستمهای اعتباری، فرایند پرداخت و مدیریت حقوق محتوا را شامل میشدند، صحبت کرد.
در دنیای ارزهای رمزنگاری شده، قرارداد هوشمند را به عنوان برنامهی کاربردی که روی بلاکچین پیادهسازی میشود، تعریف و تبیین میکنیم. معمولاً این قراردادهای هوشمند توسط مجموعهای از قوانین خاص اداره میشوند. این قوانین توسط کدهای برنامهنویسی از پیش تعیین میشوند و در همهی گرهها (نودها) کپی شده و پیادهسازی میشوند.
در اصل، قراردادهای هوشمند بلاکچین امکان ایجاد پروتکلهای بدون مجوز را فراهم میکنند. این به آن معناست که دو شخص یا گروه بدون این که یکدیگر را بشناسند و اعتبارسنجی انجام دهند، میتوانند به وسیلهی بلاکچین با هم تعهداتی ببندند. آنها میتوانند این اطمینان را داشته باشند که اگر شرایط محقق نشود، قرارداد اجرا نمیشود. علاوه بر همهی این موارد، استفاده از قرارداد هوشمند به علت حذف واسطه، از بسیاری از هزینهها میکاهد. این قراردادها ابتدا همیشه توسط بیت کوین استفاده میشدند، اما با این حال همبنیانگذار و سازندهی اتریوم، ویتالیک بوترین (Vitalik Buterin) قرارداد هوشمند باعث محبوبیت و فراگیر شدن آن شد. البته لازم به ذکر است که هر بلاکچین، روش متفاوتی از قراردادهای هوشمند را پیادهسازی میکند.
قراردادهای هوشمند چگونه کار میکنند؟
به زبان سادهتر واقعیت این است که قراردادهای هوشمند همانند یک برنامهی قطعی کار میکنند که یک وظیفهی ویژه را فقط در صورتی که شرایط خاصی فراهم شود، اجرا میکنند. به همین علت یک سیستم قرارداد هوشمند از یک سری کدهای شرطی پیروی میکند. اما با وجود اصطلاح رایج آن، قراردادهای هوشمند، نه حقوقی هستند و نه هوشمند. آنها فقط یک سری رشته کد هستند که روی یک سیستم توزیعی به نام بلاکچین اجرا میشوند.
قراردادهای هوشمند در شبکهی اتریوم وظیفهی مدیریت و اجرای عملیاتهای روی بلاکچین که به هنگام تعامل کاربران (آدرسها) انجام میشوند، را دارند. هر آدرسی که یک قرارداد هوشمند نباشد، حساب خارجی (EOA) خوانده میشود. بنابراین قراردادهای هوشمند از طریق کدهای کامپیوتری و حسابهای خارجی (EOAها) توسط کاربران کنترل میشوند.
اساساً قراردادهای هوشمند اتریوم از یک کد قراردادی و 2 کلید عمومی تشکیل میشوند. اولین کلید عمومی آن، توسط شخصی که قرارداد را ایجاد کرده فراهم میشود. کلید عمومی دیگر نمایانگر خود قرارداد هوشمند است که به عنوان یک شناسهی دیجیتال عمل میکند و برای هر قرارداد هوشمند منحصر به فرد است. استقرار هر قرارداد هوشمند توسط یک معامله در بلاکچین انجام میشود و فقط در صورتی امکان فعال شدن آنها وجود دارد که توسط EOA (و یا توسط سایر قراردادهای هوشمند) فراخوانده شوند. با این حال همیشه اولین بار توسط یک EOA (کاربر) انجام میپذیرد.
ویژگیهای اصلی قراردادهای هوشمند کدامند؟
یک قرارداد هوشمند اتریوم غالباً این ویژگیها را دارد:
توزیعی: قراردادهای هوشمند توسط تمامی گرههای (نودهای) شبکه اتریوم تکثیر و توزیع میشوند. این یکی از تفاوتهای عمده در مقایسه با دیگر راهحلهای مبتنی بر سیستمهای متمرکز است.
قطعی: قراردادهای هوشمند هر زمان که الزامات آنها به طور حتمی فراهم شود، تنها عملیاتی که برای آنها تعریف شده را انجام میدهند. همچنین خروجی آنها همیشه یکی است، تفاوتی ندارد که چه کسی آن را اجرا میکند.
خودکار: قراردادهای هوشمند میتوانند به صورت اتوماتیک تمام وظایف خود را مانند یک برنامهی خودکار انجام دهند. با این حال در بسیاری از موارد اگر یک قرارداد هوشمند فعال نشود تا مدت زیادی غیرفعال باقی میماند.
تغییرناپذیر: قرارداد هوشمند پس از استقرار نمیتواند تغییر کند. فقط در صورتی که از قبل برای آن کدی تعریف شده باشد، میتواند حذف شود. بنابراین میتوانیم این را بگوییم که قراردادهای هوشمند کدهای ضد جعل فراهم میکنند.
قابل تنظیم: قراردادهای هوشمند قبل از مستقر شدن میتوانند به راههای مختلفی کدگذاری شوند. پس آنها میتوانند برای بسیاری از برنامههای کاربردی غیرمتمرکز (DApps) مورد استفاده قرار گیرند.
بدون مجوز: دو شخص و یا گروهی از افراد میتوانند بدون نیاز به اعتبارسنجی و شناخت یکدیگر توسط قرارداد هوشمند با هم تعامل داشته باشند. علاوه بر آن فناوری بلاکچین این اطمینان را میدهد که دادهها معتبر و صحیح هستند.
وضوح: از آنجایی که قراردادهای هوشمند مبتنی بر بلاکچین عمومی هستند، کد منبع آنها نه تنها تغییرناپذیر است، بلکه برای دیگران نیز قابل مشاهده است.
آیا می توان قرارداد هوشمند را تغییر داد یا حذف کرد؟
پس از این که قرارداد هوشمند مستقر شد، اضافه کردن عملکردهای جدید به آن غیرممکن است. با این حال اگر سازندهی آن تابعی به نام خودتخریبی را در کد قرارداد هوشمند آن لحاظ کند، در آینده کاربر قادر خواهد بود تا قرارداد را حذف و جایگزین کند. برعکس، اگر تابع در کد وارد نشده باشد، کاربر قادر به حذف قرارداد نخواهد بود.
نکتهی قابل توجه این است که قراردادهای هوشمند مشهوری هم وجود دارند که قابلیت بهروزرسانی دارند و توسعهدهندگان نیز انعطافپذیری بیشتری در این قراردادها دارند تا در نوع تغییرناپذیر آن. برای ایجاد این قراردادها راههای زیادی وجود دارد که هر کدام از آنها از پیچیدگیهای مختلفی برخوردارند.
به عنوان مثال، تصور کنید یک قرارداد هوشمند را به چندین قرارداد کوچکتر تقسیم کنیم. برخی از آنها به عنوان نوع تغییرناپذیر کدنویسی شدهاند و برخی دیگر قابلیت حذف شدن دارند. این به آن معنی است که برخی از قسمتهای کد میتوانند حذف شوند و این در حالی است که برخی دیگر به همان حال خود باقی میمانند.
فواید و موارد استفادهی قراردادهای هوشمند کدامند؟
قراردادهای هوشمند به عنوان کدهای قابل برنامه نویسی، قابل تنظیماند و در بسیاری از موارد دیگر میتوانند طوری طراحی شوند تا خدمات و راهحلهای جدید ارائه دهند. این قراردادها همچنین میتوانند به عنوان برنامههای خودکار و غیرمتمرکز اجرا شوند و با توجه به این که از وضوح بسیار بالایی برخوردارند و از هزینهها میکاهند، بسته به نوع پیادهسازیشان میتوانند اثرگذاری بیشتری داشته باشند و هزینههای اداری را تا حد زیادی کاهش دهند.
قراردادهای هوشمند خصوصا در شرایطی که بحث انتقال و یا مبادله وجوه بین دو یا چند نفر وجود داشته باشد نیز مناسب و کاربردی است. این نوع از قراردادها علاوه بر این موارد استفاده، کاربردهای دیگری نیز در زمینههای مختلف دارند که برخی از آنها عبارتند از: سیستمهای رایگیری، کیف پولهای رمزنگاری شده، صرافیهای غیرمتمرکز، بازیها و اپلیکیشنهای موبایل و غیره. لازم به ذکر است که به کمک بلاکچین میتوان در بخشهای مختلف مانند حوزه سلامت، زنجیرهی تامین، خیریه، دولت و امورمالی غیرمتمرکز (DeFi) نیز از قراردادهای هوشمند استفاده کرد.
قراردادهای هوشمند چه محدودیتهایی دارند؟
قراردادهای هوشمند از کدهای کامپیوتری که توسط انسانها نوشته شده است، تشکیل میشوند. این باعث میشود که نقاط آسیبپذیر آن، در کدهایی که خطا دارند بیشتر دیده شود. در بهترین حالت این کدها باید توسط برنامهنویسان حرفهای دنیا نوشته شوند، مخصوصاً اگر پای اطلاعات مهم و مبالغ کلان در میان باشد.
علاوه بر آن برخی بر این باورند که بسیاری از سیستمهای متمرکز نیز میتوانند کاربردهای قراردادهای هوشمند را پیادهسازی کنند. تفاوت اصلی آنها این است که قراردادهای هوشمند روی یک شبکهی همتابه همتای توزیعی اجرا میشوند، نه یک سرور متمرکز. از آن جا که قراردادهای هوشمند مبتنی بر سیستم بلاکچین هستند، تمایل دارند که تغییرناپذیر باشند و یا بسیار سخت تغییر کنند. ویژگی تغییرناپذیری قراردادهای هوشمند در برخی موقعیتها میتواند عالی باشد و در برخی موارد نیز حتی میتواند برعکس عمل کند.
به عنوان مثال، زمانی که یک سازمان غیرمتمرکز خودکار به نام «The DAO» در سال 2016 هک شد، میلیونها اتر (ETH) به علت نقصهای موجود در کد قرارداد هوشمند آن دزدیده شد. توسعهدهندگان نمیتوانستند کد را اصلاح کنند، فقط به این علت که قرارداد هوشمند آنها تغییرناپذیر بود. این موضوع به هارد فورک ختم شد که منجر به ظهور زنجیرهی اتریوم دوم شد. به بیان ساده، این موضوع منجر به ایجاد یک زنجیرهای شد که به وسیلهی آن هک را باز میگرداند و مبالغ را نیز به صاحبان بهحق خود برگشت میدهد (این بخشی از بلاکچین فعلی اتریوم است). زنجیرهی دیگر این تصمیم را گرفت که در مورد هک دخالتی نکند با این تفکر که مسائلی که در بلاکچین اتفاق میافتند، نباید تغییر کنند (این زنجیره امروزه اتریوم کلاسیک نام دارد).
موضوع حائز اهمیت این است که بدانید مشکل از بلاکچین اتریوم نبود. در واقع این مشکل فقط به دلیل اجرای قرارداد هوشمند معیوب رخ داده بود.
یکی دیگر از محدودیتهای قراردادهای هوشمند، به این برمیگردد که وضعیت قانونی بودن آن هنوز نامشخص است. به عنوان مثال در اغلب قراردادها لازم است که هر دو طرف قرارداد به درستی شناسایی شده و بیشتر از 18 سال سن داشته باشند. نام مستعاری که توسط فناوری بلاکچین ارائه میشود و ترکیب آن با عدم وجود واسطه، ممکن است شرایط را دشوارتر کند. با این که راهحلهای بالقوهای برای این امر وجود دارد اما اجرای قانونی قراردادهای هوشمند بسیار چالش برانگیز است؛ خصوصا زمانی که از شبکههای توزیعی و بدون مرز صحبت میکنیم.
چه انتقاداتی به قراردادهای هوشمند وارد است؟
بسیاری از طرفداران بلاکچین قراردادهای هوشمند را به عنوان راهحلی تلقی میکنند که به زودی جایگزین بخش عظیمی از سیستمهای اداری و کاغذبازیهای آن میشود. امکان به حقیقت پیوستن این موضوع وجود دارد اما میتوان گفت که احتمال به سرعت همهگیر شدن آن پایین است و به زمان بیشتری نیاز دارد.
مطمئناً قرارداد هوشمند یک فناوری بینظیر است. اما به خاطر ویژگیهایی که دارد، یعنی قطعی بودن، توزیعی، وضوح و تا حدی تغییرناپذیر بودن، در برخی از موقعیتها کمتر میتواند مخاطبین را ترغیب به استفاده از آن کند. اساساً انتقادهای زیادی به این که قراردادهای هوشمند راهحل مناسبی برای بسیاری از مشکلات دنیای واقعی نیستند، وارد است. در حقیقت بسیاری از سازمانها بهتر است از همان سیستمهای سنتی و پیشین خود استفاده کنند. زیرا که سرورهای متمرکز در مقایسه با قراردادهای هوشمند، ارزانتر و آسانتر برای نگهداری هستند و سرعت بالایی در ایجاد ارتباطات بین شبکهای دارند.
جمعبندی
شکی نیست که قراردادهای هوشمند تحول بزرگی در دنیای ارزهای رمزنگاری شده محسوب میشوند و انقلابی در فناوری بلاکچین به پا کردهاند. اگر چه ممکن است که کاربران به طور مستقیم با قراردادهای هوشمند تعامل نداشته باشند، اما اینها به احتمال زیاد باعث ایجاد طیف گستردهای از برنامههای کاربردی در آینده، اعم از خدمات مالی تا مدیریت زنجیره تأمین خواهند شد. نظر شما در رابطه با قراردادهای هوشمند چیست؟ برای ما بنویسید.
دیدگاه شما