10 ماه پیش
زمان مطالعه : 10 دقیقه
امضای اشنور چیست؟ و چه مزایایی برای بیت کوین دارد؟
امضای اشنور چه مزایایی دارد؟
امضای اشنور نوعی امضای دیجیتال است که از ایمنی و کارایی بیشتری برای امضای تراکنشها و پیامها برخوردار است. امضای اشنور یک الگوریتم استفاده از رمزنگاری منحنی بیضوی است که به دلیل سادگی خود مشهور است.
سیستم بیتکوین یا به طور کلی تمام ارزهای دیجیتال با مفهوم امضای دیجیتال در آمیخته شده است. دفتر کل بلاکچین مالکیت دارایی دیجیتال را رمزنگاری میکند. بر خلاف مفهوم سنتی مالکیت که از طریق اسناد قانونی و امضاهای فیزیکی اعمال میشود، در ارز دیجیتال، مالکیت توسط یک قطعه داده دیجیتال اثبات میشود. جادوی ریاضیات رمزنگاری برای ایجاد این مکانیزمهای “اثبات مالکیت” دیجیتال یا به عبارت دیگر “امضای دیجیتال” استفاده میشود.
انواع زیادی از الگوریتمهای امضای دیجیتال دارای ویژگیها و مشکل هستند. بیتکوین از الگوریتم معروف ECDSA (Elliptic Curve Digital Signature Algorithm) به نام الگوریتم امضای دیجیتال منحنی بیضی استفاده میکند که توسط ساتوشی ناکاموتو طراحی انتخاب شده است. در حال حاضر، بزرگترین بهروزرسانی جامعه بیت کوین تپ روت است و دارای انجام چندین بهروزرسانی مختلف است. یکی از این به روز رستنی ها اشنور است که یک الگوریتم جدید امضای دیجیتال است. این الگوریتم دارای مزایای بسیاری است که ECDSA فاقد آنهاست.
تراکنش های بیت کوین چگونه انجام میشوند؟
تراکنشهای بیتکوین مانند بانک، بر اساس موجودی حساب انجام نمیشوند.
در این رابطه بخوانید : اتریوم چیست و چگونه کار میکند؟
بلکه، تراکنشها حول خروجیهای خرج نشده تراکنشها (UTXOs) صورت میگیرند که شامل ورودیها و خروجیها هستند. هر خروجی خرج نشده با یک کلید خصوصی و دادههای تراکنش مرتبط با آن همراه است. هنگام انتقال بیتکوین، شما در حقیقت مالکیت یک خروجی خرج نشده را انتقال میدهید که میتوانید آن را با یک امضای رمزنگاری شده اثبات کنید.
UTXOها توسط اسکریپت بیتکوین (Script) نامگذاری میشوند. اسکریپت، زبان برنامه نویسی هست که برای پردازش تراکنش های شبکه استفاده میشود. این اسکریپتها مجموعه ای از دستورالعمل های برنامه ریزی شده ای هستند که با هر تراکنش انجام شده کار میکنند و نحوه استفاده مالک جدید از کوینها را توصیف میکنند. از طریق استفاده از زبان برنامهنویسی اسکریپت، تراکنشها میتوانند دارای شرایط مختلفی از جمله طرحهای چند امضایی (multi-signature یا multi-sig) باشند.
ورودی ها (Inputs) خروجی خرج نشده یک تراکنش هستند، در حالیکه خروجیها (Outputs) به UTXOهایی اشاره دارند که توسط یک تراکنش ایجاد میشوند. به عنوان مثال، هنگامی که یک تراکنش بیتکوین جدید ایجاد میکنید، از مجموعه UTXOهایی که شما مالک آنها هستید استفاده میکنید و یک شاهد ارائه میدهید که اثبات میکند شما مالک حداقل یکی از این کوینها هستید. برای امضا و تأیید تراکنش، امضای دیجیتال مرتبط با کلید خصوصی خود را ارائه میدهید تا اثبات کنید شما مالک هستید.
خروجی های تراکنش شامل دو بخش، مقدار بیتکوین و یک اسکریپت قفلگذاری (یا scriptPubKey)،هستند. اسکریپت قفلگذاری، مقدار را با تعیین شرایط خاصی برای هزینه کردن خروجی، قفل میکند. اسکریپت قفلگذاری خروجی را در آدرس مالک جدید بیتکوینها قفل کند.
مالک جدید میتواند با ارائه یک اسکریپت باز کننده (یا scriptSig) به همراه امضایی که با کلید خصوصی او مرتبط است، خروجی را باز کند و سپس این کوینها را خرج کند. اسکریپتهای باز کننده جزو هر ورودی تراکنش هستند.
برای جلوگیری از خرج کردن UTXOهایی که مالک آنها نیستید، کلاینتهای بیتکوین تراکنشها را با اجرای یک اسکریپت تأیید میکنند. فول نودها (Full nodes) با ردیابی و تأیید مجموعه خروجی خرج نشده را پیگیری میکنند، و اطمینان حاصل میکنند هر فرد تنها میتواند کوینهایی را خرج کند که مالک آن هاست.
مثال
برای درک چگونگی عملکرد تراکنشهای بیتکوین، نمودار زیر را مشاهده کنید.
الیس میخواهد به باب 1 بیتکوین پرداخت کند و برای انجام این کار، یک تراکنش با استفاده از آدرس عمومی باب ایجاد میکند. برای انتقال کوینها، الیس امضای دیجیتال خود را (که نتیجهای از کلید خصوصی و تاریخچه داده تراکنش است) ارائه میدهد تا اثبات کند که حداقل 1 بیتکوین در مجموعه خروجی خرج نشده خود دارد؛ بدون اینکه کلید خصوصی خود را فاش کند.
به عنوان یک بخش از تراکنش، یک اسکریپت قفل گذاری وجود دارد که تنها باب قادر به باز کردن آن است. هنگامی که تراکنش ارسال شده و به بلاکچین بیتکوین افزوده میشود، UTXOها منتقل میشوند. باب با ارائه امضای خود، میتواند یک اسکریپت قفل گذاری (یا scriptPubKey) را حذف کند و میتواند از خروجی خرج نشده به عنوان یک ورودی به یک تراکنش استفاده کند.
همچنین بخوانید : گپ بیت کوین در CME چیست و چگونه از آن در معاملات استفاده کنیم؟
رایجترین و ابتداییترین شکل تراکنشهای بیتکوین از اسکریپت Pay-to-Public-Key Hash (P2PKH) استفاده میکنند. زبان اسکریپت بیتکوین از دستوراتی استفاده میکند که دستوراالعمل های ثبتشده در هر تراکنش را برای تراکنشهای پیچیدهتر مشخص میکنند. زبان اسکریپت بیتکوین به عنوان OP_CODEها، به ما این امکان را میدهند که شرایط خاصی برای انتقال مالکیت کوینها تنظیم کنیم.
به عنوان مثال، یک طرح چند امضا (مخفف multi-sig) میتواند مشخص کند که باید 3 تا از 5 شرکتکننده امضای خود را ارائه دهند تا بتوانند کوینها را خرج کنند. یک مثال دیگر استفاده از قفلهای زمانی (مانند nLockTime) است که کوینها را تا یک زمان مشخص در آینده قفل میکند.
نوع پیشرفتهتر دیگری از تراکنش، Pay-to-Script-Hash (P2SH) است که به فرستنده اجازه میدهد تا مبالغی را به یک هش از یک اسکریپت معتبر دلخواه اختصاص دهد. موارد استفاده از P2SH شامل چند امضا و تراکنشهای غیر Native SegWit هستند.
اسکریپت قفل گذاری در یک تراکنش P2SH توسط ‘اسکریپت تقدیر’ (redeem script) جایگزین میشود. هنگامی که مالک کوینها آنها را خرج میکند، تمام اسکریپتها و راه حل اسکریپتی که بیتکوینها را قفل کرده است، فاش میشوند. با استفاده از هش اسکریپت موجود در بلاکچین، هر کسی میتواند شرایط اسکریپت برای خرج کردن آن بیتکوین را بررسی کند.
آدرسهای P2SH با ‘3’ شروع میشوند، اما آدرسهای P2PKH که با ‘1’ شروع میشوند. به همین دلیل، یکی از محدودیت های تراکنشهای P2SH این است که تمام شرایط و هویتهای ممکن در چند امضا فاش میشوند.
از آنجایی که تراکنشهای P2SH به محض خرج شدن کوینها، کل اسکریپت را فاش میکنند، شرکتکنندگان شبکه میتوانند تمام راههای مختلفی که میتوانستند شرایط را برآورده کنند را پیدا کنند (تفاوت بین تراکنشهای چند امضا و تراکنشهای P2PKH را ممکن میسازد). شرکتکنندگان در شبکه همچنین ممکن است بتوانند نوع کیف پول مورد استفاده را نیز حدس بزنند.
یکی از معایب در زمینه مقیاس پیذیری این است که اسکریپتهای پیچیده سایز تراکنش بزرگتری دارند که نیازمند فضای بیشتری در بلاکچین هستند. این امر در نهایت منجر به افزایش هزینه تراکنش میشود.
امضای اشنور (BIP 340)
پیتر ویول در سه بخش از طرح های پیشنهادی برای بهبود بیتکوین که به نام BIP (Bitcoin Improvement Proposal) شناخته میشوند، بخش اول یعنی BIP 340 را ارائه کرده است. این بخش مشخصات یک روش امضای دیجیتال کارآمدتر برای بیتکوین، یعنی امضاهای اشنور (Schnorr signatures) را تعیین میکند.
امضای اشنور چیست؟
امضای اشنور (Schnorr signatures) نوعی امضای دیجیتال است که از ایمنی و کارایی بیشتری برای امضای تراکنشها و پیامها برخوردار است.
امضای اشنور یک الگوریتم استفاده از رمزنگاری منحنی بیضوی است که به دلیل سادگی خود مشهور است. این الگوریتم به عنوان یک بهروزرسانی از الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) در رود مپ تکنولوژی بیتکوین پیشنهاد شد. اشنور اغلب به خاطر داشتن الگوریتم ساده، امنیت اثباتشده و خطی شناخته میشود. با توجه به اینکه اشنور نیاز به محاسبات کمتری نسبت به ECDSA دارد، گزینهای مناسب برای تراکنشهای ارزدیجیتال محسوب میشود.
عملکرد امضای اشنور مشابه الگوریتم امضای دیجیتال منحنیهای بیضوی (ECDSA) است، اما از ویژگیهای بسیاری بهتر نسبت به آن برخوردار است. در واقع، امضای اشنور قبل تر از ECDSA وجود داشته و این امر باعث تعجب بسیاری شده که چرا از ابتدا در بیتکوین گنجانده نشدهاست.
یکی از فرضیه های موجود برای توضیح آن این است که خالق آن یعنی Claus P. Schnorr، آن را ثبت کرده بود. اما در اواخر سال 2008، چند ماه قبل از انتشار کاغذ سفید بیتکوین، این حق ثبت اختراع منقضی شده است. با این حال، این طرح هنوز استاندارد سراسری نداشت. به همین دلیل، ساتوشی ناکاموتو تصمیم گرفت از ECDSA که به صورت گستردهتری (و به صورت متنباز) پذیرفته شده بود، استفاده کند.
امضای اشنور چه مزایایی دارد؟
امضای اشنور از مزیت های بسیاری برخوردار است، از جمله کارآیی بالا و افزایش حریم خصوصی، در حالی که تمام ویژگیها و فرضیات امنیتی ECDSA حفظ میشوند. اشنور امکان ایجاد امضاهای کوچکتر، زمان تأیید سریعتر و مقاومت بهتر در برابر برخی حملات را فراهم میکند.
بزرگترین مزیت امضای اشنور، تجمیع کلیدها (key aggregation) است؛ به عبارت دیگر، امکان تجمیع چند امضا به یک امضای واحد که مجموع کلیدهایش معتبر است. به عبارت دیگر، اشنور به چندین طرف امکان میدهد تا یک امضا ایجاد کنند که برای مجموع کلیدهای عمومی آنها معتبر باشد.
تجمیع کلیدها میتواند هزینههای تراکنش را کاهش دهد و به بهبود قابلیت مقیاس پذیری لایه پایه کمک کند، زیرا امضاهایی که در طرح چند امضایی وجود دارند، همان حجم فضا در یک بلوک را اشغال میکنند که امضاهایی که از یک تراکنش تکطرفه آمده است. این ویژگی اشنور میتواند برای کاهش اندازه پرداختهای چندامضایی و سایر تراکنشهای مرتبط با چندامضایی، مانند تراکنشهای کانال شبکه Lightning، استفاده شود.
یک ویژگی مهم دیگر از امضای اشنور عدم تغییر پذیری (non-malleability) است. در زمینه امضای دیجیتال، تغییرپذیری به قابلیت یک حملهکننده اشاره دارد تا یک امضای معتبر را به گونهای تغییر دهد که امضای تغییر یافته همچنان معتبر باشد و یک پیام متفاوت از پیام اصلی را احراز هویت کند. این امر میتواند برای برنامههای ارزدیجیتال مشکلساز شود، به گونه ای که یک حملهکننده بدخواه میتواند امضای یک تراکنش را تغییر دهد تا مقدار انتقالی افزایش یابد یا مختصات دریافتکننده رمزارز تغییر کند.
اشنور همچنین از مزیت های قابل توجهی در زمینه حریم خصوصی برخوردار است. اشنور یک طرح چندامضایی را مخفی میکند و نمیتوان آن را از یک کلید عمومی عادی قابل تشخیص داد، این امر باعث میشود که کسی نتواند با مشاهده فعالیتهای درون زنجیرهای تراکنش های چندامضایی را از تراکنش فهای یکامضایی تشخیص دهد. علاوه بر این، اشنور در طرح های چندامضایی n از m، امکان تشخیص شرکتکنندگانی که یک تراکنش را امضا کردند را سخت میکند.
امصای اشنور در بیت کوین
امضای اشنور در BIP-340 طی به روز رسانی فورک نرمافزاری تپ روت (Taproot) پیادهسازی شد، که در بلوک 709،632 در تاریخ 14 نوامبر 2021 فعال شد. همانند سایر طرح های بهروزرسانی بیتکوین، تپ روت نیز توسط استخراجکنندگان بیتکوین رأیگیری شد. تپ روت شامل مجموعهای از طرح هایی برای بهبود پروتکل بود که چندین ویژگی جدید را معرفی کرد و نحوه پردازش تراکنشها در بلاکچین را تغییر داد و قابلیتهای اسکریپتنویسی جدیدی را به کاربران ارائه داد. تپروت به عنوان مهمترین بهروزرسانی بیتکوین از زمان بهکارگیری SegWit در سال 2017 در نظر گرفته میشود.
استفاده از اشنور باعث افزایش سرعت، افزایش امنیت، و سهولت در پردازش امضای دیجیتال بیتکوین میشود. به خصوص، امضای اشنور با نسل قبلی الگوریتم رمزنگاری بیتکوین سازگار است، که این امکان را فراهم میکند تا از طریق یک بهروزرسانی سافت فورک، به سیستم بیتکوین معرفی شوند.
مقایسه امضای اشنور با ECDSA
همانطور که اشاره کردیم، امضای اشنور نسبت به ECDSA از مزیت های زیادی برخوردار است، از جمله سایز امضای کوچکتر، زمان تأیید سریعتر و مقاومت بهتر در برابر برخی حملات. امضای اشنور همچنین امکان تجمیع امضا را فراهم میکند که میتواند هزینههای تراکنش را کاهش دهد و قابلیت مقیاس پیذیری را بهبود بخشد.
توجه کنید که اگرچه امضای اشنور ممکن است به عنوان یک گزینه بهتر برای بیتکوین مطرح شود، اما ECDSA همچنان به طور گسترده استفاده میشود و به عنوان یک طرح امضای امن محسوب میشود. انتخاب بین امضای اشنور و ECDSA ممکن است به موارد استفاده و نیازهای امنیتی بستگی داشته باشد.
ترجمه شده توسط محله خبری نیپوتو
خرید و فروش ارزهای دیجیتال از امروز شروع کنید
ممکن است علاقه مند باشید
ثبت دیدگاه
لیست نظرات (0)
انتخاب سردبیر
مفاهیم پایه
بیشتر بخوانید