امضاهای دیجیتال
بیتکوین از امضای دیجیتالی برای انتقال سکهها در بلاکچین استفاده میکند. امضای دیجیتال برای اثبات مالکیت سکههای خاص و اجازه انتقال آنها به مالک جدید استفاده میشود.
ما یک سکه الکترونیکی را به عنوان زنجیرهای از امضای دیجیتال تعریف میکنیم. هر مالک با امضای دیجیتالی هش تراکنش قبلی و کلید عمومی مالک بعدی، سکه را به شخص بعدی منتقل میکند. – ساتوشی ناکاموتو مدل UTXO را در وایتپیپر بیتکوین توضیح میدهد (2008)
در حال حاضر بیتکوین از الگوریتم امضای دیجیتال منحنی بیضی (ECDSA) استفاده میکند. با ارتقای تپروت Taproot، بیت کوین Schnorr، نوع دوم از طرح امضا با چندین مزیت را ادغام خواهد کرد.
ECDSA
از زمان پیدایش بیتکوین، ECDSA برای ایمنسازی بیتکوین مورد استفاده قرار گرفته است. ECDSA به چند دلیل برای بیتکوین انتخاب شد:
- متن باز: ECDSA توسط حق اختراع یا حق چاپ محافظت نمیشد، بنابراین هیچ مشکل قانونی در مورد استفاده از آن برای بیتکوین وجود نداشت.
- خوب تست شده است: ECDSA زمانی که بیتکوین برای اولین بار طراحی شد به طور گستردهای شناختهشده و مورد استفاده قرار گرفت و امنیت آن به اندازه کافی با سالها آزمایش ایجاد شد.
- ویژگی OpenSSL در بیت کوین:ECDSA در OpenSSL، یک کتابخانه رمزنگاری منبع باز که توسط بیتکوین استفاده میشود، پیادهسازی شد.
این امر اجرای ECDSA را برای بیتکوین سادهتر کرد. با این حال، ECDSA همچنین دارای چندین اشکال است که Schnorr آنها را بهبود میبخشد. به همین دلیل، توسعهدهندگان تصمیم گرفتهاند که بیتکوین باید یک طرح امضای متفاوت، Schnorr را پیاده سازی کند.
مزایای امضاهای Schnorr
مانند ECDSA، طرح امضای دیجیتال Schnorr از رمزنگاری منحنی بیضی (ECC) استفاده میکند. امضاهای Schnorr مزایای زیادی نسبت به ECDSA از نظر کارایی محاسباتی، ذخیرهسازی و حفظ حریم خصوصی دارند. تجمیع کلید و امضا مهمترین مزیت ارائه شده توسط امضاهای Schnorr تجمیع کلید است.
یک امضای دیجیتال معمولی شامل یک کلید عمومی، پیامی که باید امضا شود و امضایی است که بیان میکند صاحب کلید عمومی پیام داده شده را امضا کرده است. وقتی چندین طرف میخواهند پیام یکسانی را امضا کنند، مانند هزینه کردن از یک آدرس چند علامتی، هر کدام باید کلید عمومی و امضای خود را داشته باشند. بنابراین، اگر سه طرف بخواهند یک پیام را امضا کنند، اثبات شامل سه کلید عمومی و سه امضا خواهد بود.
این به دلایل محاسباتی و ذخیرهسازی کمتر از حد مطلوب است، زیرا هر گره باید تأیید امضا، یک تابع گران قیمت، را سه بار انجام دهد و سه مجموعه از امضاها و کلیدهای عمومی را ذخیره کند. تجمیع کلید نیاز به کلیدهای عمومی و امضاهای متعدد را از بین میبرد. کلیدهای عمومی و امضای Schnorr را میتوان به گونهای جمع کرد که اگر سه طرف بخواهند معامله ای را امضا کنند، میتوانند سه کلید عمومی خود را بدون اعتماد ترکیب کنند تا یک کلید عمومی واحد تشکیل دهند. سپس، با استفاده از هر یک از سه کلید خصوصی خود، میتوانند همان پیام را امضا کنند. در نهایت، آنها میتوانند سه امضای خود را برای تشکیل یک امضای واحد که برای کلید عمومی کل معتبر است ترکیب کنند. یک تأییدکننده باید فقط یک امضا و کلید عمومی را تأیید کند تا مطمئن شود که هر سه طرف پیام را امضا کردهاند.
پیامدهای حفظ حریم خصوصی تجمع کلید قابل توجه است. از آنجا که چندین طرف میتوانند کلیدها و امضاها را جمع آوری کنند، تراکنشهای multisig میتوانند کاملاً شبیه تراکنشهای singlesig باشند. بنابراین، تمام هزینههای Schnorr شبیه یکدیگر خواهند بود، که باعث میشود تجزیه و تحلیل زنجیرهای برای تمایز بین هزینههای چند علامتی و مخارج تک امضا غیرممکن باشد. این امر چندین اکتشافی مورد استفاده توسط تحلیل زنجیره ای، از جمله اکتشافی مالکیت ورودی مشترک و اکتشافی نوع اسکریپت را باطل میکند. این مزیت حفظ حریم خصوصی شامل همه کاربران بیتکوینی است که از Schnorr استفاده میکنند، اما نه برای کسانی که از انواع تراکنشهای ECDSA استفاده میکنند.
تأیید دستهای
هنگامی که یک گره یک بلوک جدید دریافت میکند، معمولاً هر تراکنش و امضای موجود در آن بلوک را یکی یکی تأیید میکند. این یک فرآیند زمانبر و منابع فشرده است. تجمیع کلید به گرههای بیتکوین اجازه میدهد تا امضاها را به صورت دستهای تأیید کنند. این روش زمان و توان محاسباتی مورد نیاز برای تایید یک تراکنش با ورودیهای زیادی را به میزان قابل توجهی کاهش میدهد.
از آنجایی که Taproot یک سافتفورک است، اکثر کاربران و کیفپولهای بیتکوین حتی پس از فعال شدن Schnorr به استفاده از ECDSA ادامه خواهند داد. بلوکها همچنان دارای امضاهای Schnorr و ECDSA خواهند بود، که مزایای تأیید دستهپای را در کوتاه مدت محدود میکند.
چرا بیتکوین قبلا از Schnorr استفاده نمیکرد؟
امضاهای Schnorr از زمان اختراع خود در سال 1990 توسط حق ثبت اختراع محافظت شدهاند، که استفاده از آنها را به شدت محدود کرده و نوآوری را خفه میکند. از آنجایی که ECDSA منبعباز بود، به طور گسترده مورد استفاده قرار گرفت، به شدت مورد آزمایش قرار گرفت و قابل اعتماد بود. اگرچه پتنت Schnorr در سال 2008 منقضی شد، در همان سالی که بیتکوین اختراع شد، تصمیم گرفته شد که امضاهای Schnorr فاقد محبوبیت و آزمایش لازم برای ایمنسازی سیستمی به اندازه بیتکوین حیاتی هستند.
امضاهای Schnorr از طریق ارتقاء Taproot به بیتکوین معرفی خواهند شد که امیدواریم در حدود سال 2022 فعال شود. اگرچه توسعهدهندگان تمام کدهای لازم را به Bitcoin Core اضافه کردهاند، گرههای بیتکوین باید ارتقا را بپذیرند تا امضاهای Schnorr را معتبر بدانند.
جمعبندی
- امضای دیجیتال برای انتقال بیتکوین در بلاکچین استفاده میشود. بیتکوین قبلاً از ECDSA به عنوان الگوریتم امضای دیجیتال برای انجام این کار استفاده کرده است.
- در آینده نزدیک، بیتکوین علاوهبر امضای ECDSA، امضاهای Schnorr را نیز فعال خواهد کرد. امضاهای Schnorr مزایای متعددی نسبت به ECDSA دارند.
- Schnorr حریم خصوصی را برای همه کاربران بیتکوین بهبود میبخشد. Schnorr همچنین برای کسانی که از Schnorr و Taproot استفاده میپکنند، در هزینهها صرفهجویی خواهد کرد.
نظرات کاربران