در حال حاضر محتملترین بروز رسانی بعدی بیت کوین، تپروت (Taproot) است. تپروت یکی از بروز رسانیهای در دست توسعه است که کاربران و توسعهدهندگان امیدوارند سرانجام در شبکه فعال خواهد شد. تمام این بروز رسانیها دارای تم و اساس یکسانی هستند و احتمالا بروز رسانیهای آینده بیت کوین نیز پیرو همین تم باشند. این تم، قرارداد ها را به صورت یونیکست (Unicast یا ارتباط نقطه به نقطه) درمیآورد.
بروز رسانی احتمالی شبکه بیت کوین
به عبارت سادهتر، منطق قراردادها برون زنجیرهای میشود و تایید و اجرای قراردادها به جای شبکه به عهده کاربران گذاشته خواهد شد. انتقال به سیستم یونیکست منجر به خصوصیتر و مقیاسپذیرتر شدن بیت کوین خواهد شد، در حالی که همچنان مهمترین ویژگیهای آن بدون تغییر باقی خواهد ماند.
این نوع بروز رسانی ها و سیستمها برای بیت کوین بسیار عالی هستند. بیت کوین صرفا یک شبکه پولی و مالی است، نه یک شبکه محاسباتی. عملکرد اصلی چنین شبکهای باید تایید این موضوع باشد که سیستم پولی و مالی به درستی اجرا میشود. در خصوص بیت کوین، بررسی این موضوع که کاربران به درستی یک تراکنش را امضا کردهاند و سیاست پولی موجود را نقض نکردهاند باید عملکرد اصلی سیستم باشد و هرچیزی فراتر از این موضوع باید به لایههای بالایی انتقال باید و فقط بین کاربرانی انجام شود که از بیت کوین برای اهدافی به غیر از پرداختهای مالی استفاده میکنند.
قراردادهای یونیکست و MuSig
چندامضایی (MuSig) یکی از بهترین کاربردهای عملی در زمینه یونیکست کردن منطق قراردادها است. بروز رسانی چندامضایی به کاربران امکان میدهد تا یک خروجی چندامضایی را مشابه با یک خروجی تک امضایی استاندارد کنند. این موضوع با ایجاد کلیدها و امضاهای برون زنجیرهای توسط کاربر و انجام عملیات رمزنگاری محقق میشود. MuSig در مقابل چندامضایی معمولی که طی آن، کاربران باید تمام کلیدهای عمومی و امضاهای خود را منتشر کنند، یک بهبود و ارتقای چشمگیر به حساب میآید. کاربران با انجام چندامضایی معمولی، تمام بار و مسئولیت تایید قرارداد را به عهده شبکه قرار میدهند. این شرایط نیازمند تایید و ذخیرهسازی نامحدود توسط شبکه است. در مقابل، با وجود MuSig، کاربران با ایجاد امضاهای مختلف در بین خودشان و در نهایت ایجاد یک امضای پایانی، قرارداد را اجرا میکنند. این امضای پایانی فقط در صورتی میتواند معتبر و قابل قبول باشد که تعداد مشخصی از حاضرین به دور از هرگونه خرابکاری، آن را تایید کنند. در آخر، شبکه فقط یک امضا را تایید و ذخیره خواهد کرد.
انجام قرارداد به روش یونیکست منجر به خصوصیتر شدن بیت کوین میشود. امروزه اکثر قراردادها مولفه مقدار خرج کردن (spending) خود را به وضوح در اسکریپتهای خروجی تراکنش ارائه میدهند. این موضوع بدان معنا است که فرد بیرون از تراکنش میتواند شرایط خرج کردن را با جزییات کامل مشاهده کند. افشا شدن شرایط تراکنش یک کاربر نه تنها برای آن کاربر موردنظر آسیب رسان است، بلکه بر سایر کاربران شبکه نیز تأثیرگذار است. هنگامی که کاربر مسیرهای تراکنشی خود را افشا میکند، نه تنها بیان میکند که از این مسیرها استفاده میکند بلکه اذعان میکند از سایر شرایط تراکنشی دیگر استفاده نمیکند. شاید اینطور به نظر برسد که این موضوع کاملا مشخص است، اما تاثیر بسزایی دارد. از آنجایی که کاربر مشخص میکند دارای شرایط خرج کردن موردنظر نیست، از ناشناس بودن شرایطی که سایر کاربران استفاده میکنند خارج میشود. این موضوع بدان معنا است که سایر کاربران، کاربر مورد نظر را وارد شرایط ناشناس بودن خود وارد نمیکنند. اگر کاربر، اجرای قرارداد خود را به صورت برون زنجیرهای انجام دهد، میتواند تراکنشها و خروجیهای خود را مشابه با یک کاربر معمولی نشان دهد و در نتیجه، شرایط ناشناس بودن را با کاربران بیشتری به اشتراک بگذارد. این موضوع هم برای خود کاربر و هم سایر کاربران مفید است.
ثبات در مولفههای اساسی شبکه بیت کوین
اجرای قرارداد به روش یونیکست نه تنها منجر به خصوصیتر شدن بیت کوین میشود، بلکه آن را مقیاسپذیرتر نیز میکند. اجرا و تایید برون زنجیرهای قرارداد اطمینان حاصل میکند که کاربران دیگر نیازی به انتشار کل قرارداد خود در شبکه ندارند. بدین ترتیب، شبکه نیز دیگر به بررسی و تایید قراردادها نیازی ندارد و فقط بررسیهای جزیی نظیر بررسی یک امضا را انجام میدهد. از آنجایی که دیگر قرارداد در شبکه منتشر نمیشود، اطلاعات مورد نیاز برای قرارداد در شبکه ذخیره نخواهد شد. به دلیل حجم محدود بلاک بیت کوین، کاهش اطلاعات مورد نیاز هر تراکنش به نفع شبکه است زیرا بازده و راندمان تراکنشها را افزایش خواهد داد و در نتیجه میتوان با منابع یکسان، کارهای بیشتری انجام داد.
معایب
حذف نیاز به تایید و ذخیرهسازی اطلاعات قرارداد میتواند تاثیر بسزایی بر نحوه استفاده از بیت کوین توسط کاربران داشته باشد. با هر تراکنش بیت کوین، کاربران باید کارمزدی به ماینرها پرداخت کنند تا تراکنش آنها در بلاک جای بگیرد. این کارمزد ارتباط مستقیمی با منابع مورد نیاز برای بررسی، تایید و ذخیرهسازی تراکنش دارد. بدین ترتیب، میتوان نتیجه گرفت که کاربران از استفاده از اسکریپتهای و شرایط خرج کردن پیچیده منصرف میشوند. این موضوع میتواند تاثیر بدی داشته باشد. برای مثال، کاربری که با استفاده از مواردی نظیر چندامضایی به منظور توزیع کلیدهای خود، در صدد بهبود و ارتقای امنیت است، اکنون توسط شبکه مجبور میشود تا کارمزد بیشتری پرداخت کند.
استفاده از قراردادهای یونیکست معایب دیگری نیز دارد. از آنجایی که کاربران تایید و اجرای قرارداد را به عهده شبکه قرار نمیدهند، باید این فرآیند را خودشان انجام دهند یا به عهده نرمافزاری مورد استفاده خود قرار دهند. این موضوع بدان معنا است که کاربران باید اطلاعات بیشتری را بین طرفین قرارداد ارسال و ذخیره کنند. انجام این کار به نرمافزار و پروتکلهای پیچیدهتری نیاز دارد و تهیه بکآپ را دشوارتر میسازد، زیرا اگر اطلاعات کاربر از دست برود، طرف مقابل میتواند قرارداد را نقض کند یا حداقل کاربر ممکن است نتواند قرارداد خود را بدون مشارکت طرف مقابل اجرا کند. هرچند، این موارد از مشکلات شناختهشده هستند و راهکارهای هوشمندانهای برای مقابله با از دست دادن اطلاعات پیشنهاد شده و حتی روشهایی برای پنهان کردن از دست رفتن اطلاعات از طرف مقابل ایجاد شده است.
نتیجهگیری
امروزه قراردادهای بیت کوین اساسا به عنوان یک سیستم انتشاری فعالیت میکنند که برای تایید و ذخیره اطلاعات اجرای قرارداد به شبکه متکی است. بروز رسانیهای آتی بیت کوین امکان میدهند تا قراردادها توسط کاربران اجرا شوند، زیرا بیت کوین در وهله اول یک شبکه پولی و مالی است و باید مشخصهها و ویژگیهای چنین سیستمی را اجرا کند. مواردی نظیر بروز رسانی تپروت، لایتنینگ، DLC ها و PTLC ها همگی بیانگر این موضوع هستند و نشان میدهند که توسعهدهندگان بیت کوین در حال بهبود و ارتقای مقیاسپذیری و خصوصیتر کردن بیت کوین هستند.