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

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

قرارداد هوشمند موضوع مورد بحث ما در این مقاله می باشد ما در این مقاله قصد داریم تا به موضوعات پیرامون قرارداد هوشمند بپردازیم پس اگر شما قصد دارید که در مورد این موضوع اطلاعاتی کسب نمایید می توانید تا انتهای این مقاله با ما همراه باشید و اطلاعاتی در مورد قرارداد هوشمند به دست بیاورید :

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

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

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

قرارداد معمولی چیست؟

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

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

تفاوت قرار داد هوشمند و قرارداد معمولی در چه چیزی می باشد؟

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

بلاکچین
بلاکچین

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

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

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

نحوه پیاده سازی قرار داد هوشمند

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

سالیدیتی Solidity
سالیدیتی Solidity

پس شما برای اینکه بتوانید یک قرارداد هوشمند برای بلاک چین اتریوم بنویسید به این نیاز دارد که به صورت کامل نوشتن این نوع قرارداد را با زبان برنامه نویسی سالیدیتی یاد بگیرید زیرا در صورتی که این زبان را یاد نداشته باشید نمی توانید قرارداد هوشمند برای اتریوم بنویسید.
البته لازم به ذکر است، با زبان‌های دیگر مانند Java، python و یا javascript هم می‌توان این قرارداد‌های هوشمند را پیاده سازی کرد، ولی از نظر کارایی سالیدیتی گزینه بهتری می‌باشد.

سروش طیبی
سروش طیبی هستم، برنامه‌نویس و طراح وب، عاشق دنیای رمزارز و کریپتو