BitVM چیست؟ معرفی ماشین مجازی بیت‌کوین

bitvm

BitVM که مخفف «ماشین مجازی بیت‌کوین» (Bitcoin Virtual Machine) است، یک راهکار نوین برای اجرای قراردادهای هوشمند بر روی بلاک‌چین بیت‌کوین محسوب می‌شود. بیت‌کوین به صورت ذاتی از قراردادهای هوشمند پیچیده و تورینگ‌کامپلیت پشتیبانی نمی‌کند، زیرا زبان اسکریپت بیت‌کوین عمداً محدود طراحی شده است و توانایی اجرای برنامه‌های دلخواه را ندارد. این در حالی است که اتریوم با ماشین مجازی خود (EVM) قادر به اجرای انواع برنامه‌های غیرمتمرکز پیچیده است. در گذشته راهکارهایی مانند شبکه لایتنینگ و Liquid به عنوان لایه دوم برای بهبود مقیاس‌پذیری و امکانات بیت‌کوین معرفی شدند که بدون نیاز به تغییر قوانین بلاک‌چین عمل می‌کردند؛ با این حال، هیچ‌یک توانایی آوردن قراردادهای هوشمند تورینگ‌کامپلیت (Smart Contracts on Bitcoin) به شبکه اصلی بیت‌کوین را نداشتند.

معرفی BitVM و هدف آن

در اکتبر ۲۰۲۳ توسعه‌دهنده‌ای به نام رابین لینوس (Robin Linus) با انتشار یک وایت‌پیپر، پارادایم جدیدی به نام BitVM را معرفی کرد که هدف آن افزودن قابلیت قراردادهای هوشمند پیشرفته (تورینگ‌کامپلیت) به بیت‌کوین است. BitVM در واقع با بهره‌گیری از ترفندهای خلاقانه، امکان اجرای محاسبات دلخواه را فراهم می‌کند بدون اینکه نیازی به ایجاد تغییر در قوانین اجماع شبکه بیت‌کوین (مانند فورک) باشد. این رویکرد جدید تلاش می‌کند مقیاس‌پذیری بیت‌کوین را بهبود دهد و سرعت انجام تراکنش‌ها را بالا ببرد و در عین حال قابلیت‌هایی مشابه آنچه ماشین مجازی اتریوم ارائه می‌دهد، به بیت‌کوین اضافه کند. به بیان ساده، BitVM می‌خواهد بیت‌کوین را از یک «ماشین‌حساب محدود» به یک پلتفرم برنامه‌پذیر شبیه رایانه همه‌منظوره ارتقاء دهد که بتوان روی آن انواع قرارداد هوشمند پیچیده را اجرا کرد.

با این حال، رویکرد BitVM به هیچ‌وجه تقلید مستقیم از اتریوم نیست، بلکه طراحی آن متناسب با محدودیت‌ها و ویژگی‌های شبکه بیت‌کوین انجام شده است. رابین لینوس خود BitVM را یک «مجموعه از ترفندها» توصیف می‌کند که نوعی “هک کردن” خلاقانه‌ی کد بیت‌کوین برای دستیابی به قابلیت‌های جدید است. این ترفندها با تکیه بر قابلیت‌های فعلی بیت‌کوین (به‌ویژه ویژگی‌های معرفی‌شده در به‌روزرسانی Taproot سال ۲۰۲۱) به کار گرفته شده‌اند. در بخش‌های بعدی خواهیم دید که BitVM چگونه عمل می‌کند و چه تفاوت‌هایی با رول‌آپ‌های اتریوم دارد.

معماری BitVM و نحوه کارکرد آن

BitVM یک راهکار لایه‌دوم بیت‌کوین محسوب می‌شود که عملکردی شبیه به رول‌آپ‌های خوش‌بینانه (Optimistic Rollups) اتریوم دارد. ایده‌ی اصلی این است که تمام محاسبات پیچیده به صورت خارج از زنجیره (Off-chain) بین دو طرف انجام شود و تنها نتیجه‌ی نهایی (و در صورت لزوم، مدارک تقلب) روی زنجیره‌ی اصلی بیت‌کوین ثبت گردد. بدین ترتیب شبکه‌ی بیت‌کوین از بار اجرای محاسبات سنگین مصون می‌ماند، مگر در مواردی که اختلافی بروز کند. در معماری BitVM همواره دو نقش اصلی وجود دارد: یک اثبات‌کننده یا Prover (فردی که ادعای اجرای صحیح یک برنامه را مطرح می‌کند) و یک تأیید‌کننده یا Verifier (فردی که صحت ادعای طرف مقابل را راستی‌آزمایی می‌کند). قراردادهای هوشمند BitVM در حال حاضر به تعامل همین دو طرف محدود شده‌اند و مانند قراردادهای اتریوم چند-طرفه و عمومی نیستند.

نمای کلی معماری BitVM و نحوه تعامل دو طرف قرارداد (Prover و Verifier) و ثبت نتیجه روی بلاک‌چین
نمای کلی معماری BitVM و نحوه تعامل دو طرف قرارداد (Prover و Verifier) و ثبت نتیجه روی بلاک‌چین

در ابتدای اجرای یک قرارداد BitVM، اثبات‌کننده برنامه‌ی دلخواه خود را (که می‌تواند هر محاسبه‌ی پیچیده‌ای باشد) به همراه خروجی ادعاشده‌ی آن برنامه به تأیید‌کننده اعلام می‌کند. سپس هر دو طرف مبلغی بیت‌کوین را به یک آدرس تاپ‌روت (Taproot) با شرط چندامضایی ۲ از ۲ واریز می‌کنند که این مبلغ به عنوان وثیقه یا شرط‌بندی برای صحت اجرای برنامه عمل می‌کند. این مکانیزم وثیقه‌گذاری تضمین می‌کند که اگر اثبات‌کننده در ادعای خود صادق نباشد، دارایی وی به عنوان جریمه به تأیید‌کننده خواهد رسید و برعکس، در صورت درست بودن ادعا، تأیید‌کننده نمی‌تواند مانع دریافت پاداش توسط اثبات‌کننده شود. به این ترتیب یک انگیزه اقتصادی قوی برای درستکاری طرف‌ها به وجود می‌آید.

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

در بازی چالشی-پاسخ، تأیید‌کننده با استفاده از مجموعه‌ای از تراکنش‌های از پیش امضاشده (که دو طرف پیش‌تر برای سناریوهای مختلف آماده کرده‌اند) اثبات‌کننده را به چالش می‌کشد تا گام‌های محاسباتی برنامه را یکی‌یکی راستی‌آزمایی کند. در واقع تأیید‌کننده از اثبات‌کننده می‌خواهد بخش مشخصی از محاسبه یا داده میانی را افشا کند تا صحت آن بررسی شود. برای پیاده‌سازی این مکانیسم، BitVM از ترفندهای موجود در اسکریپت بیت‌کوین مانند قفل هش (Hashlock) و قفل زمانی (Timelock) به همراه درخت‌های مرکل پیچیده در ساختار Taproot بهره می‌گیرد. هرگاه تأیید‌کننده نشانه‌ای از تقلب یا اختلاف بیابد، می‌تواند با ارائه‌ی یک اثبات تقلب (Fraud Proof) آن را روی زنجیره ثبت کند. شبکه‌ی بیت‌کوین (نودهای کامل) این اثبات تقلب را بررسی کرده و در صورت معتبر بودن، نتیجه‌ی بازی به نفع تأیید‌کننده اعلام می‌شود؛ به این صورت که وثیقه‌ی اثبات‌کننده به عنوان جریمه به تأیید‌کننده تعلق می‌گیرد و قرارداد خاتمه می‌یابد بدون آن‌که برنامه‌ی نادرست اجرا شود. از سوی دیگر، اگر اثبات‌کننده در طی این بازی چالشی بتواند به تمامی چالش‌ها پاسخ صحیح بدهد و تأیید‌کننده را قانع کند، در نهایت قرارداد به نفع اثبات‌کننده تسویه شده و وثیقه‌اش آزاد می‌گردد.

نکته‌ی مهم این است که BitVM با این معماری دوطرفه و مبتنی بر اثبات تقلب، عملاً قادر است صحت اجرای هر برنامه‌ی دلخواهی را بر روی بیت‌کوین تأیید یا رد کند. تمام محاسبات پیچیده در خارج از بلاک‌چین انجام می‌شود و بلاک‌چین بیت‌کوین فقط حکم دادگاه نهایی را پیدا می‌کند که در صورت بروز اختلاف، آن هم به شیوه‌ای کارآمد، درست یا غلط بودن نتیجه را داوری می‌کند. بدین ترتیب می‌توان گفت BitVM یک محیط تورینگ‌کامپلیت برای قراردادهای بیت‌کوین ایجاد می‌کند، بی‌آنکه نیاز باشد هر گره شبکه تمام آن محاسبات را انجام دهد یا تغییری در پروتکل بیت‌کوین صورت گیرد.

مقایسه BitVM با رول‌آپ‌های اتریوم

BitVM از جهات مختلفی با رول‌آپ‌های لایه دوم اتریوم شباهت‌ها و تفاوت‌هایی دارد. در ادامه به مقایسه‌ی این دو رویکرد از نظر معماری، عملکرد، امنیت و محدودیت‌ها می‌پردازیم:

  • معماری: معماری BitVM بر تعامل دو فرد معین (اثبات‌کننده و تأیید‌کننده) متمرکز است که یک قرارداد خاص را بین خود اجرا می‌کنند. محاسبات در BitVM خارج از زنجیره انجام شده و تنها تعهدات و چالش‌ها از طریق تراکنش‌های بیت‌کوین رد و بدل می‌شود. این طراحی فعلاً حالت دوطرفه دارد و قرارداد به صورت خصوصی بین همان دو شرکت‌کننده اجرا می‌شود. در مقابل، رول‌آپ‌های اتریوم (چه خوش‌بینانه و چه zk-Rollup) معمولاً چند-کاربره و عمومی هستند؛ بدین صورت که تعداد زیادی تراکنش کاربران را خارج از زنجیره جمع‌آوری کرده و به شکل یک بسته‌ی واحد (یک رول‌آپ) روی شبکه‌ی اصلی ثبت می‌کنند. رول‌آپ‌های خوش‌بینانه اتریوم نیز شبیه BitVM بیشتر کارها را خارج از زنجیره انجام می‌دهند و فقط در صورت اختلاف، داده‌های لازم را برای اثبات تقلب روی اتریوم می‌گذارند. با این حال، در رول‌آپ‌های اتریوم یک قرارداد هوشمند روی شبکه اصلی وجود دارد که به عنوان داور خودکار عمل کرده و همه‌ی شرکت‌کنندگان می‌توانند در صحت عملیات رول‌آپ نظارت کرده و در صورت تقلب، مدرک ارائه دهند. معماری BitVM هنوز چنین گستردگی مشارکتی را ندارد و به دو کاربر محدود است، هرچند تحقیقات برای توسعه آن به سناریوهای چندکاربره در جریان است.
  • عملکرد و مقیاس‌پذیری: رول‌آپ‌های اتریوم توانسته‌اند ظرفیت پردازش تراکنش‌ها را به مراتب بالاتر از شبکه اصلی اتریوم برسانند؛ برای مثال رول‌آپ‌های محبوب مانند Arbitrum و Optimism هزاران تراکنش را در ثانیه پردازش می‌کنند و کارمزد هر تراکنش را نیز نسبت به لایه اول به شدت کاهش می‌دهند. در BitVM نیز به دلیل اجرای آف‌چین محاسبات، بار اصلی از شبکه بیت‌کوین برداشته می‌شود که می‌تواند منجر به کاهش کارمزدها و افزایش سرعت نهایی شود. در سناریوی ایده‌آل که هیچ تقلبی رخ ندهد، تنها دو تراکنش (یکی برای آغاز قرارداد و واریز وجوه و دیگری برای تسویه نهایی) روی بیت‌کوین ثبت می‌شود و کارمزد حداقلی صرف خواهد شد. حتی اگر اختلافی پیش بیاید، BitVM به‌گونه‌ای طراحی شده که با حداقل تبادل داده روی زنجیره بتوان حقیقت را مشخص کرد. با این حال، نباید فراموش کرد که مقیاس‌پذیری BitVM هنوز آزمایشی است و در عمل پیچیدگی محاسبات آف‌چین می‌تواند نیازمند توان پردازشی و ارتباطی قابل توجهی بین دو طرف باشد. بر خلاف رول‌آپ‌های اتریوم که شبکه‌ای از اعتبارسنج‌ها/توالی‌دهنده‌ها و نرم‌افزارهای بهینه دارند، در BitVM اجرای برنامه‌های بسیار پیچیده ممکن است برای کاربران عادی دشوار باشد. به بیان دیگر، BitVM بار محاسباتی را از شبکه به کاربران منتقل می‌کند؛ در نتیجه استفاده عملی از آن برای برنامه‌های بزرگ مستلزم فراهم کردن زیرساخت پردازشی خارج از زنجیره است. از جهت تاخیر نهایی هم رول‌آپ‌های خوش‌بینانه اتریوم یک دوره انتظار (مثلاً ~۷ روز) برای نهایی شدن تراکنش‌ها دارند تا فرصت ارائه اثبات تقلب وجود داشته باشد، در حالی که در BitVM نیز تا زمانی که دوره چالش تمام نشده، تسویه نهایی انجام نمی‌شود. بنابراین از نظر زمانی، ممکن است مشابهت‌هایی در تاخیر تسویه وجود داشته باشد. رول‌آپ‌های ZK اتریوم اما تأخیر کمتری دارند چون بلافاصله با ارائه یک اثبات اعتبار (Validity Proof) تراکنش‌ها را نهایی می‌کنند، ولی این به بهای صرف توان محاسباتی زیاد برای تولید آن اثبات است. در BitVM فعلی اثبات مبتنی بر تقلب است و اثبات‌های اعتباری دانش‌صفر در آن نقشی ندارند، هرچند BitVM می‌تواند مقدمه‌ای برای پیاده‌سازی رول‌آپ‌های ZK بر روی بیت‌کوین در آینده باشد.
  • امنیت: امنیت BitVM مستقیماً بر امنیت شبکه اصلی بیت‌کوین و صداقت دو طرف مشارکت‌کننده تکیه دارد. از آنجا که هر دو طرف برای شرکت در قرارداد وثیقه مالی می‌گذارند، مکانیزم تنبیه اقتصادی تضمین می‌کند که تقلب برایشان پرهزینه باشد. بنابراین اگر حداقل یکی از طرفین رفتار صادقانه داشته باشد (یا به بیان دیگر، تأیید‌کننده واقعاً عملکرد اثبات‌کننده را راستی‌آزمایی کند)، نتیجه قرارداد صحیح خواهد بود. این مدل شبیه رول‌آپ خوش‌بینانه است که در آن فرض می‌شود اکثر افراد صادق‌اند و تنها در صورت مشاهده تقلب، اثبات خلاف ارائه می‌شود. در رول‌آپ‌های اتریوم، قرارداد حاکم (در لایه اول) به همراه مجموعه‌ای از نودهای ناظر امنیت را تامین می‌کنند و حتی اگر اعتبارسنج اصلی تقلب کند، دیگر نودها می‌توانند اثبات تقلب را ثبت کرده و دارایی‌های او را جریمه کنند. در BitVM نقش نودهای ناظر گسترده وجود ندارد و صرفاً همان تأیید‌کننده‌ی قرارداد عهده‌دار کشف تقلب است. از منظر تئوری، اگر هر دو طرف تبانی کنند یا تأیید‌کننده وظیفه خود را انجام ندهد، شبکه بیت‌کوین به خودی خود متوجه خطا نخواهد شد چون قوانین پروتکل بیت‌کوین مستقیماً اجرای BitVM را تضمین نمی‌کنند؛ BitVM یک پروتکل اجتماعی/قراردادی روی بیت‌کوین است که کاربران به آن اختیاری ملحق می‌شوند. البته تبانی دو طرف معمولاً وقتی معنا دارد که طرف سومی در میان باشد (برای مثال در کاربردهایی مانند بریج‌ها یا رول‌آپ‌های چندکاربره)، که در نسخه فعلی BitVM چنین سناریویی پیش‌بینی نشده است. به طور خلاصه، امنیت BitVM وابسته به فرض حضور حداقل یک ناظر صادق (تأیید‌کننده) در هر قرارداد است، در حالی که امنیت رول‌آپ‌های عمومی اتریوم بر حضور تعداد زیادی نود ناظر و/یا اثبات‌های رمزنگاری دانش‌صفر استوار است.
  • محدودیت‌ها: BitVM در مرحله کنونی یک طرح مفهومی و آزمایشی است و محدودیت‌های قابل توجهی دارد. مهم‌ترین محدودیت، همانطور که ذکر شد، دوطرفه بودن قراردادها است که مانع از پیاده‌سازی مستقیم برنامه‌های غیرمتمرکز گسترده (مانند صرافی‌های غیرمتمرکز با ده‌ها هزار کاربر) روی بیت‌کوین می‌شود. علاوه بر این، پیاده‌سازی BitVM نیازمند آن است که اندازه اسکریپت‌های تعبیه‌شده در آدرس Taproot بیش از حد بزرگ نشود. طبق وایت‌پیپر اولیه، اندازه اسکریپت‌های BitVM در حال حاضر حداکثر ۴ مگابایت است که این خود می‌تواند پیچیدگی برنامه‌های قابل پیاده‌سازی را محدود کند. همچنین نبود پشتیبانی از اوراکل‌ها در طرح فعلی BitVM به این معناست که قراردادهای هوشمند نمی‌توانند به سادگی به داده‌های خارج از بلاک‌چین (مانند قیمت ارزها یا اطلاعات آب‌وهوا) دسترسی داشته باشند، در حالی که در اتریوم این مشکل با وجود اوراکل‌های متعدد حل شده است. از جنبه تجربه کاربری و توسعه، باید توجه داشت که BitVM هنوز در مراحل ابتدایی است و ابزارهای برنامه‌نویسی کاربرپسند (مانند زبان‌های سطح بالا) برای آن وجود ندارند؛ هرچند تلاش‌هایی برای ایجاد زبان‌هایی مثل Tree++ در جریان است تا نوشتن و اشکال‌زدایی اسکریپت‌های BitVM ساده‌تر شود. در مقابل، رول‌آپ‌های اتریوم اکنون چندین پیاده‌سازی عملی (آربیتروم، آپتیمیزم، zkSync، استارک‌نت و غیره) را در اختیار دارند که هر یک امتحان خود را با میلیاردها دلار سرمایه در گردش پس داده‌اند و اکوسیستم ابزارها و توسعه‌دهندگان فعالی پیرامونشان شکل گرفته است. با این اوصاف، BitVM اگرچه یک ایده انقلابی برای ارتقای توان بیت‌کوین به شمار می‌رود، اما برای رسیدن به مرحله‌ی بلوغ و پذیرش گسترده راه زیادی در پیش دارد.

آموزش عملی: ساخت نخستین اسکریپت BitVM

در این بخش به صورت گام‌به‌گام یک مثال ساده از پیاده‌سازی قرارداد BitVM را مرور می‌کنیم تا درک روشن‌تری از فرآیند داشته باشیم. سناریوی ما بسیار ساده است: می‌خواهیم از طریق BitVM بررسی کنیم که حاصل جمع دو عدد صحیح به درستی محاسبه شده است یا خیر. فرض کنید علی (به عنوان اثبات‌کننده) مدعی است که برنامه‌ای نوشته که دو عدد ۵ و ۷ را جمع می‌زند و نتیجه‌ی آن ۱۲ می‌شود. رضا (به عنوان تأیید‌کننده) قرار است صحت این ادعای علی را بررسی کند. هر دو توافق کرده‌اند که اگر علی درست بگوید، پاداشی معادل 1 بیت‌کوین نصیب او شود و اگر اشتباه کرده باشد، آن 1 بیت‌کوین به رضا برسد. مراحل اجرای این قرارداد BitVM به شرح زیر است:

  1. تعریف قرارداد و واریز وثیقه: علی و رضا ابتدا یک آدرس بیت‌کوین با قابلیت Taproot (چندامضایی ۲از۲) ایجاد می‌کنند و هر کدام 0.5 BTC به عنوان وثیقه به آن واریز می‌کنند (در مجموع 1 BTC که قرار است به برنده تعلق گیرد). این آدرس طوری اسکریپت‌نویسی شده که حاوی منطق لازم برای اجرای بازی چالشی-پاسخ مربوط به جمع دو عدد باشد. به عبارتی، برنامه‌ی جمع دو عدد (۵ + ۷) به شکل یک اسکریپت بیت‌کوین در درخت Taproot این آدرس گنجانده شده است. علی در هنگام قفل کردن این وثیقه، خروجی ادعایی برنامه را نیز متعهد می‌شود (در اینجا عدد ۱۲ را به عنوان نتیجه محاسبه اعلام می‌کند). اکنون هر دو طرف با امضای خود تایید می‌کنند که در چارچوب پروتکل BitVM عمل خواهند کرد و در صورتی که خروجی نادرست باشد، علی وثیقه خود را از دست خواهد داد.
  2. اجرای برنامه به صورت آف‌چین: پس از قفل شدن مبلغ وثیقه، علی کد برنامه‌ی جمع (مثلاً یک اسکریپت ساده که دو عدد را با گیت‌های منطقی جمع می‌کند) را به رضا تحویل می‌دهد و ورودی‌های مورد نیاز (عدد ۵ و ۷) را نیز برای او می‌فرستد. اجرای این برنامه (یعنی محاسبه ۵+۷) به طور کامل در خارج از بلاک‌چین و توسط خود رضا انجام می‌شود. رضا برنامه را روی ورودی‌های داده‌شده اجرا می‌کند و حاصل را به دست می‌آورد. در این مثال، رضا محاسبه می‌کند که حاصل جمع ۵ و ۷ برابر ۱۲ است. سپس نتیجه‌ی به‌دست‌آمده را با خروجی ادعایی علی (عدد ۱۲ که قبلاً متعهد شده بود) مقایسه می‌کند.
  3. تأیید نتیجه و تسویه قرارداد (در صورت نبود اختلاف): اگر نتیجه محاسبه شده توسط رضا با ادعای علی مطابقت داشته باشد (که در مثال ما چنین است)، رضا دلیلی برای اعتراض ندارد. در این حالت دو طرف یک تراکنش نهایی را امضا می‌کنند که طبق آن 1 BTC موجود در آدرس وثیقه به علی پرداخت می‌شود (زیرا شرط قرارداد درست از آب درآمده است). این تراکنش روی بلاک‌چین بیت‌کوین ثبت شده و به این ترتیب قرارداد خاتمه می‌یابد. تمام این فرایند با دو تراکنش زنجیره‌ای (یکی برای ایجاد شرط‌بندی اولیه و یکی برای تسویه) انجام شد و هیچ داده اضافه‌ای درباره جزئیات جمع ۵ و ۷ روی زنجیره ذخیره نشد؛ چرا که همه چیز طبق انتظار پیش رفت و نیازی به داوری بلاک‌چین نبود.
  4. فرآیند چالش و اثبات تقلب (در صورت اختلاف): حالتی را در نظر بگیرید که علی به جای ۱۲ عدد ۱۳ را به عنوان حاصل جمع اعلام می‌کرد (ادعای نادرست). در این وضعیت، وقتی رضا کد برنامه را اجرا کند متوجه می‌شود که خروجی واقعی ۱۲ است نه ۱۳. بنابراین رضا با استناد به پروتکل BitVM، یک چالش را آغاز می‌کند. او از میان تراکنش‌های از پیش‌امضاشده‌ای که در مرحله آغاز قرارداد تهیه شده بود، آنهایی را که مربوط به سناریوی اختلاف هستند، به شبکه ارسال می‌کند. این تراکنش‌ها در واقع مراحل میانی محاسبه ۵+۷ را یکی‌یکی روی زنجیره آشکار می‌کنند تا جایی که تناقض مشخص شود. برای جمع دودویی ۵ و ۷، ممکن است محاسبه به جمع بیت‌های آنها شکسته شود. فرضاً رضا ابتدا از علی می‌خواهد بیت‌های جمع‌شونده یا بیت‌های نتیجه را در یک مرحله افشا کند. اگر علی همکاری نکند یا بیت نادرستی را ارائه دهد، همان را به عنوان مدرک تقلب ثبت می‌کنند. در نهایت مثلاً مشخص می‌شود که در یکی از مراحل، علی ادعا کرده حاصل جمع بیت‌ها 0 است در حالی که واقعیت 1 بوده است. این مدرک تقلب (شامل اطلاعات آن مرحله محاسبه) از طریق یکی از اسکریپت‌های Taproot روی بلاک‌چین منتشر می‌شود. با ثبت این تراکنش، قرارداد به صورت خودکار به نفع رضا خاتمه می‌یابد؛ به این معنی که 1 BTC وثیقه به آدرس رضا آزاد می‌شود. علی به علت ارائه ادعای نادرست، شرط را باخته و وثیقه خود را از دست می‌دهد. این نتیجه دقیقاً همان چیزی است که انگیزه می‌دهد هیچ‌یک از طرفین در ابتدا تقلب نکنند، چرا که هزینه آن برایشان سنگین خواهد بود.
  5. خاتمه قرارداد: پس از طی شدن مراحل بالا، چه در صورت تأیید و چه در صورت تقلب، قرارداد BitVM به پایان می‌رسد. در حالت صحیح، اثبات‌کننده (علی) پاداش خود را گرفته و در حالت تقلب، تأیید‌کننده (رضا) جریمه را دریافت کرده است. در هر دو صورت، نتیجه روی زنجیره بیت‌کوین ثبت شده و غیرقابل تغییر است. سایر کاربران شبکه نیز می‌توانند این تاریخچه تراکنش‌ها را ببینند و درستی فرآیند را (با مشاهده مدارک ثبت‌شده) تأیید کنند. به این ترتیب یک نمونه قرارداد هوشمند بر بستر بیت‌کوین اجرا شد، بی‌آنکه نیاز باشد شبکه بیت‌کوین مستقیماً محاسبه جمع ۵ و ۷ را انجام دهد یا زبان اسکریپت آن تغییر کند.

این مثال ساده نشان می‌دهد که چگونه BitVM می‌تواند عملکردی شبیه قراردادهای هوشمند اتریوم را در دنیای بیت‌کوین شبیه‌سازی کند. گرچه در اینجا نمونه‌ی بسیار ابتدایی (جمع دو عدد) را بررسی کردیم، همین چارچوب می‌تواند برای محاسبات بسیار پیچیده‌تر (مثلاً اجرای یک بازی شطرنج کامل یا یک قرارداد مالی دیفای) به کار رود. با افزایش پیچیدگی، تنها چیزی که تغییر می‌کند حجم داده‌های رد و بدل‌شده آف‌چین و اندازه درخت اسکریپت Taproot است؛ اما اصول پایه همان است که توضیح داده شد. توسعه‌دهندگان در حال کار بر روی نمونه‌های پیشرفته‌تر و ساخت ابزارهای بهتری برای ساده‌سازی فرایند توسعه BitVM هستند. با تحقق این تلاش‌ها، در آینده ممکن است شاهد ظهور برنامه‌های غیرمتمرکز، بریج‌های بین زنجیره‌ای و حتی رول‌آپ‌های دانش‌صفر روی بیت‌کوین باشیم که همگی از ایده‌ی BitVM نیرو می‌گیرند.

جمع‌بندی

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

سوالات متداول

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.