امضای حلقهای مونرو: چگونه XMR هویت فرستنده را پنهان میکند
امضای حلقهای مونرو: چگونه XMR هویت هر فرستندهای را پنهان میکند
وقتی یک تراکنش بیتکوین را امضا میکنید، شبکه آدرس شما، تاریخچهٔ موجودی و دقیقاً همان UTXO خرجشده را میبیند. اما وقتی در سال ۲۰۲۶ یک تراکنش مونرو امضا میکنید، شبکه فقط حلقهای از شانزده امضاکنندهٔ ممکن را میبیند — و از نظر ریاضی نمیتواند ثابت کند که کدامیک شما بودهاید. همین یک تصمیم طراحی، که طی یک دهه پژوهش رمزنگاری از وایتپیپر CryptoNote در سال ۲۰۱۴ تا امضاهای حلقهای CLSAG امروز پالایش شده، دلیل اصلی این است که مونرو همچنان تنها ارز دیجیتال بزرگ لایه-یک با محرمانگی اجباری در سطح پروتکل باقی مانده است.
این راهنما توضیح میدهد امضای حلقهای واقعاً چگونه کار میکند، چرا هارد فورک مرداد ۱۴۰۱ (آگوست ۲۰۲۲) اهمیت داشت، با فعال شدن FCMP++ چه چیزی تغییر میکند، و چگونه هر تبدیلی که در MoneroSwapper انجام میدهید این تضمینها را بهطور خودکار به ارث میبرد. نیازی به مدرک رمزنگاری ندارید — اما انتظار ریاضیات مشخص داشته باشید، نه حرفهای مبهم.
چرا امضای حلقهای در قلب محرمانگی مونرو قرار دارد
هر بلاکچین عمومی یک مسئلهٔ حسابداری مشترک را حل میکند: اثبات وجود سکه، اثبات مالکیت فرستنده و جلوگیری از خرج دوبار. بیتکوین این مسئله را با ورودیهای شفاف و یک مجموعه UTXO قابل حسابرسی برای همگان حل میکند. مونرو همین مسئله را با سه لایهٔ روی هم چیدهشده حل میکند — امضای حلقهای، آدرس مخفی (stealth address) و RingCT — و امضای حلقهای همان لایهای است که هویت فرستنده را پنهان میسازد.
بدون پنهانسازی فرستنده، حتی مبالغ کاملاً رمزگذاریشده هم فراداده (متادیتا) لو میدهند. شرکتهای نظارت بر زنجیره مانند Chainalysis و CipherTrace ارزشگذاری خود را بر این واقعیت بنا کردهاند که فیلد فرستنده در بیتکوین بهصورت متن باز است. امضای حلقهای مونرو این سطح حمله را بهطور کامل از بین میبرد. هر ورودی تراکنش نه با یک کلید، بلکه با یک مجموعه از کلیدها امضا میشود و راستیآزما تنها تأیید میکند که «یک نفر» در مجموعه اجازهٔ خرج را داده است.
- ابهام فرستنده: خرجکنندهٔ واقعی از نظر محاسباتی قابل تمیز دادن از پانزده طعمهٔ (decoy) گرفتهشده از خروجیهای پیشین زنجیره نیست.
- بدون راهاندازی قابل اعتماد: برخلاف طرحهای zk-SNARK که به مراسم تولید پارامتر وابستهاند، امضای حلقهای فقط بر فرضیات استاندارد منحنی بیضوی روی Curve25519 تکیه میکند.
- اجباری، نه اختیاری: هر تراکنش مونرو از زمان راهاندازی اولیه در سال ۲۰۱۴ تاکنون امضای حلقهای دارد. هیچ «حالت شفاف»ی وجود ندارد که شرکتهای نظارتی بتوانند برای تحلیل پایه روی آن حساب کنند.
- قابلیت تعویض ساختاری: چون خروجیها را نمیتوان بهطور قابل اتکا به فرستنده ردیابی کرد، هیچ سکهای را نمیتوان «آلوده»، در لیست سیاه قرار داد یا توسط صرافی به دلیل تاریخچهٔ پیشین رد کرد.
همین نکتهٔ آخر است که نهادهای تنظیمگر در اتحادیهٔ اروپا و کرهٔ جنوبی از زمان موج حذف ارزها در ۲۰۲۴ با آن دست به گریبان بودهاند: شما نمیتوانید قواعد سفر (travel rule) را روی پروتکلی اعمال کنید که از افشای فرستنده و گیرنده سر باز میزند. امضای حلقهای دلیل فنی این است که مونرو در جایی که ارزهای «محرمانه شفاف» مانند Verge یا Beam به فراموشی سپرده شدند، دوام آورد.
یک امضای حلقهای مونرو دقیقاً چگونه کار میکند
اگر فقط به یک مدل ذهنی کارآمد نیاز دارید این بخش را رد کنید — اما اگر میخواهید بفهمید چرا ریاضیات این طرح برقرار است، ساختار آن از بسیاری از توضیحات رایج زیباتر است. طرح کنونی، CLSAG، در هارد فورک ۱۳ مرداد ۱۴۰۱ (۱۳ آگوست ۲۰۲۲) جایگزین الگوریتم قدیمیتر MLSAG شد و حدود ۲۵ درصد از اندازهٔ امضا کاست، در حالی که همان تضمینهای امنیتی را حفظ کرد.
ایدهٔ بنیادی: امضا کردن از طرف یک گروه
یک امضای دیجیتال سنتی اثبات میکند که «من، دارندهٔ کلید خصوصی x، این تراکنش را تأیید میکنم». یک امضای حلقهای اثبات میکند که «یکی از دارندگان کلیدهای خصوصی x₁ تا x₁₆ این تراکنش را تأیید کرده، و شما نمیتوانید تشخیص دهید کدامیک». راستیآزما یک معادلهٔ واحد را بررسی میکند که فقط در صورتی بسته میشود که اثباتکننده دستکم یک کلید خصوصی از مجموعه را بداند، اما این معادله هیچ اطلاعاتی دربارهٔ اینکه کدام کلید استفاده شده فاش نمیکند.
در پیادهسازی مونرو، «حلقه» در زمان ایجاد تراکنش توسط کیف پول فرستنده ساخته میشود. کیف پول خروجی واقعی بهعلاوهٔ پانزده خروجی طعمه را از بلاکهای گذشته انتخاب میکند، آنها را با یک توزیع گاما که سن خرج واقعی XMR را بازتاب میدهد وزندهی میکند (خروجیهای جدیدتر شانس بیشتری برای خرج شدن دارند)، و آنها را در امضا بستهبندی میکند.
تصویر کلید (Key Image): جلوگیری از خرج دوبار بدون فاش کردن فرستنده
اشکال بدیهی این است: اگر شبکه نمیتواند تشخیص دهد کدام خروجی واقعاً خرج شده، چه چیزی جلوی خرج همان سکه را در دو حلقهٔ متفاوت میگیرد؟ پاسخ، تصویر کلید است — یک هش قطعی که از کلید خصوصی واقعی به دست میآید و برای آن خروجی خاص یکتاست. هر تراکنش تصویر کلید خود را در کنار امضای حلقهای منتشر میکند. گرهها مجموعهای از تصاویر کلید دیدهشده را نگه میدارند و هر تکرار را بیدرنگ رد میکنند.
مهمتر آنکه تصویر کلید یک تابع یکطرفه است. دانستن آن چیزی دربارهٔ کلید خصوصی پایه یا اینکه کدام خروجی در حلقه خرج شده به شما نمیگوید. فقط به شبکه اجازه میدهد یک تکرار را تشخیص دهد. این همان عنصر اولیه رمزنگاری است که به مونرو امکان میدهد در یک پاکت واحد هم گمنامی پیوندناپذیر و هم حسابداری پولی سالم را ارائه دهد.
انتخاب طعمه: جایی که بیشتر نشتهای محرمانگی قبلاً پنهان میشدند
مونرو اولیه (۲۰۱۴ تا ۲۰۱۷) به کاربران اجازه میداد اندازهٔ حلقه را بهصورت دستی انتخاب کنند، که یک مشکل آشکار ایجاد میکرد: هر کسی که از اندازهٔ حلقهٔ ۱ (فقط خودش) استفاده میکرد بهسادگی قابل ردیابی بود، و حتی حلقههای کوچک هم میتوانستند بهصورت آماری مورد حمله قرار گیرند. پروتکل اکنون اندازهٔ حلقه را برای هر تراکنش از زمان هارد فورک مهر ۱۴۰۱ (اکتبر ۲۰۲۲) دقیقاً ۱۶ تعیین میکند. یکنواختی خودش یک ویژگی محرمانگی است — وقتی همهٔ تراکنشها یک شکل دارند، مجموعهٔ گمنامی همهٔ زنجیره است.
انتخاب طعمه از یک توزیع گاما پیروی میکند که بر اساس الگوهای واقعی خرج XMR کالیبره شده است. انتخاب کاملاً تصادفی باعث میشد خروجیهای جدید بیش از حد نمایان شوند (آنها در حلقههای زیادی پیش از خرج شدن ظاهر میشوند) و خروجیهای قدیمی کمتر از حد، و این به دشمنان آماری جای پا میداد. مدل گاما تقریب میزند که انسانها و صرافیها واقعاً چطور سکهها را جابهجا میکنند، پس یک خرج واقعی بهطور طبیعی در نویز اطراف زنجیره ذوب میشود.
CLSAG، Bulletproofs+ و تکامل از سال ۲۰۱۴
امضای حلقهای در مونرو یک طراحی ثابت نیست. هر هارد فورک عمده از سال ۲۰۱۷ تاکنون یا رمزنگاری را سفتتر کرده، یا اندازهٔ امضا را کاهش داده، یا هر دو. درک این جدول زمانی کمک میکند بفهمیم چرا تحلیل زنجیرهای که در ۲۰۱۸ «کار میکرد»، در ۲۰۲۶ منسوخ شده است.
| دوره | طرح | سال | تغییر کلیدی |
|---|---|---|---|
| پیدایش | CryptoNote / LSAG | ۲۰۱۴ | امضای حلقهای اولیه، اندازهٔ حلقه اختیاری. |
| RingCT | MLSAG + تعهدات Pedersen | ژانویه ۲۰۱۷ | پنهانسازی مبالغ علاوه بر فرستنده. |
| Bulletproofs | MLSAG + Bulletproofs | اکتبر ۲۰۱۸ | اثباتهای بازه حدود ۸۰٪ کوچکتر، کارمزد کاهش. |
| حلقهٔ ثابت ۱۱ | MLSAG | مارس ۲۰۱۹ | اندازهٔ حلقه اجباری برای جلوگیری از انگشتنگاری. |
| CLSAG | CLSAG + Bulletproofs | آگوست ۲۰۲۲ | حدود ۲۵٪ کوچکتر، تأیید سریعتر. |
| Bulletproofs+ | CLSAG + Bulletproofs+ | آگوست ۲۰۲۲ | ۵ تا ۷٪ کاهش اندازهٔ بیشتر. |
| حلقهٔ ۱۶ | CLSAG | آگوست ۲۰۲۲ | افزایش مجموعهٔ گمنامی به ازای هر ورودی. |
| FCMP++ (برنامهریزیشده) | اثبات عضویت کل زنجیره | ۲۰۲۶ | مجموعهٔ گمنامی = کل زنجیره، بیش از ۱۰۰ میلیون خروجی. |
ارتقای اصلی پیشرو FCMP++ است (Full-Chain Membership Proofs Plus Plus)، که فعالسازی آن برای اواخر ۲۰۲۶ هدفگذاری شده. به جای انتخاب ۱۵ طعمه از کل زنجیره، هر تراکنش عضویت در کل مجموعهٔ خروجیهای تاریخی را اثبات خواهد کرد. مجموعهٔ گمنامی از ۱۶ به حدود ۱۰۰ میلیون میرسد، با یک استدلال رمزنگاری که آنقدر فشرده است که میتوان آن را در میلیثانیهها تأیید کرد.
اگر امضای حلقهای امروز را پنهان کردن یک سوزن در انبار کاهی از ۱۶ قطعه کاه تصور کنید، FCMP++ انبار کاه را با کل مزرعهٔ گندم جایگزین میکند — و راستیآزما همچنان تأیید میکند که یک سوزن جایی در آن وجود دارد.
به همین دلیل توسعهدهندگان مونرو معماری پیشرویِ Seraphis/Jamtis را بهجای یک وصلهٔ تدریجی، یک ارتقای نسلی توصیف میکنند. این فقط پاکت محرمانگی موجود را بزرگتر نمیکند؛ بلکه کل مفهوم «حلقه» بهعنوان یک مجموعهٔ متناهی و قابل انتخاب را از بین میبرد.
گامبهگام: وقتی ۰.۵ XMR میفرستید چه اتفاقی میافتد
یک تراکنش مشخص را دنبال کنیم. شما Feather Wallet یا Cake Wallet را باز میکنید، یک آدرس گیرنده را میچسبانید، ۰.۵ XMR را تایپ کرده و دکمهٔ ارسال را میزنید. در پشت صحنه، توالی زیر اجرا میشود — بیشتر آن در کمتر از دو ثانیه روی یک لپتاپ متوسط.
- انتخاب خروجی: کیف پول شما تشخیص میدهد کدامیک از خروجیهای خرجنشدهٔ شما ۰.۵ XMR بهعلاوهٔ کارمزد را پوشش میدهد. فرض کنید خروجی به ارزش ۰.۷ XMR را انتخاب میکند.
- گرفتن طعمه: کیف پول از یک گره (شخصی یا از راه دور) برای پانزده خروجی طعمهٔ قابل قبول از یک توزیع وزندار گاما در سراسر تاریخچهٔ زنجیره پرسوجو میکند.
- ساخت حلقه: خروجی واقعی شما در میان حلقهٔ شانزدهتایی بُر میخورد. ترتیب تصادفی میشود تا موقعیت بهتنهایی چیزی فاش نکند.
- تولید آدرس مخفی: آدرس عمومی گیرنده به یک خروجی مخفی یکبار مصرف تبدیل میشود که تنها کلید مشاهدهٔ او میتواند آن را تشخیص دهد. حتی آدرس منتشرشدهٔ گیرنده هرگز روی زنجیره ظاهر نمیشود.
- تعهدات Pedersen: مبالغ (۰.۵ ارسالی، ۰.۱۹۹ باقیمانده، حدود ۰.۰۰۱ کارمزد) به تعهدات Pedersen رمزگذاری میشوند. اثباتهای بازه (Bulletproofs+) ثابت میکنند هر یک نامنفی است بدون اینکه مقدار فاش شود.
- امضای CLSAG: کیف پول شما یک امضای CLSAG واحد تولید میکند که همزمان عضویت در حلقه را اثبات و تصویر کلید را متصل میکند. این قلب رمزنگارانهٔ تراکنش است.
- پخش از طریق Dandelion++: تراکنش امضاشده از طریق طرح انتشار ساقه-سپس-شکوفهای Dandelion++ وارد mempool میشود، که IP گرهٔ مبدأ را پنهان میکند.
- تأیید: تقریباً دو دقیقه بعد، تراکنش در یک بلاک قرار میگیرد. ده تأییدیه (حدود ۲۰ دقیقه) آستانهٔ نهایی استاندارد است که اکثر صرافیها و فروشندگان از آن استفاده میکنند.
از منظر یک ناظر، تنها چیزی که روی زنجیره مشاهده میشود این است: شانزده عضو حلقه (یکی واقعی، پانزده طعمه)، یک تصویر کلید (که عدم خرج دوبار را ثابت میکند)، دو مقصد خروجی مخفی (یکی برای باقیماندهٔ خودتان، یکی برای پرداخت) و دو تعهد Pedersen. مبلغ، فرستنده و گیرنده همگی بهصورت رمزنگارانه پنهان شدهاند.
امضای حلقهای در عمل: یک تبادل MoneroSwapper
نظریه یک چیز است. تماشای اینکه تضمینهای محرمانگی در یک تبادل واقعی دوام میآورند، چیز دیگری است. وقتی از طریق MoneroSwapper بیتکوین را به مونرو تبدیل میکنید، شاخهٔ BTC معامله روی زنجیرهٔ بیتکوین کاملاً شفاف است — این اجتنابناپذیر است، چون بیتکوین هیچ محرمانگی ذاتی ارائه نمیدهد. اما لحظهای که آن وجوه به XMR تبدیل شوند، امضای حلقهای کنترل را در دست میگیرد.
تصور کنید یک روزنامهنگار مستقل فارسیزبان ساکن استانبول در سال ۲۰۲۶ از یک نشریهٔ خارجی حقالتحریر BTC دریافت میکند. برای حفاظت از منابع خود و پرداخت هزینههای روزانه بهصورت محرمانه، او BTC را به یک آدرس واریز MoneroSwapper میفرستد و XMR را روی آدرس مخفی Cake Wallet خود دریافت میکند. از آن لحظه به بعد، هر شرکت تحلیل زنجیرهای که به موجودی XMR نگاه کند، فقط خروجیهای محافظتشده با امضای حلقهای را میبیند. هیچ پیوندی از شاخهٔ BTC به پرداختهای بعدی مونرویی که او انجام میدهد وجود ندارد — نه آدرس مشترک، نه خوشهبندی، نه گراف ورودی-خروجی که تحلیل بیتکوین به آن تکیه دارد.
به همین دلیل صرافیهای بدون احراز هویت که از طریق مونرو مسیریابی میکنند به توصیهٔ استاندارد برای مسافران، روزنامهنگاران و کسبوکارهای کوچک در حوزههای قضایی با نظارت مالی سختگیرانه تبدیل شدهاند. محرمانگی بهصورت یک افزونه در لایهٔ صرافی پیچ نشده است؛ بلکه از لحظهای که وجوه وارد سمت XMR میشوند، بهصورت ریاضی توسط پروتکل زیربنایی تضمین میشود.
پرسشهای پرتکرار
تفاوت امضای حلقهای با یک امضای دیجیتال معمولی چیست؟
یک امضای معمولی اثبات میکند که یک کلید خصوصی مشخص یک پیام را تأیید کرده — راستیآزما دقیقاً میداند چه کسی امضا کرده است. یک امضای حلقهای اثبات میکند که «یکی از N» کلید خصوصی پیام را تأیید کرده، بدون آنکه فاش کند کدامیک. در مونرو، N در حال حاضر ۱۶ است، یعنی هر ورودی تراکنش با مجموعهای تمایزناپذیر از شانزده خرجکنندهٔ ممکن امضا میشود.
آیا تحلیل زنجیره میتواند روزی یک امضای حلقهای مونرو را شناسایی کند؟
حملات آماری علیه مونرو اولیه (پیش از ۲۰۱۷) زمانی موفق بودند که اندازهٔ حلقه کوچک یا قابل انتخاب بود. از زمان هارد فورک آگوست ۲۰۲۲ که اندازهٔ حلقهٔ ۱۶ را با انتخاب طعمهٔ وزندار گاما اعمال کرد، هیچ مقالهٔ داوریشدهای ناشناسزدایی قابل اتکا در لایهٔ پروتکل را نشان نداده است. اشتباهات عملیاتی — استفادهٔ مجدد از آدرسها بیرون از مونرو، نشت متادیتا در صرافیها، یا همبستگیهای زمانی — همچنان سطح حملهٔ واقعی هستند.
چرا اندازهٔ حلقه به جای عدد بیشتر، در ۱۶ سقفگذاری شده است؟
اندازهٔ امضا و هزینهٔ تأیید با اندازهٔ حلقه رشد میکند، و حلقههای بزرگتر هر گره را وادار میکنند دادههای بیشتری ذخیره، همگامسازی و اعتبارسنجی کند. شانزده نقطهٔ تعادل کنونی بین اندازهٔ مجموعهٔ گمنامی و تورم زنجیره است. ارتقای پیشرویِ FCMP++ این مبادله را بهطور کامل دور میزند، با جایگزینی حلقه با یک اثبات عضویت کل زنجیرهٔ فشرده، که مجموعهٔ گمنامی مؤثر را به هر خروجی که تاکنون ساخته شده گسترش میدهد.
تصویر کلید، به زبان ساده، چیست؟
تصویر کلید یک اثر انگشت یکتاست که از کلید خصوصی واقعی در حال خرج به دست میآید. هر تراکنش یکی منتشر میکند. گرهها همهٔ تصاویر کلید دیدهشده را ردگیری میکنند و هر تکرار را رد میکنند، که این روشی است که مونرو از خرج دوبار جلوگیری میکند. مهمتر آنکه تصویر کلید را نمیتوان معکوس کرد تا کلید خصوصی یا خروجی خاصی که از آن آمده شناسایی شود — فقط تکرارها را علامت میزند.
آیا امضاهای حلقهای مونرو در برابر کوانتوم مقاوم هستند؟
هنوز نه. امضاهای حلقهای CLSAG کنونی بر مسئلهٔ لگاریتم گسسته روی Curve25519 تکیه میکنند، که یک کامپیوتر کوانتومی بهاندازهٔ کافی بزرگ میتواند آن را با استفاده از الگوریتم شور بشکند. آزمایشگاه تحقیقاتی مونرو نامزدهای پسا-کوانتومی (طرحهای مبتنی بر مشبکه و هش) را پیگیری میکند و Seraphis با مسیرهای مهاجرت مقاوم در برابر کوانتوم آینده در نظر طراحی میشود. در سال ۲۰۲۶ هیچ تهدید کوانتومی تولیدی وجود ندارد، اما نقشهٔ راه نگرانی بلندمدت را به رسمیت میشناسد.
آیا استفاده از کیف پول سختافزاری نحوهٔ کار امضای حلقهای را تغییر میدهد؟
خیر. دستگاههای Trezor Safe 3 و Ledger که از مونرو پشتیبانی میکنند، همان عملیات امضای CLSAG را مانند یک کیف پول نرمافزاری، فقط درون عنصر امن خود انجام میدهند. ساخت حلقه، انتخاب طعمه و تولید تصویر کلید بهطور یکسان رخ میدهند. ارزش کیف پول سختافزاری در نگهداشتن کلید خرج شما در حالت آفلاین است، نه تغییر پروتکل رمزنگاری.
جمعبندی
امضای حلقهای یک ویژگی نیست که مونرو در تبلیغات بازاریابی به آن میبالد — این دیوار باربر کل پروتکل است. از طراحی اولیهٔ CryptoNote در ۲۰۱۴، از طریق MLSAG و Bulletproofs، تا CLSAG امروز با اندازهٔ حلقهٔ اجباری ۱۶، و بهسوی FCMP++ در اواخر ۲۰۲۶، هر پالایش همان وعدهٔ بنیادی را سفتتر کرده است: فرستندهٔ یک تراکنش XMR نمیتواند توسط هیچکس که زنجیره را تماشا میکند شناسایی شود.
این تضمین چیزی است که مونرو را بهعنوان پول نقد واقعی در اینترنت قابل استفاده میکند، و این چیزی است که هر تبادلی که از طریق MoneroSwapper مسیریابی میشود از لحظهای که وجوه به سمت XMR میرسند به ارث میبرد. اگر میخواهید نظریه را به عمل تبدیل کنید، گام بعدی ساده است — یک کیف پول که از CLSAG پشتیبانی میکند راهاندازی کنید (Feather، Cake یا Monero GUI همگی شرایط را دارند)، سپس یک تبادل کوچک را از طریق یک صرافی بدون احراز هویت مسیریابی کنید و ببینید تراکنش شما چقدر کم روی زنجیره فاش میکند. ریاضیات بقیهاش را انجام میدهد.
🌍 خواندن به زبان