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


منبع: hackernoon.com

جایگاه و اعتبار قرارداد هوشمند بلاک چین از منظرحقوق قراردادی ایران

اولین کنفرانس بین المللی مدیریت دانش، بلاکچین و اقتصاد

خرید و دانلود فایل مقاله

با استفاده از پرداخت اینترنتی بسیار سریع و ساده می توانید اصل این مقاله را که دارای 20 صفحه است به صورت فایل PDF در اختیار داشته باشید.

مشخصات نویسندگان مقاله جایگاه و اعتبار قرارداد هوشمند بلاک چین از منظرحقوق قراردادی ایران

چکیده مقاله :

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

کلیدواژه ها:

کد مقاله /لینک ثابت به این مقاله

کد یکتای اختصاصی (COI) این مقاله در پایگاه سیویلیکا BLOCKCHAIN01_120 میباشد و برای لینک دهی به این مقاله می توانید از لینک زیر استفاده نمایید. این لینک همیشه ثابت است و به عنوان سند ثبت مقاله در مرجع سیویلیکا مورد استفاده قرار میگیرد:

نحوه استناد به مقاله :

در صورتی که می خواهید در اثر پژوهشی خود به این مقاله ارجاع دهید، به سادگی می توانید از عبارت زیر در بخش منابع و مراجع استفاده نمایید:

خرمی، یاسر،1398،جایگاه و اعتبار قرارداد هوشمند بلاک چین از منظرحقوق قراردادی ایران،اولین کنفرانس بین المللی مدیریت دانش، بلاکچین و اقتصاد،تهران،https://civilica.com/doc/968448


در داخل متن نیز هر جا که به عبارت و یا دستاوردی از این مقاله اشاره شود پس از ذکر مطلب، در داخل پارانتز، مشخصات زیر نوشته می شود.
برای بار اول: ( 1398، خرمی، یاسر؛ )
برای بار دوم به بعد: ( 1398، خرمی؛ )
برای آشنایی کامل با نحوه مرجع نویسی لطفا بخش راهنمای سیویلیکا (مرجع دهی) را ملاحظه نمایید.

مدیریت اطلاعات پژوهشی

اطلاعات استنادی این مقاله را به نرم افزارهای مدیریت اطلاعات علمی و استنادی ارسال نمایید و در تحقیقات خود از آن استفاده نمایید.

قرارداد هوشمند چیست؟ گامی بلند به سوی دنیای غیرمتمرکز!

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

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

قرارداد هوشمند چیست؟ Smart Contract

به طور کلی می‌توان قراردادهای هوشمند را کدهای دیجیتالی‌ای دانست که با الگوریتم «اگر- پس (if-then)» کار می‌کنند. این قراردادها، به صورت خودکار پیش می‌روند و در صورت عدم اجرای یک بند آن، قرارداد ادامه پیدا نخواهد کرد. قرارداد هوشمند بر بستر یک بلاک‌چین و بدون این که هیچ شباهتی به قرارداد های سنتی و کاغذی داشته باشد، مجموعه‌ای از بندها را ارائه می‌دهد که طرفین معامله روی آن‌ها توافق دارند یا حداقل تمایل دارند که در آینده این بندها برقرار و اجرا شوند؛ این بندها تنها در صورتی اجرا خواهند شد که شروطی از پیش تعیین شده، کامل و انجام شوند.

این شاید ساده‌ترین تعریفی باشد که بتوان از قراردادهای هوشمند ارائه داد؛ بدون این که نیاز باشد چیزی درباره مفاهیم پایه بلاک‌چین بدانید. اما اگر نیاز به راهنمایی درباره بلاک‌چین، چیستی و چگونگی کارکرد آن دارید، مقاله بلاک چین چیست؟ می‌تواند به شما کمک کند.

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

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

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

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

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

مثالی از یک قرارداد هوشمند

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

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

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

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

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

قراردادهای هوشمند مزیت‌های متعددی دارند که دانستن درباره آن‌ها می‌تواند در شناخت این نوع از قراردادها، بسیار موثر باشد:

۱. اتوماتیک بودن

شاید بزرگ‌ترین ویژگی مثبت قراردادهای هوشمند، پیشبرد خود به خودی معامله و اتوماتیک بودن فرایند آن باشد. در واقع می‌توان گفت در این قراردادها، نمی‌توان معامله را در مرحله‌ای متوقف کرد. به زبان ساده باید گفت قراردادهای هوشمند، با الگوریتم “اگر – پس” کار می‌کنند.

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

۲. امنیت زیاد

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

۳. بی‌نیازی به اعتماد به دیگران

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

در یک قرارداد هوشمند، معامله و انتقال هزینه، به صورت کاملا خودکار پیش می‌رود.

هدف قرارداد هوشمند چیست؟

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

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

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

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

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

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

کاربرد قرارداد هوشمند چیست؟

به خاطر تمام ویژگی‌های مثبت قراردادهای هوشمند که پیش‌تر بیان شد، این قراردادها در بخش‌های مختلفی استفاده می‌شوند.

۱. رهن و وام‌ها

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

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

۲. بیمه

مسائل بیمه‌ای، یکی از پر طرفدارترین موضوعات برای استفاده از قرارداد های هوشمند بوده‌اند؛ از طرفی اختلاف و امکان کلاهبرداری در پرونده‌های بیمه بسیار بالاست. اینجاست که قراردادهای هوشمند می‌توانند بسیار کمک‌کننده باشند.

البته برای پیشبرد این کاربرد، قرارداد باید از تکنولوژی‌های زیادی از جمله اینترنت اشیا استفاده کند تا بتواند به بهترین شکل اطلاعات را دریافت و پردازش کند.

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

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

۳. تریدینگ

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

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

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

شبکه اتریوم و ارز دیجیتال اتر را ویتالیک بوترین و توسعه دهندگان دیگری در سال ۲۰۱۳ ایده‌پردازی و راه‌اندازی کردند. این شبکه، اولین شبکه‌ای بود که مفهوم قراردادهای هوشمند را ارائه داد و سعی کرد اولین شرکت و در واقع پیشروی این مسیر باشد.

لوگوی ارزهای دیجیتالی که امکان اجرای قراردادهوشمند دارند. اتریوم سولانا کاردانو آوالانچ چین لینک

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

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

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

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

اگر به موضوع برنامه نویسی شبکه ترون علاقه‌مند هستید درباره زبان های برنامه نویسی ترون و ماشین مجازی آن مقاله ای منتشر کرده‌ایم.

قرارداد هوشمند ترون، عموما برای MLM (Multilevel Marketing) یا بازاریابی چندسطحی، مورد استفاده قرار می‌گیرد. این قراردادها، عموما به شکلی هستند که در ازای توسعه قراردادهای MLM، به توسعه‌دهندگان، پاداش‌های ترون (TRX) اهدا می‌کنند.

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

قرارداد هوشمند ترون، بسیار برای MLM مورد استفاده قرار می‌گیرد

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

پس از شبکه اتریوم و رمز ارز بومی آن که اتِر (ETH) نام دارد، ارزهای دیجیتال بسیاری پا به عرصه گذاشتند؛ این ارزها در واقع از طریق قراردادهای هوشمندی کار می‌کردند که انتقال آن‌ها را بسیار ساده‌تر و کم‌هزینه‌تر می‌ساخت. ارزهایی چون سولانا (SOL)، پولکادات (DOT) و کاردانو (ADA) هر کدام ویژگی‌ها و مزیت‌های خاص خود را به کاربران ارئه می‌دادند.

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

سخن آخر

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

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

قرارداد هوشمند چیست؟

قرارداد هوشمند چیست؟

قرارداد هوشمند (Smart Contract) در حوزه صنایع بزرگ یک انقلاب بی همتا محسوب می‌شود، چرا که این پدیده به میزانی هوشمندانه تنظیم و اجرا می‌گردد که تحولی بدون نقص را تضمین می‌نمایند. به عنوان مثال شما قصد فروش یک ملک قرارداد هوشمند را دارید و برای این عمل به بنگاه ها ی زیادی مراجعه کرده اید.

قرارداد هوشمند Smart Contract

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

قرارداد هوشمند چیست؟

فهرست مطالب در این مقاله:

- هدف قرارداد هوشمند Smart Contract

- نحوه شکل گیری ایده‌ قرارداد هوشمند

- نحوه عملکرد قراردادهای هوشمند

- نحوه ایجاد یک قرارداد هوشمند

- کاربرد قراردادهای هوشمند در دنیای واقعی

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

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

- بلاک چین هایی که قادرند قرارداد‌های هوشمند قرارداد هوشمند را پردازش نمایند؟

هدف قرارداد هوشمند Smart Contract

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

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

هدف قرارداد هوشمند

نحوه شکل گیری ایده‌ قرارداد هوشمند

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

نحوه عملکرد قراردادهای هوشمند

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

نحوه ایجاد یک قرارداد هوشمند

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

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

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

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

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

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

قراردادهای هوشمند این توانایی را دارند تا در زمینه‌های متنوعی به شرح زیر مورد استفاده قرار بگیرند:

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

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

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

لازم به ذکر است که قراردادهای هوشمند از همه مزایای فناوری بلاک چین استفاده می‌نماید، که به شرح زیر است:

امنیت: قراردادهای هوشمند از مزیت رمزگذاری برخوردار هستند و بین گره‌ها در شبکه توزیع می‌شوند. به موجب این امر بدون اجازه کاربر، داده‌ها از بین و تغییر نخواهند کرد.

سرعت و صرفه‌جویی در زمان: بیشتر فرایندها به شکل خودکار صورت می‌پذیرند و در نتیجه بیشتر واسطه‌ها در این میان خواهند رفت.

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

استقلال: قراردادهای هوشمند، واسطه را به طور کل حذف می‌کند و در اصل مدیریت کامل توافقنامه را به شما می‌دهد.

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

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

کارایی: بهره‌مندی از قراردادهای هوشمند، در وقت‌ شما صرفه‌جویی می‌نماید و دیگر نیاز به ثبت انبوهی از اسناد کاغذی، ارسال یا انتقال آنها به مکان‌های خاص لازم نیست.قرارداد هوشمند

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

به غیر از نکات مثبت ذکر شده در این مقاله، قراردادهای هوشمند هم مانند اکثر پروژه‌های جدید دیگر بی‌عیب و نقص نیستند. برخی از معایت و کاستی‌های قراردادهای هوشمند عبارت هستند از:

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

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

هزینه‌های اجرا: در واقع قراردادهای هوشمند جهت قابلیت اجر به برنامه‌نویسی نیاز دارند. بنابراین وجود یک برنامه‌نویس با تجربه، و پذیرش فناوری بلاک چین در ساختار داخلی شرکت جهت اجرای یک قرارداد هوشمند ضرورت دارد.

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

بلاک چین هایی که قادرند قرارداد‌های هوشمند را پردازش نمایند؟

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

زنجیره‌های جانبی (Side Chains): از دیگر نام های بلاک چین‌هایی به شمار می‌رود که در مجاورت بیت کوین فعالیت دارد و فضای بیشتری را جهت پردازش قراردادها فراهم می‌آورد.

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

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

نتیجه‌گیری

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

آموزش ایجاد قرارداد هوشمند با استفاده از زبان سالیدیتی

کدنویسی قرارداد هوشمند با سالیدیتی

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

دلایل نیاز به یادگیری نحوه ایجاد قراردادهای هوشمند

کدنویسی قرارداد هوشمند با سالیدیتی

منبع: hackernoon.com

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

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

چرا یادگیری قرارداد‌های هوشمند دشوار است؟

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

دربرگیری اصطلاحات برنامه‌نویسی انبوه

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

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

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

منابع مطالعاتی ناکافی

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

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

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

شک و تردید گسترده در مورد راهکار‌های ارائه شده توسط بلاک چین

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

با توجه به سوءاستفاده‌هایی که از ارز‌های دیجیتال در حوزه بلاک چین شده است‌، نمی‌توان دنیا را برای چنین ذهنیتی سرزنش کرد.

قرارداد هوشمند چیست؟

به بیان ساده‌، یک قرارداد هوشمند برنامه‌ای است که بر روی بلاکچین اجرا می‌شود. با یک مثال به این بحث ادامه می‌دهیم. فرض کنید بلاک چین یک اقیانوس است و قرارداد‌های هوشمند مانند ماهی‌های درون آن هستند. در حال حاضر‌، قابلیت اجرای یک قرارداد هوشمند تنها بر روی شبکه بلاکچینی مانند ماشین مجازی اتریوم (EVM‌) قابل اجرا است. این قرارداد‌ها تا پیش از پیاده‌سازی و استقرار بر روی چنین شبکه‌ای بدون استفاده و بی‌فایده هستند.

شیوه کارکرد قرارداد‌های هوشمند

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

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

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

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

قرارداد‌های هوشمند چه کار‌هایی می‌توانند انجام دهند؟

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

  • ساخت ارز‌های دیجیتال (‌توکن‌ها‌)
  • تسهیل تراکنش‌های مالی (‌دیفای‌)
  • مدیریت هویت و حریم خصوصی آنلاین (‌کیف پول ارز دیجیتال‌)
  • دارایی‌های دیجیتال و قابل ذخیره‌سازی (‌توکن NFT و متاورس‌)
  • ساخت برنامه‌های غیرمتمرکز (DApp)
  • اجرای ساختار‌های حاکمیتی، سازمان مستقل غیرمتمرکز‌ (DAO)
  • و موارد دیگر.

مثال‌هایی از کاربرد کدنویسی قرارداد هوشمند با سالیدیتی

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

نسخه کامل قرارداد هوشمند

منبع: hackernoon.com

نسخه کامل قرارداد هوشمند

منبع: hackernoon.com

نسخه کامل قرارداد هوشمند

منبع: hackernoon.com

نسخه کامل قرارداد هوشمند

منبع: hackernoon.com

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

محدوده استفاده از کامپایلرها در سالیدیتی

منبع: hackernoon.com

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

ساختار زبان سالیدیتی

منبع: hackernoon.com

بخش کد بالا ساختار یک قرارداد هوشمند را تعریف می‌کند. اگر کمی برنامه‌نویسی object-oriented انجام داده باشید‌، زمان زیادی طول نمی‌کشد تا متوجه شوید که الگو‌های مشابهی نیز در توسعه قرارداد‌های هوشمند مورد استفاده قرار گرفته است. دلیل این امر بدین صورت است که زبان برنامه‌نویسی سالیدیتی سینتکس‌های (syntax) زیادی از زبان‌های برنامه‌نویسی محبوب و رایجی مثل C‌++ ،JavaScript‌ ،C قرارداد هوشمند قرارداد هوشمند و Python را در خود جای داده است.

تابع کلیدها در سالیدیتی

منبع: hackernoon.com

نمونه کد بالا نوعی متغیر در زبان برنامه‌نویسی سالیدیتی است که کلیدها را با مقادیر مرتبط آنها نشان می‌دهد. این بخش کد به صورت تقریبی شبیه به یک آرایه شرکت‌پذیر (associative array) در PHP و یا یک آبجکت (Object) در جاوا اسکریپت است. در کد بالا‌، ما به سادگی به قرارداد هوشمند خود دستور می‌دهیم تا هر آدرسی را با مقادیر تخصیص داده شد مرتبط کند.

تابع آدرس در سالیدیتی

منبع: hackernoon.com

قطعه کد بالا متغیر‌هایی که در جریان کدنویسی قرارداد هوشمند مورد استفاده قرار می‌گیرند را اعلام می‌کند. این آدرس نوعی داده است که آدرس کیف پول یک شخص یا خود قرارداد هوشمند را پوشش می‌دهد. Uint256 مقادیر اعداد صحیح بدون علامت (اینتجرهای مثبت یا غیر منفی‌) را در خود جای می‌دهد و این یعنی از صفر تا ‌۲ به توان ۲۵۶ منهای ۱. واژه Payable در قطعه کد ما نشان می‌دهد که این حساب کاربری و یا آدرس می‌تواند پول دریافت کند و در این مثال‌، پول مورد نظر به واحد اتر (ETH‌) دریافت می‌شود. واژه Public بدین معناست که می‌توان از خارج این قرارداد هوشمند نیز به این متغیر دسترسی داشت و این اصل شبیه به OOP است.

تابع event در سالیدیتی

منبع: hackernoon.com

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

تابع مالکیت در سالیدیتی

منبع: hackernoon.com

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

تابع پرداخت پول در سالیدیتی

منبع: hackernoon.com

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

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

تابع پرداخت در سالیدیتی

منبع: hackernoon.com

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

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

ویراستار Remix

منبع: hackernoon.com

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

سخن پایانی

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

قرارداد هوشمند (Smart Contract)؛ اجزا، مزایا، کاربردها و چالش‌ها

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

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

قرارداد هوشمند چیست؟

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

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

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

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

قرارداد هوشمند چگونه عمل می‌کند؟

یک قرارداد هوشمند مانند یک دستگاه فروش خوراکی در هایپر مارکت‌های بزرگ است. پول از قسمت بالایی دستگاه وارد می‌شود؛ دستگاه پردازش می‌کند و کالا از بخش پایین به مشتری تحویل داده می‌شود.

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

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

با قراردادهای هوشمند برنامه‌ها و پروژه‌های متنوعی قابل طراحی هستند که تا ابد به فعالیت خود ادامه خواهند داد و نیازی به مدیریت یا کنترل ندارند. این برنامه‌ها را اپلیکیشن‌های غیرمتمرکز (DApps) می‌نامند.

اجزای اسمارت کانترکت

هر قرارداد هوشمند از سه جزو اصلی تشکیل شده است.

امضا‌کنندگان

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

موضوع توافق

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

ضوابط

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

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

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

تامین اطلاعات اسمارت کانترکت‌ها

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

اوراکل‌ها باید بتوانند داده‌های مورد نیاز را جمع‌آوری کرده و به صورت ایمن در اختیار قرارداد هوشمند قرار دهند. برای رعایت امنیت اطلاعات باید پروتکل‌های مربوط HTTPS رعایت شود و منابع اطلاعاتی دارای گواهی‌نامه SSL باشند.

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

به طور کل مزایای این فناوری را می‌توان در چند مورد زیر خلاصه کرد.

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

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

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

ایمن‌سازی: قراردادهای هوشمند از نظر برنامه‌نویسی و علوم کامپیوتری امنیت بسیار زیادی دارند و هک یا نفوذ به آن‌ها بسیار دشوار است.

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

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

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

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

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

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

اوراکل‌ها

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

توسعه‌دهندگان

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

هزینه‌های اجرا

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

دولت‌ها

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

جمع‌بندی

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

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



اشتراک گذاری

دیدگاه شما

اولین دیدگاه را شما ارسال نمایید.