جرمی روبین دو هفته پیش پیشنهادی با عنوان Un’FE’d Covenants (FE = رمزنگاری کاربردی) منتشر کرد. با توجه به بحثهای ongoing بر سر پیشنهادهای پیماننامه برای بیتکوین در سالهای اخیر، پیشنهاد او یک گزینه عملی جدید را معرفی میکند. تا کنون، همه پیشنهادهای پیماننامه به یک نرمافزار نرم (opcodes واقعی)، توسعه و پیادهسازی رمزنگاری غیر ثابت (رمزنگاری کاربردی) یا هزینههای مالی فوقالعاده بالا برای استفاده (ColliderScript) نیاز دارند.
پیشنهاد جرمی به هیچ نرمافزار نرم نیاز ندارد و هزینهای بار و غیر عملی بر کاربران تحمیل نمیکند. جانشینی برای این قابلیت یک مدل امنیتی کاملاً متفاوت است. با استفاده از یک سیستم اوراکلها و اوراق BitVM که قادر به تخریب هستند، میتوان پیماننامهها را در حال حاضر بر روی بیتکوین شبیهسازی کرد.
اوراکلها
قسمت اول طرح واضحاً اوراکلهایی است که شرایط مختلف پیماننامه را اجرا میکنند. این یک راهاندازی نسبتاً ساده است و اولین بلوک ساختمانی لازم برای پیشنهاد جرمی است. اوراکل دارای امانت از وجوه در این طرح است و به اجرای شرایط پیماننامه متعهد است. شما میخواهید اوراکل نیازی به پیگیری محلی شرایط پیماننامهای که برای هر سکه حفظ میکند، نداشته باشد. این یک ریسک ایالتی را معرفی میکند که در صورتی که پایگاه داده اوراکل خراب یا گم شود، هیچ ایدهای ندارد که چگونه اجرای صادقانه شرایط را برای سکههای دیگر اداره کند. برای حل این مشکل، جرمی از Taproot استفاده میکند.
کلیدهای مبتنی بر اسنر میتوانند با استفاده از هش دادهها برای تغییر یک کلید عمومی “تنظیم” شوند. این امکان تغییر کلید خصوصی معادل را برای امضاکردن کلید تغییر یافته و نیز اثبات این که هر دادهای که برای تنظیم کلید عمومی استفاده شده است، توسط آن کلید متعهد شده است، فراهم میکند. با داشتن اوراکل که یک کلید تولید میکند و سپس کاربر آن کلید را با برنامه پیماننامه خود تنظیم میکند، تعهدی به آنچه که اوراکل قرار است اجرا کند، در حالی که بار ذخیره آن اطلاعات بر عهده کاربر است، ایجاد میشود.
اوراکلها همچنین میتوانند فدرال شوند تا میزان اعتمادی که به یک طرف واحد برای اجرای شرایط لازم است، حداقل شود. از اینجا، کاربران میتوانند آدرس حاصل را بارگذاری کنند و هر زمان که بخواهند شرایط را اجرا کنند، به اوراکلها با تراکنش هزینه، برنامه اوراکل و دادههای شاهد لازم برای اثبات اینکه تراکنش داده شده به اوراکل شرایط پیماننامه را برآورده میکند، مراجعه کنند. اگر تراکنش مطابق با قوانین پیماننامه معتبر باشد، اوراکل آن را امضا میکند.
برای هر پیماننامه سادهای که نتایج آن از قبل شناخته شده است، مانند CHECKTEMPLATEVERIFY (CTV)، کاربران میتوانند بلافاصله از اوراکل بخواهند که تراکنشها را پیش امضا کند که پیماننامه را اجرایی کنند و به سادگی استفاده از آنها را تا زمان لازم به تعویق بیندازند.
سناریو مهمی که باید در نظر گرفته شود و نیاز به عملکرد اضافی دارد، پیماننامههای مبتنی بر ایالت، مانند rollupها، است که به طور منظم پیشرفت میکنند و دارای وضعیت واقعی (بالانس کنونی کاربران) برای پیگیری هستند. در مورد چنین پیماننامههایی، تراکنشهایی که اوراکل امضا میکند باید به وضعیت کنونی پیماننامه با استفاده از OP_RETURN متعهد شوند تا اوراکل بتواند به طور مؤثر هر تراکنش را که rollup یا سیستم دیگر را بروزرسانی میکند، بدون نیاز به دانلود دادههای شاهد برای تاریخچه کامل ارزیابی کند. این کار باعث میشود که اوراکل نیاز به ذخیره وضعیت محلی نداشته باشد، که همانطور که بالاتر اشاره شد، خطراتی ایجاد میکند.
در بلندمدت، نیازهای داده اوراکلها میتوانند با استفاده از اثباتهای صفر دانش بهینهسازی شوند، بنابراین اوراکل میتواند به سادگی یک اثبات را که تراکنشی که از او خواسته میشود امضا کند، قوانین پیماننامه را دنبال میکند، بدون نیاز به تأیید دادههای خام شاهد برای پیماننامههای بزرگتر و پیچیدهتر، تأیید کند. با این حال، در مورد سیستمهایی مانند rollupها، باید در طراحی آنها دقت شود تا اطمینان حاصل شود که دادههای لازم برای خروج از سیستم در دسترس کاربران قرار دارد تا در صورت نیاز به طور مستقیم با اوراکل تماس بگیرند و وجوه خود را بازیابی کنند.
اوراق BitVM
تا کنون، طرح از نظر اعتماد کامل است. در واقع، شما در حال دادن پول خود به شخص دیگری هستید و امیدوارید که آنها بتوانند به شرایط پیماننامههای دلخواه اعتماد کنند. با کمی تغییر در طرح فوق، میتوان این موضوع را با یک انگیزه اقتصادی رمزنگاری تأمین کرد به جای اینکه صرفاً به اعتماد خالص تکیه شود.
در بالا توضیح داده شد که OP_RETURN برای پیگیری وضعیت برای پیماننامههای مبتنی بر وضعیت لازم است. OP_RETURN همچنین میتواند برای انتشار دادههای شاهد هر تراکنش پیماننامهای استفاده شود تا اثبات کند که شرایط به درستی انجام شده است.
یک مدار BitVM میتواند برای تأیید اینکه آیا تراکنش امضاشده توسط اوراکل به درستی با شرایط پیماننامهای که اجرا میکند، مطابقت دارد، ساخته شود. به یاد داشته باشید که کلید خود بازار از هر پیماننامهای که مجبور به اجرا است، متعهد میشود. به این معنی که دادهها و همچنین تراکنشی که از آدرس خرج میشود، میتواند به یک نمونه BitVM وارد شود.
سپس ممکن است از اوراکلها خواسته شود که یک وثیقه تضمینی را با یک اپراتور BitVM (که همچنین باید وثیقهای برای ادعای اوراکل در صورت اتهام نادرست قرار دهد) منتشر کنند. به این ترتیب، تا زمانی که ارزش وثیقه بیشتر از ارزشی باشد که توسط یک اوراکل در پیماننامهها تأمین شده است، میتوان از سیستم به طور ایمن استفاده کرد. هیچ راهی برای یک اوراکل وجود ندارد که شرایط پیماننامهای را که اجرا میکند نقض کند، مگر اینکه برای خود هزینهای بهطور کلی بپردازد.
معایب
معایب واضحی وجود دارد که به طور قابل توجهی بدتر از پیادهسازی پیماننامهها در قوانین توافقی هستند. اولاً، اوراکل باید آنلاین و قابل دسترسی باشد تا بتوان از پیماننامههای اجراشده توسط اوراکل استفاده کرد. به جز پیماننامههای پیش امضا شده مانند CTV، اگر اوراکل در زمان نیاز کاربران به اجرای پیماننامه آفلاین باشد، نمیتوانند. اوراکل باید حاضر باشد تا امضا کند.
دوماً، نیازهای نقدینگی برای وثیقههای اوراکل میتواند در صورتی که سیستم به طور گستردهای مورد پذیرش قرار گیرد، عظیم شود. این مقایسه باعث میشود که این سیستم در مقایسه با پیادهسازی بومی opcodes پیماننامه در سطح توافقی به شدت ناکارآمد شود.
سوم، دادههای اضافی که باید برای عملکرد سیستم وثیقه BitVM بر روی زنجیره ارسال شود، به مراتب کمتر از پیادهسازیهای پیماننامه بومی در استفاده از فضای بلوک کارآمد است.
به طور کلی، پیشنهاد به هیچ وجه به اندازه پیماننامههای بومی کارآمد و ایمن نیست. از طرف دیگر، اگر ما در بدترین سناریو از سختیهای زودرس قرار بگیریم، این یک روش قابل قبول برای وارد کردن پیماننامهها به بیتکوین بدون وابستگی به رمزنگاری غیر ثابت یا هزینههای غیرعملی کامل بر روی کاربران نهایی است.
جرمی به ما گزینهای در بدترین سناریو برای گسترش فضای طراحی آنچه که میتواند بر روی بیتکوین ساخته شود، داده است.