اموزش قرارداد هوشمند اتریوم
به زبان ساده، قرارداد هوشمند پروتکلی برای تنظیم قراردادها است که با استفاده از اطلاعات مربوط به شرایط قرار داد، تمامی اقدامات پیشبینی شده در آن را به صورت خودکار انجام میدهد. این نوع از قراردادها، اجازه انجام تراکنشهای معتبر را بدون دخالت اشخاص ثالث فراهم میکنند و در واقع پروتکلی کامپیوتری هستند که برای تسهیل، تأیید و یا اجرای یک مذاکره به صورت دیجیتالی در نظر گرفته شدهاند. علاوه بر این، تراکنشها در این روند قابل ردیابی و برگشت ناپذیر هستند. در این مقاله قصد داریم تا به طور کامل نحوه کار قراردادهای هوشمند و کاربردهای آن ها را بررسی کنیم.
تاریخچه :
در سال ۱۹۹۴، نیک سابو (یک رمزنگار) به این ایده رسید که میتواند قراردادها را به صورت کد رایانهای ایجاد کند. این قرارداد در صورت تحقق برخی شرایط به طور خودکار فعال میشود. این ایده میتواند به طور بالقوه نیاز به شرکتهای شخص ثالث مورد اعتماد (مانند بانکها) را برطرف کند.
ولی چرا؟ پاسخ ساده است – زیرا هنگام انجام معامله دیگر نیازی به شخص ثالث مورد اعتماد ندارید. در عوض، قراردادها (یا معاملات) در یک شبکه قابل اعتماد که کاملاً توسط رایانهها کنترل میشود، خود به خود اجرا میشوند.
ایده جالبی است، درست است؟ سابو سالها روی این ایده کار کرد و حتی کتابی به نام “قراردادهای هوشمند: ایجاد بلوک برای بازارهای دیجیتال آزاد” نوشت. مشکل این بود که در سال ۱۹۹۴، فناوری بلاکچین وجود نداشت.اما اکنون شرایط فرق میکند!
در سال ۲۰۰۹، بیت کوین اولین استفاده از فناوری بلاکچین را معرفی کرد. در سال ۲۰۱۵، اتریوم توسط یک جوان باهوش به نام Vitalik Buterin تاسیس شد و اولین کاربرد قراردادهای هوشمند را معرفی کرد.
قرارداد هوشمند چیست ؟
تصور کنید در خیابان هستید و قصد دارید سوار تاکسی شوید؛ از تاکسی اینترنتی یک خودرو درخواست میکنید و یک ماشین خودران (بدون راننده) شما را سوار میکند. تاکسی شما را به یک پمپ بنزین میبرد و هزینه سوخت را هم از پولی که از مسافرهای قبلی دریافت کرده، پرداخت میکند. سپس شما را به مقصدتان میرساند و کرایه سفرتان هم از کیف پول الکترونیکی شما پرداخت میشود. در زمانی که تاکسی در حال رساندن شما به مقصد است، به صورت خودکار هزینه بیمه سالیانه و بدهی ماهانه مالک خود را هم میپردازد. بعد از اینکه شما را پیاده میکند به یک تعمیرگاه میرود تا عیبهای احتمالی را هم تعمیر کند.
شاید فکر کنید اینها صحنهای از یک فیلم علمی و تخیلی باشد، اما این آینده جهان است؛ قراردادهای هوشمند می توانند آینده جهان را بسازند.
به زبان ساده، قرارداد هوشمند یک کد برنامه نویسی است که روی بلاک چین پیادهسازی میشود تا در صورت اتفاق افتادن دادن یک سری شرایط، دستورات خاصی را که برنامه نویس به آن داده است، اجرا کند. قراردادهای هوشمند یک نوآوری بسیار انقلابی هستند که ما را از اعتماد کردن به دیگران بی نیاز میکنند.
برای درک بهتر قرارداد هوشمند، ابتدا باید بدانیم که یک قرارداد معمولی چیست.
یک قرارداد معمولی چیست ؟
یک قرارداد معمولی، توافقی بین دو یا چند شخص است که آنها را به چیزی در آینده متعهد میکند. مثلاً محمد برای استفاده از خانه علی هر ماه به او مبلغی پرداخت میکند، که به آن «قرارداد اجاره» هم میگویند. یا رضا تضمین میکند که در ازای گرفتن مبلغی پول، خسارتهای احتمالی ماشین سعید در تصادفات را پرداخت کند که به آن «قرارداد بیمه» هم میگویند.
کدهای کامپیوتری هم نوعی قرارداد هستند. به عنوان نمونه وقتی از اینترنت یک فایل خریداری میکنید، در پشت صحنه کدهایی وجود دارند که برای آنها تعریف شده است: اگر کاربر پول را پرداخت کرد و مبلغش کافی بود، لینک دانلود فایل را به او نمایش بده، در غیر اینصورت پیغام خطا نشان بده.
ما برای اجرای قراردادهای عادی نیاز به واسطههایی داریم که مجبور هستیم به آنها اعتماد کنیم. این واسطهها میتوانند سرورهای متمرکز کامپیوتر باشند یا بانکها و دولتها.
قرارداد هوشمند چگونه کار میکند ؟
اموزش قرارداد هوشمند اتریوم : همانطور که گفتیم، قرارداد هوشمند روی بلاک چین پیادهسازی میشود و خاصیت اصلی بلاک چین هم توزیعشده بودنِ آن است. جدا از فرایندهای پیچیده فنی، وقتی قرارداد هوشمند روی بلاک چین ثبت شود میان همه اعضای بلاک چین یا همان نودها (Node) به اشتراک گذاشته میشود و همه یک نسخه از آن را خواهند داشت، بنابراین جلوگیری از اجرای آن یا دستکاری در آن تقریبا ممکن نیست زیرا همه اعضای بلاک چین آن را اجرا میکنند، نه یک یا چند سرور و نهاد متمرکز.
پیاده سازی قرارداد هوشمند :
کد قرارداد هوشمند پس از نوشته شدن توسط برنامهنویس از طریق یک کلاینت (نرم افزار رسمی که شما را مستقیم به بلاک چین متصل میکند) به صورت یک تراکنش بر روی بلاک چین ثبت میشود. قراردادهای هوشمند توسط یک یا چند زبان برنامهنویسی نوشته میشوند. مثلا زبان برنامه نویسی قراردادهای هوشمند اتریوم، سالیدیتی (Solidity) است. پس برای یادگیری نوشتن یک قرارداد هوشمند برای بلاک چین اتریوم نیاز است تا زبان برنامهنویسی سالیدیتی را یاد بگیرید.