قرارداد هوشمند (smart contract) چیست؟

تصور کنید از اسنپ درخواست خودرو می‌کنید و یک ماشین خودران (بدون راننده) برای شما می‌فرستد. در بین راه، به یک پمپ بنزین می‌رود و هزینه سوخت را از پول مسافرهای قبلی پرداخت می‌کند. سپس شما را به مقصدتان می‌رساند و کرایه مسیرتان از کیف پول الکترونیکی‌ شما پرداخت می‌شود. در طول مدت این مسیر تا مقصد خودرو تمام هزینه های بیمه سالیانه و بدهی مالک را به همین صورت پرداخت می کند. و بعد از رساندن شما برای چک کردن خودرو به تعمیرگاه می رود.شاید از نظر شما این تصور دور از واقعیت و تخیلی باشد، ولی این آینده ای نچندان دور است. قرارداد هوشمند آینده جهان را می سازند.قرارداد هوشمند (smart contract) چیست؟قرارداد هوشمند (smart contract) چیست؟قرارداد هوشمند یک کد برنامه نویسی روی شبکه بلاکچین است تا در شرایط خاص، دستورات ویژه ای را که برنامه نویس به آن‌ داده است، اجرا کند. قراردادهای هوشمند یک نوآوری بسیار انقلابی هستند که ما را از اعتماد کردن به دیگران بی نیاز می‌کنند. چون معاملات قابل ردیابی و برگشت ناپذیر هستند.برای درک بهتر قرارداد هوشمند، ابتدا بهتر است که قرارداد معمولی را بشناسیم.قرارداد معمولی چیست؟قرارداد معمولی را حتما خیلی خوب می شناسید، در واقع تعهد بین دو یا چند نفر است. برای مثال قرار داد اجاره یعنی، وحید متعهد می شود برای استفاده از خانه رحیم هر ماه به او مبلغی پرداخت ‌کند. یا قرارداد بیمه به قرار دادی می گویند که محمد تضمین می‌کند که در ازای گرفتن مبلغی پول، خسارت‌های احتمالی ماشین علی در تصادفات را پرداخت کند.کدهای کامپیوتری هم نوعی قرارداد هستند. مثلا وقتی از اینترنت یک فایل می‌خرید، در واقع کدهایی تعریف شده اند که اگر کاربر پول را پرداخت کرد و مبلغش کافی بود، لینک دانلود فایل را به او نمایش بده، در غیر اینصورت پیغام خطا نشان بده.بنابراین برای قراردادهای معمولی ما همیشه نیاز به واسطه مورد اطمینان داریم. این واسطه می تواند شخص، سرور کامپیوتر، بانک یا دولت باشد.تفاوت قرارداد هوشمند و قرارداد معمولی چیست؟تفاوت قرارداد هوشمند و قرارداد معمولی چیست؟ تفاوت قرارداد هوشمند و قرارداد عادی در استفاده از فناوری بلاکچین است. به کارگیری این فناوری واسطه ها را حذف می کند.به بیان دیگر، قرارداد هوشمند به صورت یک کد روی بلاکچین فعال شده و بدون نیاز به واسطه ها می تواند شرایط توافق بین طرفین را بررسی و اجرا نماید.اگر یک قرارداد هوشمند بر روی یک بلاکچین آزاد مثل اتریوم اجرا شود، دیگر امکان تغییر یا توقف آن وجود ندارد. در این صورت قرارداد به صورت ابدی به فعالیت خود ادامه داده و حتی توسط برنامه نویس سازنده ی خود هم قابل تغییر نمی باشد. با استفاده از این قراردادها می توان برنامه هایی را ساخت که بدون دخل و تصرف تا ابد کارکنند. به این برنامه ها برنامه های غیر متمرکز (dapp) گفته می شود.روش کار قراردادهای هوشمند مشابه دستگاههای فروش خودکار است که با دریافت پول و پردازش خودکار آن، نوشابه موردنظر را بدون درگیرکردن واسطه ها تحویل می دهد.قرارداد هوشمند چگونه کار می کند؟قرارداد هوشمند بر روی بلاکچین ثبت می شود. به دلیل ماهیت توزیع شده بلاکچین، این قرارداد میان همه ی اعضای بلاکچین (نودها) به اشتراک گذاشته می شود. به دلیل همین غیرمتمرکز بودن، امکان تغییر یا توقف قرارداد وجود ندارد.پیاده سازی قرارداد هوشمندابتدا برنامه نویس باید کد قرارداد هوشمند را تهیه کند. چندین زبان برنامه نویسی برای قراردادهای هوشمند استفاده می شود. به عنوان مثال برای برنامه نویسی قراردادهای هوشمند اتریوم باید از زبان سالیدیتی استفاده کرد.سپس کد نوشته شده از طریق یک کلاینت (یعنی نرم افزار رسمی برای اتصال به بلاکچین) به صورت یک تراکنش روی بلاکچین ثبت می شود.اجرای قرارداد هوشمندتعامل با یک قرارداد ثبت شده هم به صورت یک تراکنش ورودی انجام می شود. سپس نودها با استفاده از ماشین مجازی اتریوم ، قرارداد و ورودی آن را اجرا می کنند. اگر کارمزد قرارداد به میزان کافی باشد تراکنش تایید می شود. ماشین مجازی اتریوم به عنوان فضایی مجازی برای اجرای قراردادها عمل می کند.اگرچه درک نحوه کارکرد این قراردادها کمی دشوار است اما برای استفاده از آنها اطلاع دقیق از پیچیدگی های فنی آن موردنیاز نمی باشد.برای ایجاد یک قرارداد هوشمند به چه چیزهایی نیاز دارم؟کلا بجز موارد ذکر شده این موارد هم در قرارداد هوشمند مهم است:موضوع قرارداد و دسترسیاین برنامه باید به محصولات و یا خدمات تحت قرارداد ها دسترسی داشته باشد تا آنها را در خرید و عرضه کنترل نماید.مثلا اگر در قرارداد مقرر شده است تا در صورت دریافت پول یک فایل را تحویل بدهد، باید اجازه دسترسی به فایل را داشته باشد.شرایط قراردادشرایط قرارداد هوشمند در ادامه عملیات است که اگر شرایط موجود باشد باعث اجرای قرارداد میشود که باید با برنامه نویسی معلوم شده و همه شرکت کنندگان آن را بپذیرند.اوراکلاوراکل یعنی چیزی که اطلاعات خارجی را به قرارداد می‌دهد تا قرارداد آن‌ها را پردازش کند.پلتفرم انحصاریقرارداد هوشمند به بلاک چین یک پلتفرم خاص صادر می‌شود و در میان نودهای پلتفرم مورد نظر توزیع می‌شود. همچنین برای ثبت قرارداد نیاز به یک نرم افزار سمت مشتری هم دارید که به بلاک چین متصل شود.اتریوم یکی از محبوب‌ترین پلتفرم ها برای اجرای قراردادهای هوشمند است.کاربرد قراردادهای هوشمند در زندگی واقعیکاربرد قراردادهای هوشمند در زندگی واقعیهزاران ایده ناب را می‌توان با این شکل قراردادها عملی کرد. در هر جایی که بخواهیم نیاز به اعتماد کردن را از بین ببریم، این قراردادها می‌توانند کارآمد باشند. برخی از آن‌ها که تاکنون اجرایی شده‌اند :انتخاباتانتخابات یکی از خوزه های کاربردی در این زمینه است. مثلا نتایج انتخابات در بلاک چین قرار میگیرد و بین نود ها توزیع شده و کلیه داده ها رمز نگاری شده و شفافند. پس تقلب در انتخابات معنی ندارد.مدیریتقراردادهای هوشمند می‌توانند فرایندهای روتینی را هر روزه به شکلی دقیق اجرا کنند.مثلا می‌توان قراردادی برای پرداخت حقوق کارمندان وابسته به ساعات فعالیتشان ایجاد کرد که نیاز به اعتماد به حسابداران نباشد.مالکیت معنوییک اثر مخصوصا از نوع فایل (موسیقی، عکس، فیلم و …) پس از انتشار در فضای اینترنت در خطر کپی رایت قرار دارد که ضرر زیادی به مالک اثر می‌رساند. با استفاده از قراردادهای هوشمند می‌توان برای استفاده از یک فایل، یک سری شرایط مثل پرداخت بها با یک توکن خاص را تعیین کرد. امروزه پروژه‌های زیادی برای این هدف در حال کار هستند.بیمهبا قراردادهای هوشمند می‌توان نیاز به واسطه‌ها را در سیستم‌های سنتی بیمه از بین برد. پرداخت خودکار خسارت، دریافت حق بیمه و تمدید بیمه چیزیست که شرکت‌های بیمه روی آن کار می‌کنند.همچنین از قراردادهای هوشمند می‌توان در سیستم‌هایی مثل بانکداری، حمل و نقل، ردیابی و اینترنت اشیا استفاده کرد.مشکلات قراردادهای هوشمند چیست؟مشکلات قراردادهای هوشمند چیست؟با وجود مزایای فوق‌العاده قراردادهای هوشمند هنوز کامل نیستند. بزرگترین مشکلاتی که قراردادهای هوشمند در سطح فعلی با آن‌ها مواجه اند عبارتند از :عامل انسانیکد قراردادها توسط برنامه‌نویسان نوشته می‌شود، بنابراین احتمال اشتباه در کد وجود دارد. اگر قرارداد هوشمند در بلاک چین ثبت شود، دیگر نمی‌توان تغییر داد و باگ هم قابل رفع شدن نیست.به عنوان نمونه می‌توان پروژه DAO در اتریوم را نام برد. وجود یک مشکل امنیتی در این کد باعث شد تا بیش از ۵۰ میلیون دلار اتریوم به سرقت برود و توسعه‌دهندگان مجبور شوند برای برگشت دادن سرمایه‌ها، هارد فورک انجام دهند و اتریوم جدیدی به وجود آمد و اتریوم قبلی اتریوم کلاسیک نام گرفت.مشکل اوراکل‌هااوراکل برای قرارداد، داده‌های خارجی را فراهم می‌کند تا آن‌ها را پردازش کند.فرض کنید محمد و علی روی هوای فردای تهران شرط می‌بندند. علی می‌گوید فردا هوا بارانی و محمد می‌گوید فردا هوا آفتابی است. این دو نفر به چیزی برای داوری نیاز دارند که هر کدام درست پیش‌بینی کرده بود را به عنوان برنده اعلام کند.محمد و علی می‌توانند از یک قرارداد هوشمند استفاده کنند که از سایت رسمی هواشناسی اطلاعات آب و هوا را بررسی کنند و برنده را طبق حدس هایشان اعلام کنند.سایت رسمی هواشناسی در اینجا اوراکل است. این سایت متمرکز است و می‌توان با هک کردن یا تغییر دادن اطلاعات هواشناسی در این سایت، قرارداد هوشمند را به اشتباه انداخت.اوراکل‌ها، عدم نیاز به اعتماد در قرارداد هوشمند را با چالش مواجه می‌کنند.وضعیت قانونیباتوجه به اینکه قرارداد های هوشمند توسط دولت ها به رسمیت شناخته نمی شوند.اگر نهاد های دولتی تصمیم به تصویب قوانینی برای قرارداد های هوشمند بگیرند مسائل جدیدی به وجود خواهد آمد.مالکیت یک خانه روی قرارداد های هوشمند ،برای دولت ها قابل قبول نیست.هزینه های پیاده سازیبرای پیاده سازی درست و خوب یک قرارداد هوشمند،به یک یا چند برنامه نویس احتیاج است.البته سرویس هایی وجود دارند که افراد عادی بدون هیچ گونه دانش برنامه نویسی و تنها با چند کلیک قادر خواهند بود یک قرارداد هوشمند خود را تنظیم کنند اما این سرویس ها برای قرارداد های پیچیده مناسب نیستند.همچنین توصیه می کنم مقاله فوق العاده معرفی بهترین صرافی های ارز دیجیتال ایرانی را مشاهده کنید.منبع:مقاله قرارداد هوشمند چیست سایت میهن سیگنالاینوستوپدیا