[ad_1]
فرض کنید که میخواهید از حساب خود در بانک مبلغی را برداشت یا چکی را در وجه کسی صادر کنید. برای اجراییشدن چنین درخواستی، نیاز است که اثبات کنید این درخواست را مالک واقعی دارایی عرضه داده است. این کار با امضا انجام میگردد. در دنیای ارزهای دیجیتال هم، مالکیت افراد بر داراییهای دیجیتال آنها با امضا اثبات میگردد. اما این امضاها از نوع دیجیتال هستند و یکی از انواع آنها امضای اشنور (Schnorr Signature) است.
امضاهای دیجیتال طرحهایی مبتنیبر الگوریتمهای ریاضیاتی هستند که در قالب عبارات رمزنگاریشده تولید میشوند تا اعتبار پیام ارسالی و فرستنده آن را تأیید کنند. الگوریتمهای متفاوتی در حوزه بلاک چین برای پیادهسازی امضای دیجیتال استفاده شده است که یکی از آنها امضای اشنور نام دارد. این امضا سال گذشته با بهروزرسانیای در بلاک چین بیت کوین اعمال شد.
در این مقاله، نیت داریم امضای اشنور و نحوه کار آن را بررسی و مزایا و معایب و فرق آن با الگوریتم امضای قبلی بیت کوین را بیان کنیم. پس تا انتهای مطلب با ما همراه باشید تا ببینیم امضای اشنور چه تغییراتی در بزرگترین بلاک چین جهان ایجاد کرده است.
امضای اشنور (Schnorr Signature) چیست؟
در حقیقت، امضای اشنور امضایی دیجیتال است که براساس الگوریتم اشنور طراحی شده است. سالها پیش از آنکه بیت کوین پا به عرصه بگذارد، رمزنگار آلمانی، کلاوس اشنور (Claus Schnorr)، این الگوریتم را طراحی کرد. بااینحال، زمانیکه ساتوشی ناکاموتو در حال طراحی بیت کوین بود، به امضای اشنور توجهی نشان نداد و از الگوریتم دیگری برای امضای تراکنشهای بیت کوین استفاده کرد.
سالها بعد وقتی بیت کوین جایش را در بازار مالی جهانی باز کرد، پیشرفتدهندگان آن دریافتند که برای پیشرفت کاربرد بیت کوین به راهکارهایی برای افزایش مقیاسپذیری (Scalability) آن نیاز است. در بلاک چین بیت کوین، برای امضای تراکنشها باید انواع ویژهای از تراکنشهای دیگر را هم ایجاد کرد که مانعی درمقابل مقیاسپذیری بیت کوین است؛ اما پیشرفتدهندگان بیت کوین فهمیدند که الگوریتم اشنور میتواند این مشکل را رفع و به مقیاسپذیری ارز دیجیتال برجسته کمک کند.
شایان ذکر است که تراکنشهای بیت کوین بدون امضا اجرا نمیشوند و البته این امضا بخشی از فضای بلاک را هم ازآنِ خود میکند. این مسئله در تراکنشهایی که بیت کوین را از آدرسی به آدرس دیگر انتقال میدهند، مشکلی ایجاد نمیکند؛ بلکه مشکل در تراکنشهایی است که در آنها انتقال از چند آدرس به یک آدرس انجام میگردد.
برای انجام موفقیتآمیز تراکنش، هریک از آدرسهای فرستنده باید یک امضا ارسال کنند. فرض کنید که پنج آدرس بیت کوین دارید و میخواهید از هر آدرس یک بیت کوین به آدرس دوستتان بفرستید. برای انجام این تراکنش، باید پنج امضا ارسال کنید که فضای لازم برای آن پنج برابر یک تراکنش عادی است. این تراکنش در کنار اشغال فضای بیشتر در بلاک چین کارمزد بیشتری دارد؛ اما امضای اشنور این مشکل را با ادغام امضاهای چندگانه و تبدیل آنها به یک امضا حل میکند.
امضای اشنور چگونه کار میکند؟
کارکرد اصلی امضای اشنور این است که چند کاربر بتوانند با استفاده از آن یک امضای واحد را برای همه کسانی که امضای آنها موردنیاز است، ایجاد کنند. این کار سبب میگردد.که اندازه تراکنشها و تعداد امضاهای لازم برای انجام تراکنش کاهش یابد. برای اینکه نحوه کار امضای اشنور را بدانیم، باید با الگوریتم اصلی امضا در بلاک چین بیت کوین آشنا شویم.
سیستم بیت کوین از امضای دیجیتالی با نام ECDSA برای اثبات مالکیت کاربران بر مقدار بیت کوین انتقالی استفاده میکند. هربار که کاربری میخواهد تراکنشی را اجرا کند، باید امضایی فراهم کند که مالکیتش را بر بیت کوین انتقالی تأیید کند. در هر تراکنش، بخشی وجود دارد که نحوه خرجکردن ورودی تراکنش را مشخص میکند و میتواند شرایطی مثل قفل زمانی (Time Lock) یا تعداد امضاها را مشخص کند.
وقتی تراکنشی راجع به یک کیف پول چندامضایی باشد، در این بخش از تراکنش مشخص میگردد.که چند امضا برای اجراییشدن آن ضروری است. به عنوان نمونه، شاید یک کیف پول چهارامضایی طوری تنظیم شده باشد که با سه امضا امکان اجرای تراکنش را داشته باشد.
در امضای ECDSA، لازم است که بهازای هر امضا یک تراکنش ایجاد شود؛ یعنی مثلاً برای تراکنشی که به سه امضا از چهار امضا نیاز دارد، باید حداقل سه تراکنش ایجاد شود. ناگفته مشخص است که هزینه کارمزد چنین انتقالی چقدر میتواند زیاد باشد؛ چراکه هر تراکنش کارمزدی جداگانه در شبکه دارد.
با این توضیح، حتماً خودتان حدس میزنید که الگوریتم امضای اشنور چگونه کار میکند. درست است! این الگوریتم امضاهای چندگانه را باهم ترکیب و آنها را در قالب یک امضا وارد تراکنش میکند. بهبیان دیگر، ورودی الگوریتم امضای اشنور هر تعداد امضا که باشد، خروجی آن یک امضای رمزنگاریشده حاوی همه آن امضاها خواهد بود.
فرق امضای اشنور با ECDSA
همانطورکه گفتیم، بیت کوین هماکنون از امضای ECDSA مخفف عبارت Elliptic Curve Digital Signature Algorithm بهمعنای «الگوریتم امضای دیجیتال منحنی بیضوی (بیضیگون)» استفاده میکند. اگر بخواهیم وارد مباحث فنی نشویم، ECDSA بهروشخلاصه امضایی دیجیتالی است که با استفاده از الگوریتمی موسوم به منحنی بیضوی (Elliptic Curve)، پیامهای رمزگذاریشده میسازد.
بیت کوین با استفاده از این امضا به کاربرانش امکان میدهد تا بتوانند مالکیت خود را بر داراییهایی که در آدرس بیتکوینشان قرار دارد، اثبات کنند. اثبات مالکیت، زمانی لازم میگردد.که کاربر با کلید خصوصی خود تراکنشی را میسازد و میخواهد ازطریق کلید عمومیاش آن را انتشار دهد. درواقع، کاربران بیت کوین با استفاده از امضای ECDSA میتوانند بفهمند که هر انتقال از آدرسی به آدرس دیگر به موجب مالک واقعی انجام شده است یا خیر.
فرق در حجم فایل
در بین پیشرفتدهندگان، این استدلال مطرح است که امضای اشنور میتواند نمونه پیشرفتهتر همان امضای ECDSA بهحساب بیاید؛ چراکه دقیقاً همان کار را میکند، فقط حجم فایل کمتری دارد و حریم خصوصی آن قویتر است. حالا با مثالی این مسئله را بیشتر بررسی میکنیم.
فرض کنید کیف پولی چندامضایی داریم و از امضای ECDSA استفاده میکنیم. این کیف پول برای انجام تراکنش به امضای دو آدرس از سه آدرسِ مرتبط با خود نیاز دارد. در چنین شرایطی، چندامضاییبودنِ تراکنش، کلیدهای عمومی، همه آدرسهای ورودی و آدرس خروجی مرتبط با آن امضاها در شبکه برای همه مشاهدهپذیر خواهد بود. این مسئله حریم خصوصی تراکنشها و کاربران را کاهش میدهد.
حالا اگر همین کار را با استفاده از امضای اشنور انجام دهیم، کلیدهای عمومیِ استفادهشده بهشکل آدرسی تکی ظاهر خواهد شد. وقتی این تراکنش در شبکه منتشر شود، ظاهر آنطوری خواهد بود که گویی فقط یک تراکنش عادی میان دو نفر است. آنچه با امضای اشنور در شبکه مشاهدهشدنی است، دو آدرس عمومی و یک ارسالکننده و یک دریافتکننده است.
ضمناً، ازآنجاکه حجم داده ارسالی به شبکه کمتر است، کاربران کارمزد تراکنش کمتری میپردازند؛ چون فضای اشغالشده در بلاک هم در مشخص کارمزد تراکنش مؤثر است. در کناراین، وقتی حجم اطلاعات بلاک کاهش یابد، فضای بیشتری باقی میماند و میتوان تراکنشهای بیشتری را در هر بلاک جا داد.
فرق در شکلپذیری
فرق دیگر امضای اشنور با ECDSA در چیزی است که به آن شکلپذیری یا چکشخواری (Malleability) میگویند. امضای دیجیتال بهشکل یک هش رمزنگاریشده از تراکنش ایجاد میگردد. این سبب میگردد.که بتوانیم برای تشخیص تراکنشها از یکدیگر، بهجای بررسی جزئیات تراکنش فقط هشها را باهم مقایسه کنیم.
امضاها کاملاً منحصربهفرد هستند؛ اما شکلپذیری تراکنش این امکان را میدهد که بتوان با استفاده از روشهای خاصی، یک امضا را تغییر داد، بدون آنکه تراکنش نامعتبر شود. طراحی ECDSA طوری است که تغییر امضا را بدون نامعتبرکردن تراکنش میسرمیکند. چنین نقصی پیامدهای خسارتباری دارد.
برای نمونه، فرض کنید پویا مقداری بیت کوین را با امضای ABC برای مهسا ارسال میکند. اگر این امضا در حمله شکلپذیری (Malleability Attack) به ABZ تغییر کند، پویا دیگر نمیتواند مطمئن شود که مهسا بیت کوین ارسالی را دریافت کرده است یا نه. این حفره به مهسا کمک میکند تا از پویا بخواهد که تراکنش را دوباره ارسال کند. این در حالی است که تراکنش قبلی علیرقم تغییر امضا کماکان معتبر است و مهسا مبلغ را دو بار دریافت میکند.
امضای اشنور برای رفع این مشکل اطلاعات راجع به امضا را به بخشی جدا در تراکنشها منتقل میکند؛ ازاینرو، ساختار داده مفرقی برای راستیآزمایی تراکنشها بهکار میرود که سبب میگردد.شکلپذیری تراکنش از بین برود.
مزایا و معایب امضای اشنور
در بخشهای پیشین این مقاله که درباره هویت امضای اشنور و فرق آن با امضای ECDSA بود، تعدادی از مزایای امضای اشنور را گفتیم. حالا در این قسمت، میخواهیم مزایا و معایب آن را دقیقتر بررسی کنیم.
مزایا
۱. افزایش حریم خصوصی: یکی از مزایای امضای اشنور این است که حریم خصوصی را در شبکه ارتقا میدهد. همانطورکه در گذشته گفتیم، امضای اشنور سبب میگردد.که همه تراکنشها در شبکه مثل تراکنشهای عادی تکامضایی دیده شوند و تراکنشهای چندامضایی و تکامضایی فرقی باهم نداشته باشند.
۲. کاهش کارمزد: امضای اشنور فضای موردنیاز برای تراکنشهای چندامضایی را تا ۲۵درصد کاهش میدهد. بدینترتیب، اندازه تراکنش در داخل بلاک کاهش مییابد و فضای کافی برای گنجاندن تراکنشهای بیشتر در بلاک آماده میگردد. صرفهجویی در فضای بلاک بهنوبه خود کارمزد تراکنش را کاهش میدهد.
۳. افزایش مقیاسپذیری: دیگر برتری امضای اشنور که به همان کاهش اندازه تراکنش مربوط میگردد. این است که مقیاسپذیری شبکه را افزایش میدهد. اینکه کاهش اندازه تراکنش سبب میگردد.تعداد تراکنشهای بیشتری در یک بلاک جای گیرد، بدینگونه است که شبکه امکان پردازش تعداد تراکنش بیشتری دارد.
۴. افزایش سرعت پردازش تراکنش: کاهش اندازه تراکنش که صرفهجویی در فضای بلاک و افزایش تعداد تراکنشها را در پی دارد، سبب میگردد.که سرعت اعتبارسنجی و تأیید تراکنشها بیشتر شود. ازاینرو، زمان توقع برای تأیید تراکنش در شبکه کاهش برجستهی مییابد.
۵. رفع مشکل شکلپذیری: امضای اشنور مشکل شکلپذیری تراکنش را رفع میکند تا هیچکسی امکان تغییر امضا و تحمیل پرداخت مضاعف به دیگران را نداشته باشد.
۶. تسهیل اعمال تپروت (Taproot): امضای اشنور یکی از بخشهای ضروریِ بهروزرسانی تپروت در شبکه بیت کوین است. این بهروزرسانی مقیاسپذیری و حریم خصوصی بیت کوین را افزایش داده و امکان قراردادهای هوشمند را در این شبکه فعال کرده است.
معایب
۱. ضرورت تأیید کلید عمومی: درصورت استفاده از امضای اشنور در تراکنشها، هریک از مشارکتکنندگان در تراکنش باید اعتبار کلید عمومی خود را اثبات کند. این کار ازطریق امضایی با کلید خصوصی متناظر همان کلید عمومی انجام میگردد.
۲. امکان جعل کلید عمومی: در امضای اشنور، مشارکتکننده میتواند یک کلید عمومی تقلبی ایجاد کند و از این طریق تراکنشی چندامضایی را در کنترل خود درآورد.
علت اهمیت امضای اشنور برای بیت کوین
یکی از رویدادهای مهمی که بیت کوین بعد از اِعمال سگویت (Segwit) در سال ۲۰۱۷ تجربه کرد، بهروزرسانی تپروت است. تپروت ارتقای سافت فورکی در بلاک چین بیت کوین است که با هدف تقویت حریم خصوصی با ادغام امضاهای چندگانه در یک امضا و فعالسازی امکان قراردادهای هوشمند در این شبکه اعمال شد.
اهمیت امضای اشنور در این است که بهعنوان یکی از پایههای ارتقای تپروت، تسهیلکننده بخش مهمی از اهداف این طرح ارتقا بوده است. از دیدگاه فنی، تپروت ارتقایی است که روی «درخت نحو انتزاعی مرکلیشده» یا Merklized Abstract Syntax Trees (بهاختصار MAST) اِعمال میگردد.و از حجم اطلاعات تراکنشها و کارمزد آنها میکاهد.
در تراکنشهایی که با امضاهای چندگانه و قفلهای زمانی سروکار دارند، برای پنهانکردن هویت کاربران باید چندین تراکنش ایجاد شود که به هزینه و حجم داده بیشتر منجر میگردد. این هم بهنوبه خود مقیاسپذیری بیت کوین را ازلحاظ تعداد تراکنش در هر ثانیه محدود میکند. طرح ارتقای تپروت این مشکل را ازطریق امضای اشنور حل میکند؛ بدینشکل که همه امضاهای لازم برای تراکنش را در قالب یک امضا اجرا میکند.
تپروت و امضای اشنور بهعنوان دو طرحی که مکمل یکدیگر هستند، شروع عصری جدید برای بیت کوین و دیگر ارزهای دیجیتال بهشمار میجریان. الگوریتم امضای اشنور در کنار تقویت حریم خصوصی و افزایش مقیاسپذیری شبکه، راه را برای پیشرفتهای آینده بیت کوین هم هموار میکند. نکته دیگر اینکه پیشرفتدهندگان بیت کوین آن را در دیگر راهکارها مثل اتمیک سواپ (Atomic swap) و شبکه لایتنینگ (Lightning Network) هم میتوانند بهکار گیرند.
جمعبندی
در این مقاله، یکی از انواع امضاهای دیجیتال با نام اشنور را بررسی کردیم که سال گذشته با بهروزرسانی تپروت در شبکه بیت کوین اعمال شد. درعینحال، اشاره کردیم که کارکرد اصلی امضای اشنور در شبکه بیت کوین این است که امضاهای چندگانه را ادغام میکند و در قالب یک امضا در تراکنش قرار میدهد.
همین امکان مزایای فراوانی برای شبکه بیت کوین بهارمغان میآورد که تقویت حریم خصوصی کاربران و کاهش کارمزدها و حجم داده تراکنشها بخشی از آن است. کاهش حجم اشغالی تراکنشها در فضای بلاک خودبهخود سبب افزایش مقیاسپذیری بیت کوین میگردد.که نکته مهمی برای این بلاک چین بهشمار میرود. نکته مهم درباره الگوریتم امضای اشنور این است که در کنار برتریهای کنونیاش در بلاک چین، میتواند وظیفه مهمی در پیشرفت آینده این ارز دیجیتال ایفا کند.