Taproot به بیت کوین می آید: نحوه کار، تاریخچه و پیامدهای آن هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

Taproot به بیت کوین می آید: نحوه کار، تاریخچه و پیامدهای آن

Taproot به بیت کوین می آید: نحوه کار، تاریخچه و پیامدهای آن هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

امضاهای Taproot و Schnorr روی بیت کوین در بلوک 709,632 فعال می شوند. این یک دستاورد بنیادی عظیم برای ادامه ساختن در آینده خواهد بود. چهار سال از زمانی که Segregated Witness روی شبکه پخش شد، آخرین ارتقاء پروتکل اصلی ما می‌گذرد. این به اندازه یک چرخه نصف شدن است!

بهش فکر کن. چهار سال از پخش زنده SegWit تا پخش زنده Taproot. صبر آهسته و روشمند، همانطور که باید باشد. اما تاریخ Taproot/Schnorr بسیار فراتر از آن است.

تاریخچه Taproot

برخی از کسانی که مدتی در اینجا بوده اند ممکن است این موضوع را طعنه آمیز بدانند، اما اولین اشاره به امضاهای Schnorr که من از آن مطلع هستم در واقع از سوی توسعه دهنده سابق Bitcoin Core بود که سازنده بلاک چین سازمانی، Mike Hearn بود. او در سال 2012 مطرح شده ایده یک منحنی رمزنگاری جدید در رابطه با تأیید دسته‌ای امضاها برای اینکه اعتبارسنجی گره از نظر محاسباتی هزینه کمتری داشته باشد. در نهایت، طرحی که او پیشنهاد می کرد به امضاهای اشنور وابسته بود.

آدام بک درباره ساده لوح بودن صحبت می کرد طرح ها برای انجام یک آدرس چند نشانی که در سال 2014 به نظر می رسید با استفاده از امضاهای Schnorr. حتی گاوین آندرسن را هم شامل می شود Schnorr به جای ECDSA در لیست آرزوهایش از تغییراتی که اگر بتواند عصای جادویی را تکان دهد در بیت کوین ایجاد می کند.

تقریباً از همان ابتدای پیدایش بیت کوین، اکثر توسعه دهندگانی که به طور فعال در بیت کوین Core مشارکت دارند، خواهان امضای Schnorr بوده اند و همیشه یک اجماع کاملاً محکم در مورد برتری آنها نسبت به امضاهای ECDSA وجود داشته است. در واقع می توان استدلال کرد که ECDSA به طور خاص به این دلیل ایجاد شد که طرح امضای Schnorr ثبت اختراع شده بود، و نیاز زیادی به یک طرح امضای رمزنگاری منبع باز وجود داشت که توسط حق ثبت اختراع وجود نداشت.

Schnorr بسیار کارآمدتر و به راحتی قابل دستکاری است (چیزها را می توان از امضاها اضافه، کم کرد و غیره، و اگر به درستی انجام شود، همچنان می تواند کاربران را با امضای معتبر در زمانی که باید داشته باشند) نسبت به ECDSA باقی می گذارد. استفاده از ECDSA در بیشتر برنامه‌های رمزنگاری در طول سال‌ها به جای تمایل، یک امر ضروری بود.

Merkelized Abstract Syntax Trees (MAST)، نیمی از Taproot از این ارتقاء Taproot آتی، تاریخچه طولانی مدت مشابهی دارد. من نمی‌توانم نقل قول را پیدا کنم، اما کاملاً به یاد دارم که این عبارت را در سال 2013 یا 2014 توسط افرادی مانند پیتر تاد در Bitcointalk.org مشاهده کردم.

اصلی BIP برای MAST این پیشنهاد در سال 2016 توسط جانسون لاو پیشنهاد شد.116 و 117) و بر اساس پیشنهاد اصلی لاو گسترش یافت.

MAST سال بعد در بلاتکلیفی نشست تا اینکه گرگ ماکسول ایده اولیه Taproot را مطرح کرد و منتشر شده آن را به لیست پستی bitcoin-dev. بینش کلیدی او این بود که در هر مورد قراردادی بین شرکت‌کنندگان متعددی که می‌توانست به آن فکر کند، یک «نتیجه بهینه» وجود داشت که در آن همه می‌توانستند به جای اجرای نتیجه با اسکریپت‌ها و تراکنش‌های پیشرفته‌تر، فقط نتیجه مناسب را امضا کنند. این ادعای اساسی است که Taproot بر آن استوار است، یعنی تغییر دادن درخت MAST به یک کلید سطح بالای معمولی که می‌تواند بدون آشکار کردن وجود درخت مرکل با شرایط دیگر خرج شود.

آخرین بخش کوچک این درس تاریخ با اعلام پیتر ویل شروع می شود پیش نویس BIP برای Schnorr و Taproot همراه با لیست پستی در 6 مه 2019. تا ژانویه 2020، این به طور رسمی به پایان رسید BIP 340، 341 و 342. از این نقطه به بعد، فقط جزئیات کوچک زیادی در سطح اجرا، برخی از دوره های بررسی، و سپس طولانی مدت انجام شد. نبرد بر سر مکانیسم های فعال سازی. این ما را به اکنون هدایت می کند، فقط از فعال سازی خجالت می کشیم.

اهمیت امضاهای Schnorr

بنابراین، معامله بزرگ با امضای Schnorr چیست؟ خوب، برای شروع، آنها معاملات را کوچکتر می کنند. یک امضای ECDSA معمولاً برای یک امضا در یک تراکنش حدود 72 بایت اندازه دارد. سرعت امضاهای Schnorr حداکثر 64 بایت در هر امضا است. این در مقایسه با ECDSA برای هر امضای Schnorr تقریباً 12٪ صرفه جویی در اندازه است. این هم یک مزیت مستقیم برای شخصی است که از Schnorr استفاده می کند و هزینه کمتری را نسبت به یک کاربر ECDSA می پردازد، اما همچنین یک مزیت مستقیم برای افرادی است که از Schnorr استفاده نمی کنند زیرا نیاز به ذخیره کمی داده در بلاک چین برای پردازش و اعتبارسنجی Schnorr شخص دیگری دارند. امضاها

ذخیره داده های کمتر همیشه خوب است، اما چیزی که حتی بهتر است افزایش کارایی اعتبارسنجی داده هایی است که باید ذخیره کنید. یکی از ویژگی‌های خوب Schnorr، خطی بودن ریاضیات پشت آن، همچنین امکان یک ویژگی خوب را در داده‌های بیت‌کوین به شما می‌دهد: اعتبار سنجی دسته‌ای. هنگامی که گره شما یک بلوک از شبکه دریافت می کند، از طریق هر تراکنش جداگانه تجزیه و تحلیل می کند و هر امضا را یک به یک تأیید می کند.

این بخش بزرگی از این است که چرا اعتبارسنجی بلوک ها انرژی زیادی از CPU مصرف می کند. امضاهای Schnorr می توانند همه با هم جمع شوند و به طور ریاضی اعتبارسنجی شوند، به نوعی مانند خرد کردن آنها و انجام یک عملیات ریاضی به جای یک دسته از موارد جداگانه. بنابراین، هرچه امضاهای Schnorr بیشتر باشد، پس انداز محاسباتی بیشتر است. این یک برد بزرگ مقیاس برای شبکه است.

یکی دیگر از پیشرفت‌های بزرگ Schnorr، اسکریپت‌های چند امضایی است. هر آدرس چند علامتی باید به صراحت تمام کلیدهای عمومی منفرد درگیر در یک اسکریپت چند علامتی را در زمان صرف زمان نشان دهد و برای هر کلیدی که در فرآیند خرج کردن دخیل است باید امضایی ارائه شود. با ویژگی های ریاضی Schnorr، دری برای MuSig، یک استاندارد چند امضایی باز می شود. فقط می‌توانید کلیدها را به هم اضافه کنید و با یک کلید عمومی که اشتراک‌گذاری‌های کلید خصوصی همه می‌توانند با استفاده از پروتکل‌های امضای جدید امضا کنند، پایان دهید. جوناس نیک از Blockstream معیار MuSig2 در صرف دو دقیقه برای یک میلیون شرکت کنندگان در یک آدرس چند علامتی برای امضا کردن. بهبود مقیاس به اسکریپت های چند امضایی را نمی توان دست کم گرفت.

این جهش بزرگ به جلو برای اسکریپت های چند امضایی همچنین پیامد بزرگی برای نمایه حریم خصوصی و هزینه برنامه های کاربردی متعدد ساخته شده بر روی بیت کوین دارد. کانال‌های لایتنینگ مبتنی بر MuSig اکنون می‌توانند در کل مجموعه ناشناس Schnorr/Taproot UTXO‌های زنجیره‌ای ترکیب شوند، زیرا دیگر هیچ‌کس نمی‌تواند این واقعیت را تشخیص دهد که آن‌ها خروجی‌های مولتی سیگ دو از دو هستند.

آنها با هم ترکیب می شوند و دقیقاً مانند یک اسکریپت امضا هستند. به طور کلی برای هر UTXO multisig هم همینطور است. این امر برای افرادی که از اسکریپت‌های چند امضایی برای محافظت بهتر از ذخیره‌سازی سرد خود با مدل‌های امنیتی و بازیابی قوی‌تر از یک اسکریپت تک امضایی استفاده می‌کنند، پیامدهای زیادی خواهد داشت.

اولاً، مشخص نخواهد بود که آنها با تماشای بلاک چین از یک راه‌اندازی multisig استفاده می‌کنند، بنابراین، مانند مورد لایتنینگ، آنها را با هر چیز دیگری ترکیب می‌کند. با این حال، یک پیروزی کلیدی در رابطه با اقتصاد است: استفاده از امضای چندگانه در حال حاضر مستلزم ارائه یک امضای جداگانه برای هر کلیدی است که در نهایت در خرج کردن یک UTXO دخیل است. با Schnorr/MuSig، همه چیز در یک امضای واحد برای کلید عمومی ترکیبی فشرده می‌شود، به این معنی که صرف UTXO‌های multisig با استفاده از MuSig بسیار ارزان‌تر می‌شود، زیرا داده‌های کمتری را به زنجیره بلوک منتقل می‌کند.

آخرین کار جالبی که امضاهای Schnorr انجام می دهند این است که اجرای امضاهای آداپتور را به شدت ساده می کنند. امضای آداپتور را در نظر بگیرید که با مقداری که از یک امضای معتبر اضافه یا کم شده است، "رمزگذاری شده" است. تا زمانی که آن عملیات ریاضی را معکوس نکنید، یا با کلیدی که برای دستکاری آن استفاده شده است، آن را «رمزگشایی کنید» معتبر نیست. این با ECDSA امکان پذیر است، اما به دلیل غیر خطی بودن ریاضیات در مقایسه با Schnorr، نسبتاً پیچیده است و نگرانی های امنیتی زیادی در اجرای آن وجود دارد.

به دلیل ویژگی های خطی Schnorr، امضای آداپتور به سادگی گرفتن یک واحد (مثلاً عدد 9,300,030) و کم کردن یک مقدار از آن (مثلا 30) است. هنگامی که طرفی که امضای آداپتور را در اختیار دارد، مقدار تفریق شده را یاد گرفت، می‌تواند به سادگی آن را دوباره اضافه کند و هورا، دوباره امضای معتبر دارند.

پیامدهای Taproot

همانطور که کمی در بالا توضیح داده شد، Taproot در واقعیت اساساً فقط MAST است، به جز اینکه به جای اینکه مانند P2SH کار کند (که در آن اسکریپت را هش می کنید، یا در مورد MAST، ریشه Merkle بالای درخت اسکریپت)، یک را "تریک کنید" کلید عمومی Schnorr توسط ریشه درخت Merkle.

توییکینگ به دلیل ویژگی‌های خطی Schnorr کار می‌کند - وقتی یک کلید عمومی را با ریشه Merkle "تنظیم" می‌کنید (این ریشه Merkle را به کلید عمومی اضافه می‌کنید)، سپس می‌توانید به سادگی ریشه Merkle را به کلید خصوصی اصلی اضافه کنید و کلید هزینه را برای آن ایجاد کنید. کلید عمومی جدید بهینه سازی شده به عنوان مثال، شما یک چیز را به کلید عمومی و خصوصی اضافه می کنید، و آنها همچنان یک جفت کلید معتبر هستند. این وجود درخت MAST را پنهان می‌کند، مگر اینکه از شاخه‌ای از آن استفاده شود، اما اساساً هنوز فقط یک درخت MAST است، فقط یکی از آنها به روشی کارآمدتر و خصوصی‌تر متعهد است.

توانایی متعهد شدن به اسکریپت‌های مختلف هزینه در درخت Merkle و تنها نشان دادن اسکریپت استفاده‌شده، یک پیروزی بزرگ مقیاس‌پذیری از نظر پیچیدگی قرارداد هوشمند است که امکان ساخت آن بر روی بیت‌کوین وجود دارد.

درست مانند اینکه اندازه بلوک تعداد تراکنش ها را در هر بلوک محدود می کند، محدودیت اندازه تراکنش 100 کیلوبایت است. تنها تفاوت این است که به جای اینکه یک قاعده اجماع باشد، یک قانون سیاست است. این بدان معناست که یک ماینر می‌تواند تراکنش بزرگ‌تر از 100 کیلوبایت را استخراج کند، اما به‌طور پیش‌فرض، گره هیچ‌کس در شبکه، تراکنش بزرگ‌تر از آن را در وهله اول به ماینر منتقل نمی‌کند.

این به طور ذاتی اندازه اسکریپت مورد استفاده برای قفل کردن بیت کوین UTXO را محدود می کند. حتی با P2SH، که در آن UTXO به یک هش از اسکریپت قفل می‌شود که تا زمانی که آن را خرج نکنید، فاش نمی‌شود، در نهایت باید اسکریپت کامل را در زمان صرف نشان دهید. Taproot این محدودیت مقیاس پذیری اسکریپت را با عدم نیاز به افشای کل اسکریپت هنگام استفاده از آن افزایش می دهد. به‌جای اینکه اندازه کل همه راه‌هایی که می‌توانید UTXO را خرج کنید به محدودیت اندازه تراکنش محدود شود، فقط باید مطمئن شوید که هر روشی که می‌توانید یک Taproot UTXO را خرج کنید، این محدودیت را رعایت می‌کند.

همچنین مزایای حفظ حریم خصوصی زیادی همراه با Taproot وجود دارد. یکی از مزایای بزرگ درخت MAST توانایی ایجاد انواع موقعیت های مشروط است که در آن سکه ها می توانند توسط طرف های دیگر خرج شوند.

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

در سطح فنی، Taproot نیز به خوبی مهندسی شده است. هر کسی که در هر سطح عمیقی با شاهد جدا شده آشنا است باید با نسخه شاهد آشنا باشد.

هنگامی که Segregated Witness پیاده سازی شد، بخش جدید "شاهد" یک تراکنش را ایجاد کرد که در آن داده های امضا به آن منتقل شدند. داده‌های شاهد دارای یک پرچم نسخه بودند تا بدون نیاز به استفاده از OP_CODE‌های تعریف‌نشده در لایه پایه برای ویژگی‌های جدید، به عملکرد جدید ارتقا یابد.

این در واقع نحوه اجرای Taproot/Schnorr است. تراکنش‌های شاهد جداشده از شاهد نسخه صفر استفاده می‌کنند. وقتی Taproot/Schnorr به‌زودی پخش می‌شود، از نسخه شاهد جدید یک استفاده می‌کنند تا آنها را از تراکنش‌های قدیمی‌تر Segregated Witness متمایز کند. همانطور که SegWit نسخه‌های شاهد را معرفی کرد، Taproot "نسخه tapleaf" را برای tapscripts استفاده شده در درخت‌های MAST برای UTXO‌ها با استفاده از Taproot معرفی می‌کند. این نه تنها به اسکریپت‌های مدفون در MAST اجازه می‌دهد بدون استفاده از OP_CODE‌های جدید در لایه پایه ارتقا پیدا کنند، بلکه بدون نیاز به ارتقاء نسخه‌های شاهد نیز! بنابراین Taproot به گونه ای طراحی شد که تا حد امکان برای ارتقاء در آینده بدون محدود کردن سایر ارتقاءهای نامرتبط به پروتکل کارآمد باشد.

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

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

سپس، شش ماه پس از آن، همه منهای دو نفر می توانند آن را خرج کنند. در نهایت، ممکن است تنها یک نفر با کمک یک وکیل (برای اطمینان از اینکه هیچ هشیاری رخ نداده است) بتواند UTXO را خرج کند خلاصه شود.

یا، اگر از Multisig برای ایمن سازی سردخانه خود استفاده کنید، اما تنها یک مکان دارید که در بلندمدت امن و قابل پیش بینی باشد، چه؟ می‌توانید یک MAST ایجاد کنید که در نهایت، پس از چند سال، کلید در آن مکان امن می‌تواند آن سکه‌ها را به تنهایی خرج کند، فقط در صورت گم شدن یا از بین رفتن کلیدهای دیگر، اما بدون اینکه در حال حاضر سکه‌هایتان را بلافاصله در معرض خطر سرقت قرار دهید. یک کلید به خطر افتاده است.

این یک ارتقاء شگفت‌انگیز و جامع برای بیت‌کوین است که تقریباً از زمان تولد خود بیت‌کوین در دست اجرا بوده است، نه فقط در چند سال اخیر که جزئیات پیاده‌سازی واقعی آن کار شده و اجرا شده است.

این واقعاً از بسیاری جهات برای مقیاس‌پذیری و کاربرد پروتکل بیت‌کوین یک پیروزی است که به دلیل ظریف و «غیر سکسی» بودن برخی از آنها، انتقال آن دشوار است. اما این چیزی از برد کم نمی کند. بنابراین، همه در کمان هستند و آماده بازی با اسباب بازی های جدیدی هستند که به زودی باید از آنها استفاده کنیم، زیرا Taproot در راه است!

این یک پست مهمان توسط شینوبی است. نظرات بیان شده کاملاً متعلق به خود آنها است و لزوماً نظرات BTC Inc یا را منعکس نمی کند مجله Bitcoin.

منبع: https://bitcoinmagazine.com/technical/bitcoin-taproot-explainer

تمبر زمان:

بیشتر از مجله Bitcoin