Taproot تپروت یک ارتقاء پیشنهادی برای بیتکوین است که چندین ویژگی و مزیت جدید را برای کاربران بیتکوین به ارمغان میآورد. ارتقاء Taproot در واقع از سه پیشنهاد بهبود بیتکوین (BIP) تشکیل شده است که سه ارتقای مجزا را برای پروتکل بیتکوین تعریف میکند: Schnorr Signatures، Taproot و Tapscript. با این حال، این سه ارتقاء به عنوان ارتقاء Taproot شناخته میشوند و BIPهای 340، 341 و 342 اغلب در مجموع به عنوان BIP Taproot شناخته میشوند. این ارتقاها با هم راههای جدید، کارآمدتر، انعطافپذیرتر و خصوصی را برای انتقال بیتکوین معرفی میکنند.
BIP 340 امضاهای Schnorr را برای استفاده در بیتکوین معرفی میکند. امضاهای Schnorr مزایای متعددی را برای کاربران بیتکوین به ارمغان میآورد، از جمله حفظ حریم خصوصی برتر، کارمزدهای پایینتر، و Multisig انعطافپذیرتر. این BIP همچنین نحوه کدگذاری کلیدهای عمومی و امضاهای Schnorr برای استفاده در بیتکوین را مشخص میکند. طول کلیدهای عمومی مورد استفاده برای امضاهای Schnorr در مقایسه با کلیدهای عمومی 33 بایتی ECDSA 32 بایت است. علاوه بر این، امضاهای Schnorr 65 بایت طول دارند، در مقایسه با امضاهای ECDSA، که از 71 تا 72 بایت، از جمله پرچم sighash، متغیر است. این صرفهجویی در فضای کوچک باعث صرفهجویی در هزینه برای کاربران بیتکوینی میشود که Taproot را اتخاذ میکنند.
در حالی که BIP 340 مشخصات تولید و رمزگذاری امضاهای Schnorr و کلیدهای عمومی را تعریف میکند، BIP 341 نحوه ادغام امضاهای Schnorr را در پروتکل بیتکوین تعریف میکند. به طور خاص، اسکریپت بیتکوین باید برای ارزیابی امضاهای Schnorr به روز شود. Taproot همچنین درختان اسکریپت جایگزین Merkelized Alternative Script (MAST) را ادغام میکند که به کاربران اجازه میدهد خروجیها را روی چندین اسکریپت قفل کنند.
Taproot همچنین یک نوع اسکریپت جدید را معرفی میکند، راهی برای خرج کردن بیتکوین. Pay-to-Taproot (P2TR) به کاربران این امکان را میدهد که به یک کلید عمومی Schnorr یا ریشه Merkle از انواع اسکریپتهای دیگر پرداخت کنند. با استفاده از این نوع اسکریپت جدید، کاربر میتواند یک UTXO ایجاد کند که میتواند توسط صاحب کلید خصوصی یا هر کسی که میتواند الزامات هر اسکریپت را در درخت Merkle برآورده کند، باز کرده و خرج کند.
ویژگی تجمیع کلید Schnorr این قابلیت انعطافپذیر را فعال میکند. هنگامی که بیتکوین به خروجی P2TR ارسال میشود، روی یک کلید عمومی به نام Q قفل میشود. با این حال، این کلید عمومی Q در واقع انباشتهای از یک کلید عمومی P و یک کلید عمومی است که از ریشه مرکل Merkle بسیاری از انواع اسکریپتهای دیگر تشکیل شده است. هر یک از اسکریپتهای جایگزین در درخت Merkle میتواند برای صرف خروجی استفاده شود.
این طراحی به کاربران این امکان را میدهد که بین اسکریپتهای پیچیده و دلخواه و همچنین عملکرد ساده پرداخت به کلید عمومی در زمان خرج کردن، به جای زمان دریافت، یکی را انتخاب کنند. همچنین تمام خروجیهای Taproot را شبیه به هم میکند. از آنجایی که خروجیهای چند سیگ، خروجیهای Sig Sig و سایر قراردادهای هوشمند پیچیده، همگی در بلاکچین یکسان به نظر میرسند، بسیاری از اکتشافیهای تحلیل زنجیره غیرقابل استفاده میشوند و حریم خصوصی را برای همه کاربران Taproot حفظ میکنند.
به منظور پیادهسازی تراکنشهای P2TR، BIP 342 چندین کد عملیاتی را اضافه و به روز میکند. این اسکریپتهای جدید برای تأیید هزینههای Taproot و امضاهای Schnorr استفاده میشوند و در مجموع به عنوان Tapscript شناخته میشوند. Tapscript برای به حداکثر رساندن انعطافپذیری آینده هزینههای P2TR طراحی شده است تا امکان ارتقاهایی را فراهم کند که هنوز پیشبینی نشدهاند.
ارتقاء Taproot مزایای زیادی را برای کاربران بیتکوینی که Taproot را اتخاذ میکنند و همچنین کسانی که این کار را نمیکنند ارائه میدهد. معرفی امضاهای Schnorr مزایای قابل توجهی برای حفظ حریم خصوصی و امنیت ارائه میدهد، اما Taproot و Tapscript نیز مزایای خاص خود را دارند.
بیشتر خروجیهای Taproot (P2TR) فضای کمتری را در بلاکچین نسبت به خروجیهای معمولی P2PKH مصرف میکنند، اما کمی بزرگتر از خروجیهای P2WPKH هستند. این بیشتر به این دلیل است که P2TR بیتکوین را مستقیماً روی یک کلید عمومی قفل میکند، نه هش کلید عمومی. این امر ارسال به خروجیهای Taproot را کمی گرانتر میکند، زیرا کلیدهای عمومی فضای بیشتری را نسبت به هش کلید عمومی اشغال میکنند. با این حال، صرف خروجیهای Taproot به طور قابل توجهی ارزانتر است، زیرا کلید عمومی در scriptPubKey گنجانده شده است، و بنابراین نیازی به گنجاندن در Script Witness نیست. Taproot همچنین طرح رمزگذاری را برای کلیدهای عمومی و امضاهای Schnorr تعریف کرد و آنها را کوتاهتر از همتایان ECDSA خود کرد و باعث صرفهجویی در هزینه اضافی شد.
پیامدهای حریم خصوصی Taproot شاید مهمترین بخش ارتقا باشد. با معرفی امضاهای Schnorr و تجمیع کلید، قراردادهای چند امضایی دیگر تفاوتی با قراردادهای تک امضا ندارند و حریم خصوصی را برای همه کاربران Taproot فراهم میکنند.
واقعیت کلیدی: از آنجایی که شبکه لایتنینگ به مولتی سیگ 2-از-2 متکی است، Taproot تشخیص اینکه کدام تراکنشها کانالهای لایتنینگ را ایجاد میکنند غیرممکن می کند.
از آنجایی که شبکه لایتنینگ به مولتیسیگ 2-از-2 متکی است، Taproot تشخیص اینکه کدام تراکنشها کانالهای لایتنینگ را ایجاد میکنند غیرممکن میکند. Taproot همچنین مزایای حفظ حریم خصوصی قابل توجهی را از طریق ادغام MAST معرفی میکند. همانطور که در بالا توضیح داده شد، Taproot به بیتکوین اجازه میدهد تا به طور همزمان روی بسیاری از اسکریپتها قفل شود. با این حال، هنگامی که بیتکوین را از خروجی Taproot خرج میکند، نیازی نیست که مصرفکننده تمام اسکریپتهای ممکن را که میتواند بیتکوین را باز کند، آشکار کند. فقط اسکریپتی که واقعاً از آن استفاده میکردند. در اکثر موارد، کاربران Taproot احتمالاً از گزینه پرداخت به کلید عمومی استفاده میکنند و به آنها اجازه میدهد هر گزینه پشتیبان را که ممکن است برنامهریزی کردهاند، خصوصی نگه دارند.
در سطح فنی و نظری، امضاهای Schnorr امنتر از امضاهای ECDSA در نظر گرفته میشوند زیرا امضاهای Schnorr با استفاده از مفروضات کمتر به طور قابل اثباتی ایمن هستند. مانند تمام طرحهای رمزنگاری منحنی بیضوی، ECDSA و Schnorr هر دو بر این فرض تکیه میکنند که مشکل لگاریتم گسسته سخت است. با این حال، ECDSA به منظور تضمین امنیت خود بر مفروضات اضافی متکی است. با این وجود، هیچ نمونه ای از ECDSA که به طور سیستماتیک در طول وجود بیتکوین به خطر افتاده باشد، وجود نداشته است.
امضاهای Schnorr همچنین هرگونه چکشخواری امضایی را که ممکن است در امضاهای ECDSA وجود داشته باشد حذف میکند. در حالی که چکشخواری تراکنش با ارتقای SegWit حل شد، چکشخواری امضاها به عنوان یکی از ویژگیهای ECDSA باقی ماند.