اکثر ما باید از اصطلاح «قراردادهای هوشمند» در بحثوگفتگو با همکاران یا دوستان خود استفاده کرده باشیم، بدون آنکه از تاثیر قراردادهای هوشمند بر کلیه چارچوبهای اقتصادی اجتماعی که جامعه ما با آن رونق میگیرد، بهطور کامل آگاه باشیم. آیا میدانید قراردادهای هوشمند اتریوم چیست؟ با ما در این مطلب از کوین نیک همراه باشید تا در مورد قراردادهای هوشمند اتریوم صحبت کنیم.
قراردادهای هوشمند چیست؟
بهنقل از ویکیپدیا؛
«یک قرارداد هوشمند و یک پروتکل رایانهای است که برای تسهیل، تایید یا اجرای مذاکره یا عملکرد یک قرارداد بهصورت دیجیتالی در نظر گرفته شده است. قراردادهای هوشمند امکان انجام معاملات معتبر، بدون اشخاص ثالث را فراهم میکنند. این معاملات قابل ردیابی و برگشتناپذیر هستند.»
تعریف فوق اساسا بیان میکند که قراردادهای هوشمند همانطور که از نام آن پیدا است، قراردادهایی هستند که میتوانند برنامهریزی شوند، بدون اشخاص ثالث تایید شوند، قابل ردیابی هستند و تغییرناپذیر هستند، مگر اینکه صریحا در قرارداد ذکر شده باشد.
پلتفرمهای بلاک چین زیادی وجود دارند که به شما امکان میدهند قراردادهای هوشمند سفارشی را برای موارد استفاده متنوع ایجاد کنید. برخی از آنها اتریوم، هایپرلجر فابریک، R3 Corda ، Stellar ، Achain و غیره هستند.
قراردادهای هوشمند چگونه کار میکنند؟
اکنون سعی خواهیم کرد قراردادهای هوشمند را درست درک کنیم.
قراردادهای هوشمند نخستین بار در سال ۱۹۹۴ توسط رمزنگار و دانشمند رایانه نیک زابو (Nick Szabo) بهعنوان نوعی دستگاه فروش دیجیتال توصیف شد. با تجزیهوتحلیل ماشینهای فروش خودکار، میتوان ایده کلی از قراردادهای هوشمند را درک کرد. شما یک میان وعده خاص را انتخاب میکنید و مقدار مناسبی پول را در دستگاه وارد میکنید، سپس میان وعده بهصورت خودکار به شما ارائه میشود. درست مانند یک جادو!
با این حال، گاهی اوقات دستگاه خراب میشود (عمدتا بهدلیل ضعف برنامهنویسی و متمرکز بودن)، چیزی که هنگام کار با بلاک چین بهصورت موثری به آن پرداخته میشود.
یک قرارداد هوشمند برای اجرای یکپارچه به چندین بخش متحرک ریاضی نیاز دارد.
- یک پلتفرم بلاک چین: برای انجام و تایید معاملات در زنجیره است.
- کلیدهای عمومی و کلیدهای شخصی: قرارداد هوشمند باید به کلیدهای شخصی که قصد کنترل آن را دارد، دسترسی داشته باشد.
- شرایط: شرایط شفاف باید توسط قرارداد هوشمند تعریف شود تا معاملات مربوطه انجام شوند.
قراردادهای هوشمند در زمینههای متنوعی بسیار سودمند هستند، زیرا به شما امکان میدهند قراردادهایی مطمئن، سریع و مناسب تهیه کنید که برای استفاده در موارد متعدد استانداردسازی شدهاند.
موارد استفاده از قراردادهای هوشمند به حدی گسترده است که احتمالا برای توضیح هر یک از آنها به بیش از یک مقاله نیاز است. با این حال، ما سعی خواهیم کرد آنها را تا حد ممکن در یک مقاله پوشش دهیم.
ما این مورد را با ۳ مثال مختلف تعریف خواهیم کرد که قراردادهای هوشمند در مراحل رشد اتخاذ خواهند کرد.
- حداقل
- جزئی
- کامل
بگذارید زندگی واقعی را در نظر بگیریم که احتمالا در آینده نزدیک از قراردادهای هوشمند در آن استفاده میشود. در این مثال، شرکت اوبر را در نظر خواهیم گرفت. همانطور که همه میدانیم، اوبر کار تاکسیهای سنتی را مختل کرده است و احتمالا بزرگترین خدمات کرایه تاکسی در جهان است. قراردادهای هوشمند بهطور بالقوه توانایی مختلکردن این سرویس مختلکننده را دارند.
حداقل
در این سناریو، سیستم پرداختی را که اوبر پس از اتمام سوارشدن استفاده میکند، اصلاح خواهیم کرد. شما بهطور ایدهآل کارت اعتباری خود را به اوبر لینک خواهید کرد که با اتمام سوارشدن بهطور خودکار هزینه را از کارت شما کسر میکند.
اگر پول دیجیتال را ترجیح نمیدهید، میتوانید بر اساس مبلغی که در تلفن شما نشان داده میشود، به راننده اوبر وجه نقد پرداخت کنید. اوبر الگوریتمی را اجرا میکند که طبق آن محاسبه میکند چه مقدار هزینه باید بر اساس مسافت و زمان ترافیک / انتظار از مسافر درخواست شود.
اکنون در صورت پیوستن به یک قرارداد هوشمند، این کار میتواند کاملا بهصورت خودکار انجام شود.
در پایان هر بار سوارشدن، اوبر برای قرارداد هوشمندی که با پروفایل شما مرتبط است، پیامی ارسال میکند و مقداری پول مستقیما از حساب شما کسر میشود. این مورد استفاده بسیار مشابه کارتهای اعتباری امروزی است، با این حال قراردادهای هوشمند از امنیت بیشتری برخوردار هستند.
جزئی
در سناریوی جزئی، ما از اپلیکیشن قراردادهای هوشمند استفاده میکنیم و رانندگان انسانی را کاملا حذف میکنیم.
با نوآوری تسلا، اوبر و گوگل که از اتومبیلهای خودران استفاده میکنند، طولی نمیکشد که میبینید اتومبیلها و تاکسیهای خودران، مسافران را در بزرگراهها جابهجا میکنند.
حال تصور کنید که یک تاکسی اوبر رزرو کردهاید و مشخص میشود که یک اتومبیل خودران است. در پایان سوارشدن، شما میتوانید از یک اپلیکیشن قرارداد هوشمند استفاده کنید، به این صورت که هزینههای درخواستشده مستقیما از کیف پول رمزنگاریشده شما کسر شود و تنها پس از پرداخت هزینهها، دربهای تاکسی باز شود.
این تاکسی اوبر ممکن است صاحب یا صاحبانی داشته باشد و هزینهها پس از آن بر اساس منطقی که در قرارداد هوشمند نوشته شده است، به حسابهای آنها واریز میشوند.
کامل
در حال حاضر، این سناریو آرمانگرایانه و دور از دسترس است، اما امکانپذیر بودن آن کاملا قابل انکار نیست.
در این سناریو، اوبر متعلق به کسی نیست مگر خودش. این اتومبیل بهخودیخود یک موجودیت خودمختار غیرمتمرکز است. این مفهوم از «اینترنت پول» نوشته آندریاس آنتونوپولوس (Andreas Antonopoulos) اقتباس شده است.
یک اتومبیل خودران را در نظر بگیرید که صاحبی ندارد. تمام آنچه از مسافران دریافت میکند، صرف هزینههای تعمیر و نگهداری و سوخت میشود که باید انجام شود. این تاکسی پول اضافی را برای بهروزرسانیهای عمده یا شرایط پیشبینینشده پسانداز میکند.
اما این ماشین در اصل صاحبی ندارد و تمام پولی را که از مسافران دریافت میکند، میتواند برای مقاصد متنوع استفاده کند، همه اینها صرفاً توسط اتومبیل تعیین میشوند.
وقتی سوار چنین وسیله نقلیهای میشوید، در پایان کار، قرارداد هوشمند بهطور خودکار پول را از کیف پول شما کسر میکند و آن را به نهاد خودمختار غیرمتمرکز (DAE) میفرستد که در این مورد اوبر است.
سپس اوبر همان پول را برای سوخت یا نگهداری استفاده میکند که مجددا از اپلیکیشن قراردادهای هوشمند استفاده میکند.
اوبر یا اتومبیلهای خودران یک نمونه از چنین مثالهایی است. شما میتوانید معاملات متعددی را در اپلیکیشن قرارداد هوشمند از جمله معاملههای املاک و مستغلات قرار دهید.
قراردادهای هوشمند در زندگی روزمره موارد استفاده متعددی دارند. چیزهایی که اکنون نمیتوانید بدون اینترنت تصور کنید؛ در آینده نمیتوانید آنها را بدون قراردادهای هوشمند تصویر کنید!
این مطلب راهم مطالعه کنید: تکنولوژی تمرکز زدایی اتریوم چیست؟
قراردادهای هوشمند اتریوم
مورد دیگر استفاده از قراردادهای هوشمند در زندگی واقعی، نحوه چگونگی تسویه حساب BBOD در کیف پول اتریوم شما است.
کاربران پس از داشتن اتر میتوانند چه کاری انجام دهند؟
شاید متوجه شده باشید که کیف پول و زبان صنفی اتریوم کاملا شبیه بیت کوین است. اما اپلیکیشنهای اتریوم کاملا متفاوت هستند.
کاربران دارای اتر میتوانند به قراردادهای هوشمند اتریوم بپیوندند یا آن را ایجاد کنند (کدی که بهطور خودکار شرایط یک توافقنامه را اجرا میکند، بنابراین نیازی به تکیه بر شخص ثالث نیست).
ما یک قرارداد هوشمند غیرالزامی اختصاصی را که با استفاده از آن میتوانید بدون انتقال وجه به کیف پول مرکزی، با BBOD تجارت کنید، اجرا میکنیم. وجوه شما در کیف پول کاملا شخصی اتریوم شما ایمن است.
بستههای قراردادهای هوشمند اتریوم میتوانند برای تولید اپلیکیشنهای غیرمتمرکز (daaps) استفاده شوند، که میتوانید از آنها استفاده کنید یا به آنها بپیوندید.
اما قبل از اینکه در مورد قراردادهای هوشمند اتریوم صحبت کنیم، بهتر است کمی در مورد نحوه عملکرد آن توضیح دهیم. اتریوم و سایر ارزهای رمزنگاریشده یک سیستم ذخیرهسازی گیجکننده دارند.
شاید مقایسه آن با آنچه قبلا میدانیم مفید باشد.
آیا تا به حال به رشته اعداد روی کارت اعتباری خود توجه کردهاید؟ لازم است که بانکها در هنگام کشیدن کارت مشخص کنند که به کجا باید پول را ارسال کنند. ارزهای رمزنگاریشده به شما امکان میدهند شماره شناسایی مشابهی را تولید کنید که مشخص کند محل واریز پول کجا است.
در این سیستم دو مولفه اصلی وجود دارد که کاربران برای شناسایی نیاز دارند، کلید عمومی و کلید شخصی. این دو کلید که معمولا بهصورت رشتهای از اعداد و حروف نشان داده میشوند، توسط رمزنگاری به یکدیگر مرتبط میشوند.
کلید عمومی را میتوان برای دیگران ارسال کرد تا بدانند پول شما به کجا فرستاده میشود. اگر میخواهید افراد برای شما اتر ارسال کنند، به یک آدرس نیاز دارید، یک رشته حروف و اعداد درهم، برگرفته از کلید عمومی، برای اینکه مردم بتوانند به آنها سکه ارسال کنند.
برای خرجکردن اتر، باید با کلید شخصی خود وجوه خود را ثبت کنید که همانطور که از نام آن پیدا است، مشابه رمز عبور است. در مقایسه با کارت اعتباری، مشابه پین است که برای برداشت وجه خود در دستگاه خودپرداز یا یک فروشگاه استفاده میکنید.
فایده این سیستم چیست؟ یک تفاوت اساسی در بلاک چینهای باز (مانند بیت کوین و اتریوم) این است که کاربران میتوانند در هر زمان یک شماره شناسایی برای وجوه خود ایجاد کنند. آنها لازم نیست منتظر بمانند تا یک بانک برنامه حساب بانکی را تایید کند و به آنها کارت اعتباری ارائه دهد.
با استفاده از اتریوم، اپلیکیشن آن نیاز به نهادی ندارد که دادههای آن را ذخیره و کنترل کند. برای دستیابی به این هدف، اتریوم بهشدت از پروتکل بیت کوین و طراحی بلاک چین آن استقراض میکند، اما برای پشتیبانی از برنامههای فراتر از پول، آن را بهینهسازی میکند.
با این وجود، اتریوم قصد دارد طراحی بیت کوین را خلاصه و حذف کند، بهگونهای که توسعهدهندگان میتوانند اپلیکیشنها یا موافقتنامههایی را ایجاد کنند که مراحل اضافی، قوانین جدید مالکیت، قالبهای معاملات جایگزین یا روشهای مختلف انتقال را دارند.
هدف از زبان برنامهنویسی اتریوم این است که به توسعهدهندگان اجازه دهد برنامههای بیشتری را بنویسند که در آن معاملات بلاک چین میتوانند نتایج خاصی را حاکم و بهصورت خودکار اجرا کنند.
این انعطافپذیری شاید نوآوری اصلی اتریوم باشد.
بلاک چین اتریوم
ساختار بلاک چین اتریوم بسیار شبیه به بیت کوین است، به این دلیل که یک سابقه مشترک از کل تاریخچه معاملهها است. هر گره در این شبکه یک نسخه از این تاریخچه را ذخیره میکند.
تفاوت بزرگ اتریوم در این است که گرههای آن علاوه بر کلیه معاملههای اتر، جدیدترین حالت هر قرارداد هوشمند را نیز ذخیره میکنند.
برای هر اپلیکیشن اتریوم، این شبکه باید وضعیت یا اطلاعات فعلی همه این اپلیکیشنها، از جمله مانده هر کاربر، تمام کدهای قراردادهای هوشمند اتریوم و مکان ذخیرهشده را ردیابی کند.
بیت کوین برای پیگیری اینکه چه کسی چه مقدار بیت کوین دارد از خروجیهای قراردادهای هوشمند اتریوم خرجنشده استفاده میکند.
هرچند پیچیده به نظر میرسد، اما ایده آن بسیار ساده است. هر زمان که معامله بیت کوین انجام شود، این شبکه کل مبلغی را که گویی پول کاغذی است، میشکند و بیت کوینها را به روشی صادر میکند که باعث میشود دادهها بهطور مشابه مانند سکههای فیزیکی رفتار یا تغییر کنند.
برای انجام معاملههای آینده، شبکه بیت کوین باید تمام تغییرات شما را طبقهبندی کند که بهعنوان «خرج شده» یا «خرجنشده» طبقهبندی شدهاند.
از طرف دیگر اتریوم از حساب کاربری استفاده میکند.
مانند صندوقهای حساب بانکی، توکنهای اتر در یک کیف پول ظاهر میشوند و میتوانند به یک حساب دیگر منتقل شوند.
این مطلب راهم مطالعه کنید: تکنولوژی بلاک چین در احراز هویت چه نقشی دارد و چطور بکارگرفته میشود؟
ماشین مجازی اتریوم چیست؟
هر بار که یک اپلیکیشن با اتریوم استفاده میشود، شبکهای از هزاران رایانه آن را پردازش میکنند.
قراردادهای هوشمند اتریوم که به زبانهای برنامهنویسی خاص برای قراردادها نوشته شدهاند به «کد بایتی» ترجمه میشوند که یک ویژگی بهنام «ماشین مجازی اتریوم (EVM)» است که میتواند بخواند و اجرا کند.
همه گرهها با استفاده از ماشین مجازی خود، این قرارداد را اجرا میکنند.
به یاد داشته باشید که هر گره در شبکه، علاوه بر پیگیری وضعیت «فعلی»، یک نسخه از تاریخچه معامله و قرارداد هوشمند شبکه را در اختیار دارد. هر بار که کاربر عملی را انجام میدهد، همه گرههای موجود در شبکه باید به توافق برسند که این تغییر رخ دهد.
هدف در اینجا این است که شبکه استخرجکنندگان و گرهها مسئولیت انتقال از یک حالت به حالت دیگر را بر عهده بگیرند، نه برخی از نهادها مانند پیپال یا یک بانک. استخراجکنندگان بیت کوین تغییر مالکیت بیت کوین را از یک شخص به شخص دیگر تایید میکنند. EVM با هر قانونی که برنامهنویس در ابتدا برنامهریزی کرده است، قراردادهای هوشمند اتریوم را اجرا میکند.
محاسبات واقعی در EVM از طریق یک زبان کد بایتی مبتنی بر stack (صفر ویکهایی که یک ماشین میتواند بخواند) انجام میشود، اما توسعهدهندگان میتوانند قراردادهای هوشمند اتریوم را به زبانهای سطح بالا مانند Solidity و Serpent بنویسند که خواندن و نوشتن آنها برای انسان آسانتر است.
استخراجکنندگان کسانی هستند که از رفتارهای بد جلوگیری میکنند، مانند اطمینان از اینکه هیچکس بیش از یک بار پول خود را خرج نمیکند و قراردادهای هوشمند اتریوم را که پرداخت نشدهاند، رد میکنند.
چند هزار گره اتریوم وجود دارد و هر گره در حال گردآوری و اجرای یک کد است. اما شما ممکن است فکر کنید، آیا این خیلی گرانتر از یک محاسبه معمولی نیست؟ بله، همینطور است. به همین دلیل این شبکه ممکن است فقط برای موارد خاص استفاده شود.
قراردادهای هوشمند
مانند بسیاری از ایدهها در صنعت بلاک چین، یک اصطلاح گیجکننده بهنام «قراردادهای هوشمند اتریوم» وجود دارد.
یک فناوری جدید که توسط بلاک چینهای عمومی امکانپذیر است. درک قراردادهای هوشمند اتریوم دشوار است. در حالی که یک قرارداد استاندارد، شرایط یک رابطه را توصیف میکند (معمولا یکی از طریق قانون قابل اجرا است)، یک قرارداد هوشمند یک رابطه با کد رمزنگاری را تقویت میکند. به عبارت دیگر، قراردادهای هوشمند اتریوم اپلیکیشنهایی هستند که دقیقا همانگونه که توسط سازندگانشان تنظیم شدهاند، اجرا میشوند.
همانند مثال ماشین فروش خودکار که قبلا به آن اشاره کردیم، کاربران اتریوم میتوانند با استفاده از یک قرارداد هوشمند ۱۰ اتر را برای یک دوست خاص در یک تاریخ خاص ارسال کنند. در این حالت، کاربر یک قرارداد ایجاد میکند و دادهها را به سمت آن قرارداد سوق میدهد تا بتواند دستور موردنظر را اجرا کند.
اتریوم پلتفرمی است که بهطور خاص برای ایجاد قراردادهای هوشمند اتریوم ساخته شده است.
اما این ابزارهای جدید قرار نیست در انزوا استفاده شوند. اعتقاد بر این است که آنها میتوانند بلوکهای ساختمانی را برای «اپلیکیشنهای غیرمتمرکز» و حتی تمام شرکتهای مستقل غیرمتمرکز نیز تشکیل دهند.
این مطلب راهم مطالعه کنید: بلاک چین چه کارهایی انجام میدهد و چه مزایایی دارد؟
قراردادهای هوشمند اتریوم چگونه کار میکنند؟
شایان ذکر است که بیت کوین اولین ارز رمزنگاریشده بود که از قراردادهای هوشمند اتریوم اساسی پشتیبانی کرد، به این معنی که این شبکه میتواند ارزش را از یک شخص به شخص دیگر منتقل کند. این شبکه گرهها تنها در صورت تحقق شرایط خاص اعتبار معاملات را تایید میکند.
با این حال، بیت کوین محدود به استفاده از ارز است.
در عوض، اتریوم جایگزین زبان محدودتر بیت کوین (یک زبان برنامهنویسی از صد یا تعداد زیادی اسکریپت) است و آن را با زبانی جایگزین میکند که به توسعهدهندگان اجازه میدهد با آن برنامههای خود را بنویسند.
اتریوم به توسعهدهندگان امکان میدهد تا قراردادهای هوشمند اتریوم یا «عوامل خودمختار» خود را برنامهریزی کنند. این زبان «تورینگ کامل» است، به این معنی که مجموعه گستردهای از دستورالعملهای محاسباتی را پشتیبانی میکند.
قراردادهای هوشمند اتریوم میتوانند
- بهعنوان «چند امضایی» عمل کنند، به این ترتیب بودجه تنها زمانی صرف میشود که درصد قابل قبولی از افراد موافقت کنند.
- اگر یکی از آنها بیمه دیگری را خریداری کند، توافقهای صورتگرفته میان کاربران را مدیریت میکند.
- کاربردهای دیگری را برای سایر قراردادها فراهم میکند (مشابه نحوه کار یک کتابخانه نرمافزاری).
- اطلاعات مربوط به یک اپلیکیشن مانند اطلاعات ثبت دامنه یا سوابق عضویت را ذخیره میکند.
قدرت در تعداد
با توجه به نکته آخر، قراردادهای هوشمند اتریوم احتمالا به کمک سایر قراردادهای هوشمند نیاز دارند.
هنگامیکه شخصی در مورد درجه حرارت در یک روز گرم تابستان یک شرطبندی ساده میکند، ممکن است باعث توالی قراردادها شود. یک قرارداد از دادههای خارجی برای تعیین وضعیت هوا استفاده میکند و یک قرارداد دیگر میتواند این شرط را بر اساس اطلاعات دریافت شده از قرارداد اول در صورت تحقق شرایط حلوفصل کند.
اجرای هر قرارداد نیاز به هزینه تراکنش اتر دارد که به میزان توان محاسباتی مورد نیاز بستگی دارد.
اتریوم هنگامیکه یک کاربر یا یک قرارداد دیگر برای آن پیامی با هزینه کافی برای معامله ارسال میکند، کد قراردادهای هوشمند اتریوم را اجرا میکند.
سپس ماشین مجازی اتریوم قراردادهای هوشمند را در «کد بایتی» یا یک سری از آنها و صفرهایی که توسط شبکه قابل خواندن و تفسیر هستند، اجرا میکند.
امروزه توجه شرکتهای بزرگ مانند آی بی ام و مایکروسافت به سمت قرادادهای هوشمند جلب شده است و مبالغ هنگفتی برای توسعه آن هزینه میکنند. امیدواریم که این پست وبلاگ درباره نحوه عملکرد قراردادهای هوشمند اتریوم به شما اطلاعات خوبی ارائه داده باشد.