قراردادهای هوشمند عملی در Bitcoin

یک چارچوب عملی برای قراردادهای هوشمند مبتنی بر بیت‌کوینچکیده​​​​​: قراردادهای هوشمند در نظر گرفته شده‌اند تا یکی از برنامه‌های کشنده کنترل‌های غیر متمرکز باشند. آن‌ها پرداخت اجباری بین کاربران را بسته به منطق برنامه پیچیده ممکن می‌سازند. متاسفانه، بیت کوین - بزرگ‌ترین و پراستفاده ترین رمزنگاری - از قراردادهای هوشمند پیچیده پشتیبانی نمی‌کند. علاوه بر این، قراردادهای ساده‌ای که می‌توانند بر روی بیت کوین اجرا شوند، اغلب برای طراحی و اجرای بسیار پرهزینه هستند. در این مقاله ما یک چارچوب عملی برای اجرای قراردادهای هوشمند پیچیده قراردادی با هزینه کم بر روی قراردادهای رمزنگاری غیر متمرکز ارایه می‌دهیم که تنها برای پشتیبانی از معاملات ساده طراحی شده‌اند. به این منظور FASTKITTEN قدرت محیط‌های محاسباتی مورد اعتماد (‏TEE ها)‏را که در آن قراردادها خارج از زنجیره هستند به کار می‌گیرد تا اجرای قرارداد کارآمد را با هزینه پایین ممکن سازد. ما به طور رسمی ثابت می‌کنیم که FASTKITN هنگامی که همه به جز یک حزب بدخواه هستند، خواص امنیتی قوی را برآورده می‌کند. در نهایت، ما یک پیاده‌سازی نمونه اولیه را گزارش می‌کنیم که قراردادهای اختیاری را از طریق یک موتور اسکریپتی پشتیبانی می‌کند و عملکرد خود را از طریق الگوبرداری از یک بازی پوکر آنلاین به طور اثبات پذیر عادلانه ارزیابی می‌کند. پیاده‌سازی ما نشان می‌دهد که FASTKITT برای کاربردهای چند دور پیچیده با لاتنسی بسیار کوچک عملی است. با ترکیب این ویژگی‌ها، FASTKITTEN اولین چارچوب عملی برای اجرای قرارداد پیچیده هوشمند بر روی Bitcoin است. ​مقدمه​​​​​​​​با شروع از اختراع آن‌ها در سال ۲۰۰۸، توانمندی‌های نهان غیرمتمرکز مانند بیت‌کوین در حال حاضر توجه زیادی را هم در دانشگاه و هم صنعت دریافت می‌کنند. از زمان ظهور بیت کوین، برای رفع برخی از کاستی‌های طرح پیشنهادی اصلی ناکاموتو، قابلیت‌های رمزنگاری متعددی راه‌اندازی شده‌است. نمونه‌های آن عبارتند از: زیروکش [‏ ۴۷ ]‏ که عدم افشای محدود بیت کوین را بهبود می‌بخشد، و اتریوم [‏ ۱۶ ]‏ که پشتیبانی از قرارداد هوشمند پیچیده‌ای را ارایه می‌دهد. با وجود این پیشرفت‌ها، بیت کوین هنوز هم محبوب‌ترین و به شدت مطالعه شده‌ترین رمزارز است، با سرمایه بازار فعلی معادل با ۱۰۹ میلیارد دلار که بیش از ۵۰ % کل اندازه بازار کریپتوررانسی را تشکیل می‌دهد [‏ ۲ ]‏. ​یکی از معایب مهم بیت کوین حمایت محدود آن از قراردادهای به اصطلاح هوشمند است. قراردادهای هوشمند، پروتکل‌های خود اجرا هستند که امکان ایجاد تراکنش های مبتنی بر منطق برنامه پیچیده را فراهم می‌کنند. قراردادهای هوشمند برنامه‌های کاربردی جدید بی شماری را در صنعت مالی یا اینترنت اشیا فعال می‌کنند، و اغلب به عنوان نگاهی اجمالی به آینده ما نقل می‌شوند [‏ ۹ ]‏. برجسته‌ترین رمز نگاری که در حال حاضر امکان اجرای قراردادهای هوشمند پیچیده را فراهم می‌کند، اتریوم [‏۱۶] ‏است که برای حمایت از قراردادهای هوشمند کامل تورینگ طراحی شده‌است. در حالی که اتریوم به طور مداوم در حال کسب محبوبیت است، ادغام قراردادها به طور مستقیم در یک رمزنگاری دارای جنبه‌های منفی متعددی است که اغلب توسط طرفداران بیت کوین ذکر شده‌است. اول، طراحی سیستم‌های توزیع‌شده امن مقیاس بزرگ بسیار پیچیده است و افزایش پیچیدگی حتی بیشتر با اضافه کردن پشتیبانی برای قراردادهای هوشمند پیچیده نیز پتانسیل معرفی اشکالات را افزایش می‌دهد. دوم، در اتریوم، قراردادهای هوشمند به طور مستقیم در مکانیک توافق عام رمزنگاری ادغام می‌شوند، که به طور خاص نیازمند این است که تمام گره‌های سیستم غیر متمرکز تمام قراردادها را اجرا کنند. این امر اجرای قراردادها را بسیار پرهزینه می‌سازد و تعداد و پیچیدگی برنامه‌های کاربردی که در نهایت می‌توانند بر چنین سیستمی اجرا شوند را محدود می‌کند. در نهایت، بسیاری از برنامه‌های کاربردی برای قراردادهای هوشمند نیاز به محرمانه بودن دارند که در حال حاضر توسط اتریوم پشتیبانی نمی‌شود. ​تلاش‌های تحقیقاتی قابل‌توجهی برای پرداختن به این چالش‌ها به صورت جداگانه انجام شده‌است. برخی از کارها با نشان دادن چگونگی ساخت قرارداد بر روی بیت‌کوین با استفاده از محاسبات چندحزبی (‏MPC)‏[‏ ۳۷، ۳۸، ۴۰ ]‏، تمرکز بر روی دستیابی به قراردادهای حفظ حریم خصوصی (‏به عنوان مثال، هاوک [‏ ۳۵ ]‏، ایکیدن [‏ ۱۹ ]‏)‏از طریق ترکیب رمز‌ارزهای موجود با محیط‌های اجرایی مورد اعتماد (‏TEEs) ‏انجام می‌شود. با این حال، همانطور که در بخش ۲ توضیح می‌دهیم، همه این راه‌حل‌ها از کمبودهای مختلف رنج می‌برند: آن‌ها نمی‌توانند با معایب رمزنگاری موجود مانند بیت‌کوین تلفیق شوند، بسیار ناکارآمد هستند (‏به عنوان مثال، آن‌ها از تکنیک‌های رمزنگاری سنگین مانند دلایل غیرتعاملی صفر - دانش یا MPC عمومی استفاده می‌کنند)‏، از مکانیک پول پشتیبانی نمی‌کنند، یا هزینه‌های مالی قابل‌توجهی به دلیل معاملات پیچیده و وثیقه بالا دارند (‏پول توسط طرفین در راه‌حل‌های مبتنی بر MPC مسدود می‌شود)‏. ​در این کار، ما FASTKITTEN، را به عنوان یک سیستم جدید پیشنهاد می‌کنیم که محیط‌های اجرایی مورد اعتماد (‏TEE ها)‏را با استفاده از رمزارزها به خوبی تثبیت‌شده، مانند بیت‌کوین، کنترل می‌کند تا پشتیبانی کاملی برای قراردادهای هوشمند پیچیده دل‌خواه ارایه دهد. ما تاکید می‌کنیم که FASTKITTEN نه تنها به چالش‌های مورد بحث در بالا می‌پردازد، بلکه بسیار کارآمد نیز هست. می توان آن را به راحتی با توانمندی‌های رمزنگاری موجود یکی کرد و از این رو امروز آماده استفاده است. FASTKITTEN این اهداف را با استفاده از TEE برای جداسازی اجرای قرارداد در داخل یک حصار، و با محافظت آن از کاربران بالقوه بدخواه به دست می‌آورد. چالش‌های اصلی این راه‌حل، مثلا چگونگی بارگذاری و اعتبار سنجی داده‌های ورودی در داخل محوطه محصورشده یا چگونگی جلوگیری از انکار حملات سرویس، در بخش ۳.۱ ارایه شده است. ​این متن ترجمه‌ای خودکار از چکیده و مقدمه مقاله FASTKITTEN: Practical Smart Contracts on Bitcoin ارایه‌شده در ۲۸‌امین کنفرانس USENIX در مورد امنیت می باشد. برای مطالعه کامل این مقاله به همراه ترجمه‌ به این لینک مراجعه فرمایید.​