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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

قرارداد هوشمند یک پروتکل کامپیوتری برای ایجاد یا بهبود قرارداد است. قرارداد هوشمند امکان ایجاد تراکنش‌های معتبر بدون واسط را فراهم می‌کند. این تراکنش‌ها قابل پیگیری و غیرقابل برگشت هستند.[۱] قراردادهای هوشمند شامل تمام اطلاعات مربوط به شرایط قرارداد و اجرای تمام اقدامات هدف گذاری شده به‌طور خودکار می‌شوند. اصطلاح قرارداد هوشمند اولین بار در سال ۱۹۹۴ توسط Nick Szabo استفاده شد.[۲]

قرارداد هوشمند می‌تواند بدون نیاز به فرد یا نهادی اجرا و اعمال شود. از این رو می‌تواند امنیت بیشتر و هزینه کمتری داشته باشد. در مقابل، مواردی نظیر امکان بروز خطای انسانی (در هنگام نگارش کدهای قرارداد)، قوانین حقوقی غیرشفاف کنونی در کشورهای مختلف در قبال این شکل از قرارداد و نیز هزینه بالای نگارش آن توسط برنامه‌نویسان از مهم‌ترین معایب قراردادهای هوشمند به‌شمار می‌روند. گفتنی است برخی از انواع ارز دیجیتال پیاده‌سازی‌هایی برای قرارداد هوشمند ارائه کرده‌اند.

تاریخچه[ویرایش]

این ایده ابتدا توسط دانشمند کامپیوتر و رمز نگاری، نیک سابو در سال ۱۹۹۴ مطرح شد. او اصول اصلی کار را تعریف کرد، اما در آن زمان فضای مناسب برای تحقق ایده‌ها وجود نداشت. با ظهور فناوری بلاک چین (زنجیره بلوکی)، ایدهٔ قراردادهای هوشمند عملیاتی شد. بیت کوین به عنوان اولین ارز دیجیتال غیرمتمرکز جهان پایه‌گذار نوعی قرارداد در بلاک چین بود اما پروتکل بیت کوین فقط با هدف ایجاد یک ارز خصوصی توسعه یافته بود و نمی‌توانست تمام نیازها و فرایندها را انجام دهد. اتیریم امکان ایجاد قراردادهای هوشمند را برای تمام پروژه‌ها عملی کرد و گام نوینی در جهت هوشمند سازی جهان برداشت.

کاربرد قرارداد هوشمند[ویرایش]

از قراردادهای هوشمند در زمینه‌های مختلفی می‌توان استفاده کرد. این زمینه‌ها شامل انتخابات، موسسات مالی و بانک‌ها، بیمه‌ها، دولت‌ها، املاک‌، رسانه‌ها، خدمات سلامتی و … می‌باشد.

اگر قراردادهای هوشمند به بلوغ برسند، می‌توان آن را جایگزین مناسبی برای قراردادهای رایج امروزی دانست. مثلا برای برگزاری انتخابات، می‌توان با بهره بردن از آن‌ها، داده‌های انتخاباتی را به صورت محرمانه ذخیره کرد و امکان هر نوع دستکاری در آراء و نتیجه انتخابات را از بین برد. با ترکیب شدن اینترنت اشیاء و قراردادهای هوشمند، می‌توان خانه‌ای را متصور شد که اجاره‌اش پرداخت نشده و خود به خود در آن بسته می‌شود.[۳]

مثال[ویرایش]

یک مثال برای قرارداد هوشمند، قراردادهای همکاری است. برای مثال فرد A برای توسعه وب‌سایت یک قرارداد هوشمند با فرد B منعقد می‌کند. در این قرارداد فرد A مبلغ ۵۰۰ سکه و فرد B مبلغ ۵۰ سکه تعهد می‌کنند. این دارایی در زمان عقد قرارداد بلوکه می‌شود. در صورت فسخ قرارداد از سمت هر یک از طرفین مبلغ ۵۵۰ سکه به حساب طرف مقابل منتقل می‌شود. پس از ۳۰ روز در صورت تأیید فرد A مبنی بر تحویل صحیح وب‌سایت از فرد B , مبلغ ۵۵۰ سکه به حساب فرد B منتقل می‌شود. در غیر این صورت پس از ۷ روز از این زمان فرد C در مورد پروژه نظر می‌دهد. در صورتی که رأی به نفع فرد A صادر شود مبلغ ۵۴۰ سکه به حساب فرد A و مبلغ ۱۰ سکه به حساب فرد C منتقل می‌شود. همچنین در صورتی که رأی به نفع فرد B صادر شود ۵۴۰ سکه به حساب فرد B و مبلغ ۱۰ سکه به حساب فرد C منتقل می‌شود.[۴]

زبان جدید برای قرارداد های هوشمند بیت کوین[ویرایش]

مینی اسکریپت چیست؟[ویرایش]

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

وولی در این پیام اشاره کرده است که این پروژه حدود یک سال زمان برده و هم‌اکنون به مرحله‌ای رسیده است که نیازمند توجه بیشتر است.

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

براساس گفته‌های وولی، پذیرش مینی‌اسکریپت می‌تواند برخی موانعی که در نرم‌افزار وجود دارد را از میان برداشته و سیستم چندامضایی را به وجود آورد که از زبان ساده اسکریپت‌نویسی بیت کوین بهینه‌تر عمل می‌کند. پیتر وولی در توییتر خود گفت:

تصور کنید که شرکتی برای محافظت از ذخایر کیف پول سرد خود از آدرس‌های چند امضایی ۲ از ۳ کلید با ۳ عامل اجرایی استفاده کند. یکی از عوامل اجرایی چینش چندامضایی قفل شده به همراه رمز عبور دو کلمه‌ای خود را دارد. چرا این چینش به تنهایی نتواند یکی از شرکت‌کنندگان چندامضایی را مشخص کند؟ پژوهش و انرژی زیادی بر روی گسترش کارآمدی بلاک چین در جهت پشتیبانی از برنامه‌های پیچیده‌تر صرف می‌شود، اما احساس می‌کنم که فراموش کرده‌ایم از این قابلیت‌ها در روشی دسترس‌پذیرتر، سازنده‌تر و تحلیل‌پذیرتر که عملا امروزه غیرممکن است، استفاده کنیم.

تحلیل اسکریپت ساده‌تر می‌شود[ویرایش]

وولی در ردیت توضیح داد که مینی‌اسکریپت بازسازی فرمول اسکریپت بیت کوین محسوب می‌شود و در حالی که از زبان اسکریپت یکسانی بهره می‌برد، به کیف پول‌ها و سایر نرم‌افزارها امکان ساخت و تحلیل اسکریپت‌ها را به صورت بهینه‌تر خواهد داد.

همچنین این توسعه‌دهنده در پستی تفاوت کد یکسانی از اسکریپت بیت کوین را با مینی‌اسکریپت مقایسه کرد.

در حال حاضر مینی‌اسکریپت در زبان‌های برنامه‌نویسی سی پلاس‌پلاس و راست پیاده‌سازی شده است. وولی همچنین توضیح داد که مینی‌اسکریپت برای بیت کوین کنونی طراحی شده و اعمال آن به هیچگونه تغییری در اجماع نیاز نخواهد داشت.[۵]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. "Smart Contracts, Explained". Cointelegraph. 31 October 2017.
  2. "Nick Szabo -- Smart Contracts: Building Blocks for Digital Markets". www.fon.hum.uva.nl. Archived from the original on 27 April 2018. Retrieved 2017-07-29.
  3. «قرارداد هوشمند (Smart Contract) چیست؟ - میهن بلاکچین». میهن بلاکچین. ۱۳۹۷-۰۴-۱۵T20:01:30+00:00. دریافت‌شده در 2018-09-10. تاریخ وارد شده در |تاریخ= را بررسی کنید (کمک)[پیوند مرده]
  4. "قرارداد هوشنمد (Smart contract) چیست؟". اینیت. Archived from the original on 28 February 2018. Retrieved 2018-02-28.
  5. وبگاه پارسیان ارز. «مينى اسكريپت، زبان جديد نگارش قراردادهاى هوشمند بيت‌كوين».