امضای اشنور چیست؟ همه چیز درباره امضای دیجیتال schnorr signature و اهمیت آن
امنیت در دنیای کریپتوکارنسی، مدیون امضاهای دیجیتال است. این امضاها تضمین میکنند تراکنش در طول مسیر دستکاری نشده و به همان مقصد موردنظر ارسال شود. امضای اشنور (schnorr signature) یکی از مهمترین الگوریتمهایی است که توسط ریاضیدانی با همین نام ثبت گردید و در سال ۲۰۲۱ وارد ساختار بیت کوین شد. اگرچه درک مفهوم امضاهای دیجیتال کار راحتی نیست اما در این مقاله با زبانی ساده به معرفی امضای اشنور و نحوه عملکرد آن خواهیم پرداخت.
نحوه عملکرد امضای اشنور (schnorr signature)
بسیاری از افراد گمان میکنند ارزهای دیجیتال دارایی واقعی نیستند چرا که نمیتوان مالکیت افراد بر آنها را ثابت کرد. امضاهای دیجیتال، برای اثبات مالکیت دیجیتال طراحی شده و اصالت و یکپارچگی تراکنش را تضمین میکنند. اصالت به این معناست که تراکنش توسط یک فرد مشخص فرستاده شده و یکپارچگی به معنای یکی بودن پیام ارسالی و پیام دریافت شده است. امضای دیجیتال را میتوان به نوعی شبیه به امضای فیزیکی دانست. در واقع همانگونه که یک شخص در دنیای واقعی هویت خود را با ایجاد اشکالی منحصربهفرد تایید میکند؛ در دنیای دیجیتال نیز هر فرد یک کلید منحصربهفرد دارد که تایید کننده هویت او محسوب میشود.
امضای اشنور، توسط رمزنگاری آلمانی کلاوس اشنور (Claus Schnorr) در دهه ۱۹۹۰، یعنی قبل از پیدایش بیت کوین ایجاد شد. اشنور این امضای دیجیتال را به عنوان راه حلی برای افزایش امنیت در ارسال پیامهای رمزنگاری شده ایجاد کرد تا سازمانهای جاسوسی کشورهای دیگر نتوانند پیام را دستکاری یا آن را رمزگشایی کنند.
امضای دیجیتال، با استفاده از کلید خصوصی ایجاد میشود. اگر تا به حال یک کیف پول ارز دیجیتال برای خود ایجاد کرده باشید، حتما با کلماتی که از آنها با عنوان Private key یاد میشود مواجه شدهاید. نرمافزار به شما پیشنهاد میکند این کلمات را نوشته و در جایی امن نگهداری کنید چرا که آنها امضای شخصی شما در دنیای بلاکچین هستند و هر شخصی با در دست داشتن آن امضا میتواند مالک تمام دارایی شما باشد. چیزی که ما در دنیای کریپتوکارنسی بهعنوان یک کوین میشناسیم، درواقع رشتهای از امضاهای دیجیتال است. مالک کوین برای انتقال ارز به کیف پول شخصی دیگر، باید یک کد هش شده از امضای دیجیتال خود و کلید عمومی دریافت کننده کوین را ثبت کند. به همین ترتیب هر شخصی برای انتقال دارایی از امضای دیجیتال و کلیدهای عمومی استفاده کرده و رشتهای از امضاهای دیجیتال را ایجاد میکند.
زمانی که یک کیف پول اشتراکی ایجاد میشود تمام یا اکثریت اعضا برای انتقال ارز باید تراکنش را امضا کنند. هر امضا مشابه یک تراکنش مجزا است و نیاز به کارمزد و زمان برای تایید تراکنش دارد. به همین دلیل ایجاد یک تراکنش چند امضایی معمولا گران تمام میشود. اما اشنور، با جدا کردن امضاها از تراکنش اصلی، حجم تراکنش را کاهش داده و تمام امضاها را در یک امضا جمع میکند. به این کار اصطلاحا اجماع کلیدها یا Key aggregation گفته میشود. در واقع با این کار زمانی که چند کاربر بخواهند به یک آدرس مشخص، بیت کوین واریز کنند، لازم نیست برای هر امضا کارمزد تراکنش پرداخت کنند.
الگوریتم اشنور، با راهحلهای منحصر به فرد خود، از حجم تراکنشها کم میکند. در نتیجه تراکنش سریعتر انجام شده و مقیاسپذیری شبکه بلاکچین افزایش مییابد. همچنین schnorr signature میتواند حملات سایبری به بلاکچین را مهار کرده و به افزایش امنیت تراکنشها کمک کند.
ویژگیهای امضای اشنور (schnorr signature)
قابلیت خلاصه کردن کلیدهای مختلف در یک کد واحد، تنها ویژگی مثبت امضای اشنور نیست. همانطور که پیشتر به آن اشاره شد، اشنور سطح امنیت بیشتری را برای تراکنشها فراهم میکند و در برابر حمله چکشخواری مقاوم است. حمله چکشخواری، به حملاتی گفته میشود که طی آن مهاجم، بدون اینکه تراکنش از اعتبار ساقط شود اطلاعات آن را دستکاری میکند. برای مثال مهاجم میتواند میزان کوینهای موجود در تراکنش را تغییر دهد یا آدرس گیرنده را عوض کند. این خطر میتواند زمینه را برای یک کلاهبرداری بزرگ و از دست رفتن اعتبار ارزهای دیجیتال فراهم کند.
اشنور همچنین میزان ناشناخته بودن تراکنشها را افزایش میدهد. در یک تراکنش چند امضایی، اشنور همه امضاها را در یک کد هش شدهی مبهم و غیرقابل ردیابی ذخیره میکند. به این ترتیب تشخیص یک تراکنش چند امضایی از یک تراکنش تک امضایی برای ناظران دشوار میشود. همچنین در برخی موارد، افراد با هم توافق میکنند که اگر اکثریت قریب به اتفاق مالکان یک کیف پول، تراکنش را امضا کنند به معنای تایید تراکنش از جانب همه است. برای مثال اگر از یه نفر از چهار مالک یک کیف پول، تراکنش را امضا کنند کافی است. با امضای اشنور، هرگز نمیتوان فهمید چه کسی تراکنش را امضا کرده و چه کسی از امضای آن سرباز زده است.
تفاوت امضای اشنور و ECDSA
زمانی که ساتوشی ناکاموتو، خالق مرموز بیت کوین، در حال نوشتن کد BTC بود، امضای اشنور وجود داشت اما او از این امضا استفاده نکرد و ترجیح داد از امضای ECDSA به جای Schnorr استفاده کند. دلیل این کار ساتوشی، ممکن است منبع باز بودن الگوریتم ECDSA بوده باشد. اشنور امضای ابداعی خود را به نام خود ثبت کرده بود و افراد دیگر نمیتوانستند بدون مجوز از آن استفاده کنند. علاوه بر این، ECDSA در بسیاری از برنامههای رمزنگاری تست شده و کارکرد خود در تامین امنیت اطلاعات را ثابت کرده بود.
امضای ECDSA مخفف عبارت Elliptic Curve Digital Signature Algorithm به معنای الگوریتم امضای دیجیتال منحنی بیضوی است. اگرچه اشنور و ECDSA از منطق یکسانی برای تایید تراکنشها استفاده میکنند اما ECDSA توانایی تبدیل چند امضای دیجیتال به یک امضا را ندارد و اگر چند کاربر پس از خرید بیت کوین قصد فرستادن آن به یک آدرس خاص را داشته باشند باید هرکدام بهصورت جداگانه تراکنش را امضا کنند. علاوه بر این، سطح امنیت ایجاد شده توسط ECDSA در برابر حملاتی مانند چکش خواری از اشنور کمتر است. با این تفاسیر میتوان اشنور را نسخه پیشرفته ECDSA دانست. امضای Schnorr در به روزرسانی تپ روت، در ۱۴ نوامبر ۲۰۲۱ در بلوک ۷۰۹۶۳۲ بیت کوین اجرا شد. تا قبل از آن بیت کوین از الگوریتم ECDSA استفاده میکرد اما افزایش تعداد کاربران شبکه بیت کوین و محدودیت آن در مقیاس پذیری، جامعه این ارز را بر آن داشت که از روشی جدید برای تایید تراکنشهای خود استفاده کنند.
ناگفته نماند که اگرچه امضای اشنور مناسبتر به نظر میرسد اما امضای ECDSA همچنان بهعنوان پروتکلی امن برای انتقال ارز شناخته شده و بهطور گسترده در شبکه بیت کوین استفاده میشود. انتخاب بین امضای اشنور و ECDSA به نوع تراکنش و سطوح امنیتی مورد نیاز بستگی دارد.
مزایا و معایب امضای اشنور
تا اینجای مقاله مزایای زیادی برای امضای اشنور برشمردیم که بهطور خلاصه به برخی از آنان اشاره میکنیم:
- امضای Schnorr نیاز به فضای ذخیره سازی برای تراکنشهای چندامضایی را تا ۲۵ درصد کاهش داده و از زمان و کارمزد مورد نیاز برای تایید تراکنش میکاهند.
- کاهش حجم تراکنشها باعث افزایش مقیاسپذیری شبکه میشود.
- اشنور با تبدیل تراکنشهای چند امضایی به تراکنشهای تک امضایی، حریم خصوصی را افزایش میدهند.
- در برابر حمله چکش خواری مقاوم است و میتواند شبکه را از حمله هکرها حفظ کند.
- اشنور در آپدیت تپ روت به پروتکل بیت کوین اضافه شد و بههمراه تغییرات دیگر، بلاکچین این ارز را برای پذیرش قراردادهای هوشمند آماده کرده است.
اما پروتکل اشنور معایبی نیز دارد که آنها را میتوان به صورت زیر خلاصه کرد:
- در اجرای امضای Schnorr، هر شرکت کننده باید از طریق امضایی که با کلید خصوصی خود ایجاد کرده، معتبر بودن کلید عمومی خود را نشان دهد. این کار فرایند انتقال ارز را کمی پیچیده میکند.
- این ریسک وجود دارد که هکر به یک کلید عمومی معتبر دست پیدا کرده و کنترل یک تراکنش چند امضایی را به دست بگیرد.
دلیل اهمیت امضای اشنور
همان طور که پیشتر نیز به آن اشاره شد، یکی از مشکلات همیشگی ارزهای دیجیتال، افزایش مقیاسپذیری در کنار تامین امنیت است. امضای دیجیتالی که هوشمندانه طراحی شده باشد میتواند کار را برای توسعهدهندگان بلاکچین سادهتر کرده و از بلاکچین در برابر حملات هکرها محافظت کند. علاوه بر این، بیت کوین اگر میخواهد در دنیای کریپتوکارنسی نقشی فعال ایفا کند باید مشکلات مقیاسپذیری خود را حل کرده و بهعنوان ارزی کاربردی در میان افراد شناخته شود. در حال حاضر ارزهایی مانند ترون برای استفاده روزانه مناسبترند چرا که کارمزد جابهجایی کمی داشته و بسیار سریع منتقل میشوند. بروزرسانی تپروت برای آماده کردن بیت کوین برای آپدیتهای بعدی ایجاد شد و اشنور، یکی از اجزای اساسی این اپدیت بود. با این حساب میتوان گفت آینده بیت کوین تا حد زیادی به امضای Schnorr و بروزرسانیهای آتی این شبکه بستگی دارد.
نظر شما در مورد امضای اشنور چیست؟ آیا بیت کوین با این تغییرات میتواند بهعنوان ارزی با کاربرد روزمره تبدیل شود؟ نظرات خود را با ما در میان بگذارید.