قراردادهای هوشمند در اتریوم چگونه کار میکنند؟
مانند بسیاری از ایدهها در صنعت بلاکچین، قرارداد هوشمند” نیز کلمه ای نامفهوم برای عموم است.”قراردادهای هوشمند” یک تکنولوژی جدید است که توسط بلاکچینهای عمومی امکان پذیر شده است.
قرارداد هوشمند یک پروتکل کامپیوتری برای ایجاد یا بهبود قرارداد است. قرارداد هوشمند امکان ایجاد تراکنشهای معتبر بدون واسط را فرآهم میکند. این تراکنشها قابل پیگیری و غیرقابل برگشت هستند. قراردادهای هوشمند شامل تمام اطلاعات مربوط به شرایط قرارداد و اجرای تمام اقدامات هدف گذاری شده بهطور خودکار میشوند. اصطلاح قرارداد هوشمند اولین بار در سال ۱۹۹۴ توسط Nick Szabo استفاده شد.
قرارداد هوشمند میتواند بدون نیاز به فرد یا نهادی اجرا و اعمال شود. از این رو میتواند امنیت بیشتر و هزینه کمتری داشته باشد. در مقابل، مواردی نظیر امکان بروز خطای انسانی (در هنگام نگارش کدهای قرارداد)، قوانین حقوقی غیرشفاف کنونی در کشورهای مختلف در قبال این شکل از قرارداد و نیز هزینه بالای نگارش آن توسط برنامهنویسان از مهمترین معایب قراردادهای هوشمند به شمار میروند. گفتنی است برخی از انواع ارز دیجیتال پیادهسازیهایی برای قرارداد هوشمند ارائه کردهاند.
یک مثال برای قرارداد هوشمند، قراردادهای همکاری است. برای مثال فرد A برای توسعه وبسایت یک قرارداد هوشمند با فرد B منعقد میکند. در این قرارداد فرد A مبلغ ۵۰۰ سکه و فرد B مبلغ ۵۰ سکه تعهد میکنند. این دارایی در زمان عقد قرارداد بلوکه میشود. در صورت فسخ قرارداد از سمت هر یک از طرفین مبلغ ۵۵۰ سکه به حساب طرف مقابل منتقل میشود. پس از ۳۰ روز در صورت تأیید فرد A مبنی بر تحویل صحیح وبسایت از فرد B مبلغ ۵۵۰ سکه به حساب فرد B منتقل میشود. در غیر این صورت پس از ۷ روز از این زمان فرد C در مورد پروژه نظر میدهد. در صورتی که رای به نفع فرد A صادر شود مبلغ ۵۴۰ سکه به حساب فرد A و مبلغ ۱۰ سکه به حساب فرد C منتقل میشود. همچنین در صورتی که رای به نفع فرد B صادر شود ۵۴۰ سکه به حساب فرد B و مبلغ ۱۰ سکه به حساب فرد C منتقل میشود.
برای درک بهتر می توان اینگونه آن ها را توصیف کرد: آن ها مانند دستگاه های فروش خودکار فعالیت می کنند. وقتی شما قصد خرید یک نوشابه با استفاده از این دستگاه ها را دارید، پول را به دستگاه وارد می کنید و دستگاه به صورت خودکار پول شما را پردازش می کند و نوشابه را تحویل می دهد.
با قرارداد هوشمند امکان انجام تراکنش بدون نیاز به واسطه و طرف سوم فراهم میشود. قراردادهای هوشمند بر بستر فناوری بلاک چین اجرا میشوند و امکان خودکارسازی فرآیندهای مربوط به اجرای قرارداد را مهیا میکنند. در این میان، پلتفرم اتریوم سبب شده تهیه قراردادهای هوشمند و اجرای آن برای کاربران از سراسر دنیا سادهتر شود.
برای ایجاد یک قرارداد هوشمند به چه چیزهایی نیاز دارم؟
1. موضوع قرارداد (Subject of the contract)
این برنامه باید به محصول یا خدمات تحت قرارداد دسترسی داشته باشد تا به طور خودکار آن ها را در عرضه یا خرید کنترل کند.
2. امضای دیجیتال
همه شرکت کنندگان با امضای قرارداد با کلید خصوصی خود، توافقنامه را آغاز می کنند.
شرایط قرارداد
شرایط قرارداد هوشمند به شکل دقیق دنباله ای از عملیات است. همه شرکت کنندگان باید این شرایط را امضا کنند.
3. پلتفرم انحصاری
قرارداد هوشمند به بلاک چین یک پلتفرم خاص صادر می شود و در میان نودهای پلتفرم مورد نظر توزیع می شود.
مزایای قرارداد هوشمند چیست ؟
از آنجا که قراردادهای هوشمند بر اساس فناوری بلاک چین عمل میکنند، امنیت و سرعت بالایی دارند، مقرون به صرفه بوده و در عین حال، تنوع زیادی را نیز در اختیار کاربران قرار میدهند.
- امنیت: قرارداد هوشمند به صورت هوشمند در میان همه گرههای موجود در شبکه توزیع میشود. به این ترتیب امکان گم شدن و یا تغییر غیرمجاز آن از بین میرود.
- هزینه پایین و سرعت بالا: این قراردادها به صورت خودکار اجرا میشوند و نیاز به واسطه و شخص ثالث میانجی را از بین میبرند.
- تنوع زیاد: طیف بسیار متنوعی از قراردادهای هوشمند وجود دارد که میتوانید یکی از آنها را انتخاب کرده و بر اساس نیاز خود، بخشی از بندهای آن را تغییر دهید.
معایب قرارداد هوشمند چیست ؟
اما قراردادهای هوشمند درست همانند هر فناوری دیگر، خالی از عیب نیستند و معایبی دارند.
- عامل انسانی: کدها در قرارداد هوشمند توسط انسان نوشته میشود و انسان نیز ممکن است اشتباه کند! اگر قرارداد هوشمند بر روی بلاک چین قرار گیرد، دیگر نمیتوان آن را تغییر داد. یکی از معروفترین اشتباهات انسانی درباره قراردادهای هوشمند برای DAO روی داد. اشتباه برنامهنویسان در نوشتن این کد برای کاربران گران تمام شد و برخی هکرها توانستند از اشتباه موجود در آن سوءاستفاده کرده و حدود ۶۰ میلیون دلار را سرقت کنند.
- وضعیت قانونی نامطمئن: هنوز هیچ کشوری تاکنون به وضع قوانین برای قراردادهای هوشمند نپرداخته است. در نتیجه، این امکان وجود دارد که برخی کشورها به زودی یک سری مقررات در این زمینه تهیه کنند که این موجب تغییر وضعیت حقوقی این نوع قرارداد خواهد شد.
- هزینه نگارش: قراردادهای هوشمند را نمیتوان بدون برنامه نویسی پیاده کرد. لازم است حتما از یک یا چند برنامه نویس خبره برای نوشتن این نوع قرارداد استفاده کرد و البته ساختار داخلی شرکتهای طرف قرارداد نیز باید با فناوری بلاک چین سازگار باشد.
کاربردهای قرارداد هوشمند چیست ؟
قراردادهای هوشمند را میتوان در زمینههای مختلف به کار گرفت که در ادامه به بررسی برخی از آنها میپردازیم:
انتخابات: نتایج آراء را میتوان بر روی بلاک چین قرار داد و بر روی گرههای شبکه توزیع کرد. این دادهها محرمانه میماند و امکان هر نوع دستکاری در آراء و نتیجه انتخابات نیز از بین میرود.
لجستیک (حملونقل): زنجیره تامین دربردارنده بخشهای مختلف است. هر بخش باید از بخش قبلی خود تائیدیه بگیرد تا مفاد قرارداد همکاریش قابل اجرا شود. قراردادهای هوشمند همچنین امکان شفافیت بیشتر در بندهای قرارداد و نیز جلوگیری از کلاهبرداری را نیز فراهم میسازند. قراردادهای هوشمند در حوزهّای دیگری نظیر مدیریت، نظام بانکی، املاک، اینترنت اشیاء و … نیز کاربرد دارند.
قرارداد هوشمند چگونه عمل میکند؟
عملکرد قرارداد هوشمند تا حدی شبیه به شیوه عملکرد دستگاههای خودکار فروش است. برای استفاده از این دستگاهها کافی است دستورالعمل آن را اجرا کنید. در قراردادهای هوشمند نیز داراییها به صورت کد درآمده و به همراه بندهای قرارداد بر روی بلاک چین قرار میگیرد. به این ترتیب قرارداد بر روی شبکه توزیع شده و کپیهای مختلفی از آن بر روی گرههای شبکه قرار میگیرد. برنامه موجود در این قرارداد به صورت خودکار به بررسی اجرای بندهای آن از سوی طرفین میپردازد.
موارد ضروری در یک قرارداد هوشمند چیست؟
یک قرارداد هوشمند از موراد زیر برخوردار است:
موضوع قرارداد: برنامه نوشته شده باید به کالاها و یا خدمات مندرج دسترسی داشته باشد تا بتواند آنها را به صورت خودکار توقیف یا آزاد کند.
امضای دیجیتال: همه طرفین باید قرارداد را با کلید خصوصی خود امضاء کنند.
بندهای قرارداد: شرایط اجرای قرارداد باید به صورت توالی مورد نظر طرفین در آن درج شود. همه طرفین باید با این شرایط موافق باشند.
بیتکوین اولین ارز دیجیتالی بود که از قراردادهای هوشمند پشتیبانی کرد به این معنی که میتوانست مقداری را از یک نفر به دیگری انتقال دهد اما شبکهی گرهها(Node) تنها در شرایط خاصی معاملات را تایید میکند و این باعث میشود که بیتکوین تنها به موارد استفاده ارزی محدود شود.
در مقابل اتریوم زبان محدود بیتکوین را جایگزین یک زبان دیگر کرد ( یک زبان اسکریپت متشکل از صدها اسکریپت یا حتی بیشتر) که به توسعه دهندگان اجازه میدهد برنامههای خود را بنویسند.
اتریوم به توسعه دهندگان اجازه میدهد که قراردادهای هوشمند خود را برنامهریزی کنند که در وایت پیپر اتریوم “عوامل خودمختار” نامیده شدهاند. این زبان تورینگ کامل (turing-complete) است به این معنی که از یک مجموعه گسترده تر از دستورالعملهای محاسباتی پشتیبانی میکند.