حریم خصوصی معاملات یکی از برجستهترین ویژگیهای کریپتوکارنسی است. با توجه به اینکه اکثر تراکنشهای ارزهای دیجیتال در بلاکچینهای عمومی هستند؛ حریم خصوصی کاربران را محدود میکنند. برای حل این مشکل، ارز دیجیتال Monero که متمرکز بر حریم خصوصی است از امضای حلقوی یا ring signature برای فعال کردن تراکنشهای ناشناس استفاده میکند.
اطلاعات تراکنشها از سوی یک الگوریتم رمزنگاری به عنوان یک پیام اصلی محاسبه میشود و سپس کلید خصوصی حلقهای امضا و تایید میگردد. در واقع امضای حلقوی (Ring Signature) تکنیک امنیتی است که برای تضمین اصالت و امنیت تراکنشها استفاده میشود.
ما در این مقاله به توضیح امضاهای حلقوی میپردازیم و چگونگی کارکرد این فرایند را بررسی میکنیم.
معرفی امضا حلقوی (Ring Signature)
امضای حلقوی (Ring Signature) یک تکنیک امضای دیجیتال رمزنگاری است که با پنهان کردن هویت امضاکننده، حریم خصوصی و امنیت معاملات را افزایش میدهد. امضاهای دیجیتال به طور سنتی، به یک کلید مرتبط میشوند که به یک کاربر خاص تعلق دارد. در نتیجه، به طور بالقوه حریم خصوصی را به خطر میاندازد.
با این حال، امضاهای حلقوی، که توسط گروه Rivest، Shamir و (Tauman (RST معرفی شدهاند، به پیامها اجازه میدهند تا به طور جمعی توسط گروهی از کاربران امضا شوند. در نتیجه، تعیین اینکه کدام فرد در گروه پیام را امضا کرده است، غیرممکن میشود.
این ناشناس بودن به ویژه در کریپتوکارنسی، جایی که از امضای حلقوی برای اطمینان از محرمانه بودن تراکنشها استفاده می شود، برای حفظ حریم خصوصی ارزشمند است. در طرح امضای حلقوی، هویت طرفین درگیر در یک تراکنش پنهان میشود و شناسایی فرستنده و گیرنده را تقریبا غیرممکن میکند. در نتیجه، حتی اگر نفر سومی معامله را تجزیه و تحلیل کند، نمی تواند هویت واقعی طرفین درگیر را تشخیص دهد.
با این حال، سازمانهای دولتی علیرغم امنیت رمزنگاری قوی ارائه شده توسط امضاهای حلقوی (Ring Signature) ، آنها را زیر نظر دارند. این سازمانها نگران سوء استفاده احتمالی آنها برای فعالیتهای غیرقانونی مانند فرار مالیاتی، پولشویی و تامین مالی تروریسم هستند. در نتیجه، سازمانهای دولتی تلاش میکنند تا با توسعه روشهایی برای شناسایی مشارکتکنندگان واقعی به ماهیت آنها پی ببرند.
طرز کار امضا حلقوی (Ring Signature) چگونه است؟
هر یک از اعضای یک گروه، جفت کلید عمومی/خصوصی خود را تولید میکنند. این کلیدها شامل یک کلید عمومی (P) و یک کلید خصوصی (S) است. بنابراین، برای یک گروه از n عضو، n جفت کلید عمومی/خصوصی وجود دارد: (P1، S1)، (P2، S2)، …، (Pn، Sn).
این فرآیند دارای مراحل زیر است:
۱- هش کردن پیام (k=Hash (پیام)):
کاربر X فرآیند را با هش کردن پیامی که میخواهد امضا کند، شروع میکند. این فرآیند هش کردن یک کلید منحصر به فرد (k) بر اساس پیام ایجاد میکند.
۲- تولید مقدار تصادفی (u):
او یک مقدار تصادفی (u) تولید میکند. این مقدار برای پنهان کردن امضا و اطمینان از منحصر به فرد بودن آن استفاده میشود.
۳- رمزگذاری ((v=Ek(u):
کاربر X مقدار تصادفی (u) را با استفاده از یک الگوریتم رمزگذاری متقارن با کلید تولید شده از هش پیام (k) رمزگذاری میکند. در نتیجه، این یک مقدار رمزگذاری شده (v) تولید میکند.
رمزگذاری مقادیر تصادفی برای سایر شرکت کنندگان:
او برای هر شرکت کننده (به غیر از کاربر X)، مراحل زیر را انجام میدهد:
محاسبه (e=si^{Pi} (mod Ni:
کاربر X مقدار (e) را با بالا بردن کلید مخفی (si) بهطور تصادفی به توان کلید عمومی مربوط به شرکتکننده (Pi) محاسبه میکند، مدول مدول شرکتکننده (Ni).
ترکیب مقادیر رمزگذاری شده (v=v⊕e):
او مقدار رمزگذاری شده (v) را با مقدار محاسبه شده (e) با استفاده از یک عملیات OR (⊕) منحصر به فرد ترکیب میکند.
محاسبه کلید طرف امضاکننده (sz=(v⊕u)^d (mod Nz)):
کاربر X (طرف امضاکننده)، کلید امضای خود (sz) را با انجام محاسبات زیر محاسبه میکند؛
- او مقدار رمزگذاری شده نهایی (v) را با مقدار تصادفی اصلی (u) با استفاده از یک OR انحصاری بیتی (⊕) ترکیب میکند.
- سپس نتیجه را به قدرت کلید خصوصی خود (d) یعنی مدول مدول خود (Nz) افزایش میدهد، تا کلید امضایش را بدست آورد.
انتشار امضا
کاربر X امضای کلی را آزاد می کند که شامل مقدار رمزگذاری شده (v)، مقدار تصادفی (u) و کلید امضای محاسبه شده (sz) است.
فرآیند تأیید
برای تایید امضا، یک گیرنده به سادگی حلقه را با استفاده از اطلاعات ارائه شده (مقدار رمزگذاری شده، مقدار تصادفی، کلید امضا) محاسبه و بررسی میکند که نتیجه با امضای ارسال شده مطابقت داشته باشد.
مثالهایی از امضا حلقوی
اجازه دهید به چند نمونه از امضاهای حلقوی نگاهی بیندازیم تا مفهوم آن را راحتتر درک کنیم:
مثال 1 امضا حلقوی
فرض کنید توماس یک معاملهگر در بازار کریپتوکارنسی است که عمدتاً ارزهای دیجیتال را معامله میکند. او بیش از چهار سال است که این کار را انجام میدهد. با این حال، تنها مشکل او حریم خصوصی بود.
توماس هر زمان که سعی میکرد با یک پلتفرم خاص برنامههای خود را انجام دهد، همیشه خطر حملات سایبری برایش وجود داشت. بنابراین، او تصمیم گرفت تا امضای حلقوی را در معاملات خود به کار ببرد. در نتیجه، او به شبکه Monero تغییر مکان داد.
در اینجا، توماس گزینهای برای پنهان کردن هویت واقعی خود در زمان استفاده از این امضاها داشت. پس از چند روز، او پلتفرم را برای انجام معامله امتحان کرد. هدف توماس ارسال 20 بیت کوین از طریق بلاکچین برای جسی بود. بنابراین، او معامله را آغاز و این امضاها را انتخاب کرد. سپس، بلاکچین لیستی تصادفی از کلیدهای عمومی تراکنشهای گذشته را جمع آوری کرد و به توماس ارائه داد.
در نتیجه، او توانست حلقهای از کلیدهای عمومی خاص را بسازد. او با کلید خصوصی خود امضایی ایجاد کرد و آن را برای جسی فرستاد. در همان زمان، یک امضای دیگر از کلید عمومی کاربر B و C اضافه شد. در نهایت، بلاکچین همه اینها را ترکیب کرد تا یک امضا تشکیل دهد. بنابراین، حدس زدن افراد اصلی (توماس و جسی) برای بدخواهان غیرممکن شد.
مثال 2
گروهی از افراد را تصور کنید که هر کدام دارای یک جفت کلید عمومی/خصوصی در یک شبکه رمزنگاری متمرکز بر حریم خصوصی هستند. حال، فرض کنید آلیس میخواهد یک تراکنش را بدون افشای هویت خود ارسال کند. او یک امضای حلقوی برای رسیدن به این هدف، ایجاد میکند. آلیس گروهی از کلیدهای عمومی، از جمله کلیدهای خود و سایر کاربران را انتخاب کرده و حلقهای از امضاکنندگان بالقوه را تشکیل میدهد.
وقتی آلیس تراکنش را امضا میکند، الگوریتم امضای حلقوی، کلید خصوصی او را با کلیدهای عمومی دیگر در حلقه ترکیب میکند تا یک امضا ایجاد شود. این امضا برای کل گروه معتبر است، اما کلید خصوصی استفاده شده را فاش نمیکند. به بیان دیگر، هر کسی که امضا را تایید میکند اعتبار آن را بدون مشخص کردن دقیق فرد امضاکننده معامله، تأیید کردهاست. به این ترتیب، امضاهای حلقوی باعث ایجاد لایهای از ناشناس بودن در گروه میشوند و به ویژگیهای حریم خصوصی ارز دیجیتال کمک میکنند.
مزایا و معایب امضای حلقوی
با توجه به توضیحاتی که در مورد امضای حلقوی دادیم، در این بخش به بررسی مزایا و معایب آن میپردازیم.
| مزایا | معایب |
| حفظ حریم خصوصی تراکنشها و ناشناس بودن کاربر | ازدحام شبکه و کاهش سرعت تراکنشها |
| افزایش امنیت و عدم دسترسی نفر سوم برای دستکاری امضاهای حلقوی | کارمزدهای بالا |
| ایجاد برنامههای کاربردی فراتر از تراکنشها مانند سیستمهای رای گیری، احراز هویت گروهی | ردیابی تراکنشها در گروههای کوچک |
| دشواری ردیابی تراکنشها برای هکرها | چالشی بودن مدیریت کلیدهای درون یک حلقه |
چه ارزهای دیجیتالی از امضا حلقوی (Ring Signature) استفاده میکنند؟
در این بخش به بررسی ارزهای دیجیتالی میپردازیم که از امضای حلقوی (Ring Signature) استفاده میکنند.
۱- بیتکوین و امضای حلقوی
بیت کوین از امضای حلقوی برای محافظت از حریم خصوصی کاربران استفاده میکند. آنها به یک تراکنش اجازه میدهند که چندین نفر آن را امضا کنند و تعیین امضاکننده واقعی تراکنش را عملا غیر ممکن میسازند.
کاربرانی که قصد ارسال تراکنش را دارند با استفاده از کلید خصوصی خود، یک امضای دیجیتال ایجاد میکنند. سپس این امضا با کلیدهای عمومی سایر کاربران در فرآیندی به نام زنگ (ringing) ترکیب میشود. در نتیجه، این امضا نشان نمیدهد که کدام شرکتکنندگان معامله را امضا کردهاند.
سپس تراکنش در شبکه بیتکوین توسط ماینر تأیید میشود. ماینرها اعتبار امضا و مقدار بیت کوین ارسالی را بررسی میکنند. در صورتی که امضا و مبلغ آن صحیح باشد، تراکنش به بلاکچین اضافه میشود. با استفاده از امضاهای حلقوی، بیتکوین ضمانت میکند که هویت فرستنده تراکنش حفظ میشود. بنابراین، کاربران بدون ترس از افشای هویت خود، تراکنش را انجام میدهند.
۲- اتریوم و امضا حلقوی (Ring Signature)
اتریوم نیز از امضای حلقوی برای محافظت از حریم خصوصی کاربران خود استفاده میکند. تراکنشهای اتریوم با استفاده از فرآیندی مشابه بیتکوین امضا میشوند.
یک کاربر با استفاده از کلید خصوصی خود یک امضای دیجیتال را ایجاد و آن را با کلیدهای عمومی سایر کاربران در یک حلقه ترکیب میکند. نتیجه آن امضایی است که به شبکه اتریوم وارد میشود. اعتبار سنجیها، اعتبار امضا و مقدار اتر ارسالی را قبل از افزودن تراکنش به بلاکچین بررسی میکنند. اتریوم با استفاده از امضای حلقوی، تضمین میکند که هویت فرستنده تراکنش ناشناس باقی میماند.
۳- امضا حلقوی در Monero
امضای حلقوی (Ring Signature) نقشی اساسی در حفظ حریم خصوصی و ناشناس بودن تراکنشهای مونرو دارد. مونرو با استفاده از حلقهای از امضاکنندگان بالقوه، که شامل ورودیهای قانونی فرستنده و خروجی تراکنشهای گذشته است، منبع واقعی وجوه را پنهان میکند. این کار تضمین میکند که ناظران خارجی توانایی ردیابی تراکنشها را به مبدا آنها ندارند. در نتیجه، از حریم خصوصی کاربران محافظت میشود.
علاوه بر این، روش توزیع مثلثی (که برای انتخاب کلیدهای عمومی حلقه استفاده میشود)، اعتبار همه امضاکنندگان را به یک اندازه تضمین میکند. به بیان دیگر، تشخیص فرستنده واقعی را برای طرفهای خارجی غیرممکن میسازد. در نتیجه، امضاهای حلقوی مونرو حریم خصوصی تراکنشها را فراهم میکند.
علاوه بر این، امضاهای حلقوی محدودیت بسیاری از ارزهای دیجیتال که در آن مبالغ تراکنش و هویت فرستنده و گیرنده مشخص نیست را برطرف میکند. این تکنیک رمزنگاری، همراه با نوآوریهای بعدی مانند امضاهای گروهی ناشناس خودبهخودی، چندلایه و پیوندپذیر (RingCT)، ویژگیهای حریم خصوصی Monero را بیشتر میکند.
مبالغ تراکنش با RingCT، نه تنها پنهان میشود، بلکه هویت پرداختکننده و گیرنده نیز مخفی میماند. در واقع، مونرو با ادغام چنین فناوری تقویتکننده حریم خصوصی، بر تعهد خود به ارتقای حریم خصوصی به عنوان یک حق اساسی در حوزه تراکنشهای ارزهای دیجیتال تاکید میکند.
برنامههای کاربردی مربوط به امضا حلقوی
با محبوبیت امضاهای حلقوی، اهمیت آن در بعضی از پلتفرمها نیز افزایش یافتهاست. بیایید به آنها نگاهی بیندازیم:
ارزهای دیجیتال
یکی از پیامدهای مهم این امضاها، در شبکههای بلاکچین قابل مشاهدهاست. این مورد به فریب مهاجمان سایبری در مورد تراکنشها کمک میکند. کاربران با این امضاها هویت خود را هنگام برخورد با سایر کاربران پنهان میکنند. در نتیجه، این ناشناس بودن از سرقت وجوه رمزنگاری ذخیره شده در کیف پول جلوگیری میکند. به عنوان مثال، بیتکوین، اتریوم و مونرو بلاکچینهای محبوب با این ویژگی هستند.
گزارش فساد و نقض قانون
دلیل اصلی وجود امضاهای حلقوی، مورد معروف کاخ سفید است. در آن زمان، برخی از اطلاعات محرمانه دولت فدرال به طور ناشناس فاش شد. در نتیجه، رمزنگاران این تکنیک را برای افشاگری پیشنهاد کردند. در نتیجه، سازمانها و شرکتهای بزرگ میتوانند این حالت را پیادهسازی کنند.
برگههای رایگیری
دولتها میتوانند در مورد استفاده از امضای حلقوی (Ring Signature) در سیستمهای رایگیری تصمیم بگیرند. به عنوان مثال، فهرست رایدهندگان میتواند یک حلقه (یا گروه) تشکیل دهد و آرای مربوط به آنها در پایان ترکیب شود. در نتیجه، ردیابی هویت رایدهنده دشوار است. علاوه بر این، ناشناس بودن و حریم خصوصی فرآیند حفظ میشود.
پروتکلهای پیامرسانی
برنامههای کاربردی رسانههای اجتماعی میتوانند این امضاها را در سیستمهای پیامرسانی، ایجاد کنند. برای مثال، شرکتها برای دریافت بازخورد مؤثر از کارمندان خود میتوانند چنین حلقههایی را ایجاد کنند.
جمع بندی
امضای حلقوی نشاندهنده یک ابزار رمزنگاری قدرتمند است که امضای ناشناس را در یک گروه امکانپذیر میکند. امضاهای حلقوی که از فعالیت پیشگامان آن یعنی Rivest، Shamir و Tauman سرچشمه میگیرد، تبدیل به سنگبنای شیوههای مدرن امنیت سایبری شدهاست. در نتیجه، اهمیت امضای حلقوی (Ring Signature) را در حفظ حریم خصوصی و محرمانه بودن نمیتوان در نظر نگرفت.
سوالات متداول
آیا امضاهای حلقوی (Ring Signature) ایمنتر از zk-snarks هستند؟
امضاهای حلقوی قدیمیتر از zk-snarks هستند. در نتیجه، دومی در هنگام استقرار ایمنتر است. با این حال، zk-snarks نیاز به یک راهاندازی پیچیده و بار محاسباتی دارد. در مقابل، حلقهها به راحتی اجرا میشوند.
چه کسی از امضای حلقوی (Ring Signature) در رمزنگاری استفاده میکند؟
به طور عمده، توسعهدهندگان نرم افزار از امضای حلقوی (Ring Signature) برای ایجاد لایههای امنیتی پروتکلها استفاده میکنند.
در تراکنش مونرو چند امضای حلقوی لازم است؟
معمولا یک امضا برای امضای معامله کافی است.
اندازه حلقه در شبکه مونرو چقدر است؟
اندازه حلقه در رمزنگاری، تعداد کاربران یک حلقه را تعیین میکند. در شبکه مونرو سایز 11 است؛ اما قبل از انتشار نسخه 0.13، اندازه حلقه امضاها 16 بود.













