MoneroSwapper MoneroSwapper

امضاهای CLSAG مونرو به زبان ساده

MoneroSwapper · · · 1 min read · 8 views

امضاهای CLSAG مونرو به زبان ساده

در ۱۷ اکتبر ۲۰۲۰، درست در بلاک ۲٬۲۱۰٬۷۲۰، مونرو بی‌سروصدا موتور رمزنگاری پشت تک‌تک تراکنش‌هایش را عوض کرد. هارد فورک «Oxygen Orion» امضای حلقه‌ای قدیمی MLSAG را بازنشسته کرد و جای آن را به CLSAG داد — و نتیجه یک‌شبه این شد: تراکنش‌هایی حدوداً ۲۵٪ کوچک‌تر و تأییدی ۱۰ تا ۲۰٪ سریع‌تر. اگر تا حالا حتی یک‌بار XMR فرستاده‌اید، یا بیت‌کوین خود را از طریق سرویسی مثل MoneroSwapper به مونرو تبدیل کرده‌اید، تراکنش شما با یک امضای CLSAG محافظت شده، بی‌آنکه اصلاً متوجه‌اش شوید.

بیشتر مردم حریم خصوصی مونرو را مثل یک جعبه‌ی سیاه می‌بینند: سکه وارد می‌شود، سکه‌ی غیرقابل‌ردیابی بیرون می‌آید. اما آن جادویی که پنهان می‌کند چه کسی چه چیزی فرستاده، یک نام و یک ساختار مشخص دارد. CLSAG همان قطعه‌ای است که به شما اجازه می‌دهد ثابت کنید «من مالک یکی از این خروجی‌ها هستم و دارم دقیقاً یک‌بار خرجش می‌کنم» — بدون اینکه فاش کنید کدام خروجی مال شماست. در این مقاله موشکافی می‌کنیم که CLSAG چیست، چطور کار می‌کند، چرا جایگزین نسخه‌ی قبلی شد، و در نقشه‌ی راه مونرو کجا ایستاده، حالا که اثبات‌های تازه‌تری مثل FCMP++ به شبکه نزدیک می‌شوند.

CLSAG دقیقاً مخفف چیست

CLSAG یک سرواژه است و هر حرف آن یک ویژگی واقعی از این طرح را توصیف می‌کند. این عبارت کوتاه‌شده‌ی Concise Linkable Spontaneous Anonymous Group یا «امضای گروهی ناشناسِ خودجوشِ قابل‌پیوندِ موجز» است. طراحی آن از یک مقاله‌ی پژوهشی در سال ۲۰۱۹ به قلم Brandon Goodell، Sarang Noether و مشارکت‌کننده‌ای با نام مستعار RandomRun بیرون آمد و پیش از رسیدن به شبکه‌ی اصلی، داوری همتا و ممیزی شد.

  • موجز (Concise): امضا فشرده است. CLSAG به‌ازای هر عضو حلقه تعداد به‌مراتب کمتری اسکالر تولید می‌کند و صرفه‌جویی در حجم دقیقاً از همین‌جا می‌آید.
  • قابل‌پیوند (Linkable): اگر یک خروجی دوبار خرج شود، شبکه می‌تواند آن را تشخیص دهد. این کار از طریق «تصویر کلید» (key image) انجام می‌شود؛ یک اثرانگشت قطعی که بدون لو دادن خرج‌کننده، جلوی خرج مضاعف را می‌گیرد.
  • خودجوش (Spontaneous): هیچ مراسم راه‌اندازی و هیچ همکاری‌ای میان کسانی که خروجی‌هایشان در حلقه‌ی شما ظاهر می‌شود لازم نیست. شما می‌توانید بدون اطلاع و رضایت آن‌ها، خروجی‌های فریب (decoy) را از بلاک‌چین بیرون بکشید.
  • ناشناس (Anonymous): یک تأییدکننده می‌تواند مطمئن شود امضا معتبر است، اما نمی‌تواند بگوید کدام‌یک از اعضای حلقه واقعاً آن را مجاز کرده.
  • گروهی (Group): امضا از طرف یک گروه — یعنی حلقه — ساخته می‌شود، نه از طرف یک کلید واحدِ قابل‌شناسایی.

این ویژگی‌ها را کنار هم بگذارید تا به هسته‌ی حریم خصوصی فرستنده در مونرو برسید: یک امضای معتبر که ثابت می‌کند یک نفر از میان مجموعه‌ای از نامزدهای محتمل مجوز خرج را داده، در حالی که امضاکننده‌ی واقعی پنهان می‌ماند و خرج مضاعف هم ناممکن می‌شود.

CLSAG در پشت‌صحنه چطور کار می‌کند

برای فهم CLSAG اول باید بدانید یک امضای حلقه‌ای دنبال چیست، و بعد ببینید CLSAG چطور اثبات را کوچک‌تر می‌کند. تراکنش‌های مونرو از RingCT استفاده می‌کنند که دو چیز را که هر دو باید خصوصی بمانند ترکیب می‌کند: چه کسی دارد خرج می‌کند (ابهام فرستنده) و چه مقدار (محرمانگی مبلغ). CLSAG نیمه‌ی اول را برعهده دارد و Bulletproofs+ نیمه‌ی دوم را.

مسئله‌ی امضای حلقه‌ای

وقتی یک خروجی مونرو را خرج می‌کنید، کیف‌پول شما یک حلقه می‌سازد: خروجی واقعی شما به‌علاوه‌ی چند خروجی فریب که از زنجیره بیرون کشیده می‌شوند. از زمان ارتقای «Fluorine Fermi» در آگوست ۲۰۲۲، اندازه‌ی حلقه روی ۱۶ ثابت شده، یعنی هر خرج میان ۱۵ فریب پنهان می‌شود. یک ناظر بیرونی ۱۶ خروجیِ نامزد می‌بیند و نمی‌تواند بگوید کدام‌یک واقعاً در حال خرج شدن است.

چالش این است که جوری امضا کنید که ثابت شود «من کلید خصوصیِ یکی از این ۱۶ خروجی را در اختیار دارم» بی‌آنکه لو برود کدام‌یک. امضای حلقه‌ای دقیقاً همین کار را می‌کند. ترفندش ساختن یک حلقه‌ی به‌هم‌پیوسته از چالش‌های رمزنگاری است که فقط زمانی بسته می‌شود که امضاکننده یک کلید خصوصیِ واقعی بداند، در حالی که از بیرون همه‌ی پیوندها عین هم به نظر می‌رسند.

تصویر کلید و محافظت در برابر خرج مضاعف

خطر یک خرج‌کننده‌ی پنهان، خرج مضاعف است: اگر هیچ‌کس نتواند ببیند کدام خروجی را خرج کرده‌اید، چه چیزی جلوی شما را می‌گیرد که دوباره خرجش کنید؟ پاسخ، «تصویر کلید» است. هر خروجی دقیقاً یک تصویر کلیدِ معتبر دارد که از ضربِ کلید خصوصی در هَشِ نگاشت‌شده‌به‌نقطه‌ی کلید عمومی محاسبه می‌شود. این مقدار از نظر ریاضی به خروجی گره خورده، اما ذره‌ای درباره‌ی اینکه کدام عضو حلقه آن را تولید کرده، فاش نمی‌کند.

هر تصویر کلیدی که تا به حال استفاده شده، روی زنجیره ثبت می‌شود. وقتی تراکنشی تازه می‌رسد، گره‌ها بررسی می‌کنند که آیا تصویر کلیدش قبلاً ظاهر شده یا نه. اگر شده باشد، تراکنش به‌عنوان خرج مضاعف رد می‌شود. همین چیز است که مدلِ فرستنده‌ی پنهانِ مونرو را امن نگه می‌دارد — یعنی همان ویژگی قابل‌پیوندبودن، حرف «L» در CLSAG.

چطور تجمیع، امضا را آب می‌کند

اینجا قلب ماجراست؛ همان چیزی که CLSAG را «موجز» می‌کند. در یک تراکنش RingCT، هر عضو حلقه با دو کلید عمومی پیوند خورده: کلید خروجیِ یک‌بارمصرف (که مالکیت را ثابت می‌کند) و یک تعهد به مبلغ (که ثابت می‌کند ارزش ورودی و خروجی تراز هستند). طرح قبلی، یعنی MLSAG، روی هر دو کلید به‌صورت جداگانه امضا می‌زد و به‌ازای هر عضو حلقه دو اسکالرِ پاسخ تولید می‌کرد.

CLSAG این دو را در یک حلقه‌ی واحد فرو می‌ریزد. از ضرایب تجمیع استفاده می‌کند — که به‌صورت قطعی و با هَش‌کردن حلقه و تعهدهایش به‌دست می‌آیند — تا دو کلید را در یک معادله‌ی تأییدِ ترکیبی تا بزند. نتیجه، یک اسکالرِ پاسخ به‌ازای هر عضو حلقه است به‌جای دو تا، به‌علاوه‌ی یک چالش اولیه‌ی واحد و تصویر کلید.

برای یک حلقه‌ی ۱۱‌تایی، MLSAG به حدود ۲۲ اسکالرِ پاسخ به‌ازای هر ورودی نیاز داشت؛ CLSAG تقریباً ۱۲ تا لازم دارد. همین یک تغییر بود که یک تراکنش معمولیِ دوورودی را حدود یک‌چهارم کوچک کرد.

نکته‌ی مهم اینکه اثبات امنیتی نشان می‌دهد این تجمیع هیچ‌چیزی را تضعیف نمی‌کند. CLSAG تحت همان فرض‌های قبلی همچنان جعل‌ناپذیر و ناشناس می‌ماند، حتی در برابر دشمنی که می‌تواند بخشی از کلیدهای حلقه را خودش انتخاب کند. شما امضایی کوچک‌تر و سریع‌تر می‌گیرید، بدون هیچ معامله‌ی پایاپای روی حریم خصوصی یا امنیت — یک بُردِ تمیز که در رمزنگاری به‌ندرت پیش می‌آید.

CLSAG در برابر MLSAG: چه چیزی عوض شد

MLSAG (امضای گروهی ناشناسِ خودجوشِ قابل‌پیوندِ چندلایه) از زمان راه‌اندازی RingCT در ژانویه‌ی ۲۰۱۷ تا فورک ۲۰۲۰ موتورِ کار بود. CLSAG یک جایگزینِ مستقیم و جاافتاده است که همان مدل اعتماد را حفظ می‌کند ولی چربی‌های اضافه را می‌گیرد. جدول زیر تفاوت‌های عملی را خلاصه می‌کند.

ویژگیMLSAG (۲۰۱۷ تا ۲۰۲۰)CLSAG (۲۰۲۰ تا کنون)
اسکالر به‌ازای هر عضو حلقه۲ (یکی برای هر لایه‌ی کلید)۱ (تجمیع‌شده)
حجم امضای تراکنش معمولیِ دوورودیمبناحدود ۲۵٪ کوچک‌تر
سرعت تأییدمبناحدود ۱۰ تا ۲۰٪ سریع‌تر
تضمین حریم خصوصیابهام فرستنده + قابل‌پیوندبودنیکسان
امنیت در برابر کلیدهای خصمانهاثبات‌شدهاثبات‌شده (به‌طور رسمی بازممیزی‌شده)
فعال‌سازیراه‌اندازی RingCT، ژانویه‌ی ۲۰۱۷فورک Oxygen Orion، اکتبر ۲۰۲۰

کوچک‌تر شدن امضاها فقط بحث زیبایی نیست. وزن کمترِ تراکنش یعنی کارمزد پایین‌تر، تورمِ کمترِ بلاک‌چین و زمانِ همگام‌سازیِ سریع‌تر برای گره‌ها. چون از نظر ساختاری همه‌ی تراکنش‌های مونرو شبیه هم به نظر می‌رسند، این صرفه‌جویی در کل شبکه ضرب می‌شود و قابلیت تعویض (fungibility) را بهتر می‌کند — هیچ تراکنشی بر اساس تاریخچه‌اش ارزان‌تر یا گران‌تر از بقیه جلوه نمی‌کند.

CLSAG چطور توی یک تراکنش مونرو جا می‌گیرد

CLSAG هرگز تنها کار نمی‌کند. یکی از اجزای یک تراکنش RingCT است، در کنار آدرس‌های مخفی (stealth address)، تعهدهای مبلغ و اثبات‌های بازه. چرخه‌ی عمرِ ساده‌شده‌ی یک خرج را در ادامه می‌بینید، از لحظه‌ای که کیف‌پولتان تصمیم به ارسال می‌گیرد تا لحظه‌ای که یک گره آن را می‌پذیرد.

  1. انتخاب فریب‌ها: کیف‌پول با استفاده از یک توزیع گاما که الگوهای خرجِ واقعی را تقلید می‌کند، ۱۵ خروجیِ فریب از زنجیره برمی‌دارد و بعد خروجی واقعی شما را به آن‌ها اضافه می‌کند تا حلقه‌ای ۱۶‌تایی شکل بگیرد.
  2. ساختن تعهدها: مبالغ ورودی و خروجی پشت تعهدهای پدرسن (Pedersen) پنهان می‌شوند و یک تعهد خروجیِ شبه‌ساختگی تولید می‌شود تا تأییدکننده بتواند بدون دیدن مقادیر، مطمئن شود ورودی‌ها برابر خروجی‌ها هستند.
  3. محاسبه‌ی تصویر کلید: کیف‌پول تصویر کلیدِ خروجیِ در حال خرج را استخراج می‌کند؛ همان چیزی که شبکه بعداً آن را با مجموعه‌ی تصاویرِ کلیدِ خرج‌شده مقایسه خواهد کرد.
  4. امضا با CLSAG: کیف‌پول یک امضای حلقه‌ایِ تجمیع‌شده‌ی واحد روی حلقه‌ی کلیدهای یک‌بارمصرف و کلیدهای تعهد تولید می‌کند که حلقه‌ی رمزنگاری فقط به این دلیل بسته می‌شود که یک کلید خصوصیِ واقعی در اختیار دارد.
  5. افزودن اثبات‌های بازه: Bulletproofs+ ثابت می‌کند که مبلغ هر خروجی در یک بازه‌ی معتبر است، تا هیچ‌کس نتواند با یک خروجی منفی، سکه از هیچ بسازد.
  6. پخش و تأیید: تراکنش از طریق Dandelion++ منتشر می‌شود تا IP مبدأش مبهم بماند، و گره‌ها پیش از بازپخش، امضای CLSAG، تعهدها، اثبات‌های بازه و یکتایی تصویر کلید را بررسی می‌کنند.
نکته: شما هیچ‌کدام از این‌ها را تنظیم نمی‌کنید. اندازه‌ی حلقه، انتخاب فریب و طرح امضا همگی توسط اجماع (consensus) تحمیل می‌شوند، بنابراین دو کیف‌پول روی یک نسخه‌ی شبکه، تراکنش‌هایی غیرقابل‌تمایز تولید می‌کنند.

یک مثال واقعی

تصور کنید ۰٫۵ بیت‌کوین را از طریق MoneroSwapper به XMR تبدیل می‌کنید و بعد بخشی از آن مونرو را به یک کیف‌پول سخت‌افزاری می‌فرستید. لحظه‌ای که دکمه‌ی ارسال را می‌زنید، کیف‌پولتان حلقه‌ای از ۱۶ خروجی سرِ هم می‌کند. خروجی اصیل شما در آن هست، اما ۱۵ خروجیِ بی‌ربط از کاربران دیگری هم هستند که هرگز رضایت ندادند و هرگز هم نخواهند فهمید که در این ماجرا دخیل بوده‌اند.

امضای CLSAG که کیف‌پولتان می‌سازد، به هر گره‌ای روی کره‌ی زمین ثابت می‌کند که شما واقعاً مالکِ یکی از آن ۱۶ خروجی هستید — بی‌آنکه بگوید کدام. یک صرافی که زنجیره را تماشا می‌کند، یک شرکت تحلیل بلاک‌چین، یا یک ناظر کنجکاو، فقط یک تراکنش معتبر با ۱۶ منبعِ به‌یک‌اندازه محتمل می‌بیند. هیچ روش اکتشافی‌ای (heuristic) وجود ندارد که به‌طور قابل‌اتکا منبع واقعی را بیرون بکشد، و دقیقاً نکته همین است.

این را با یک زنجیره‌ی شفاف مثل Bitcoin مقایسه کنید که در آن، ورودیِ دقیقِ در حال خرج عمومی است. روی Bitcoin، آن ۰٫۵ بیت‌کوین یک تاریخچه‌ی دائمی و قابل‌ردیابی با خودش حمل می‌کند. روی مونرو، CLSAG پیوند را در هر گام قطع می‌کند، و همین است که چرا کاربرانِ حساس به حریم خصوصی از اول ارزش را از مسیر مونرو عبور می‌دهند.

چرا این موضوع برای کاربر عادی مهم است

شاید با خودتان بگویید این‌ها همه‌اش ریاضیات سنگین است و به دردِ کاربر روزمره نمی‌خورد. اما تأثیر CLSAG کاملاً ملموس است. هر بار که کارمزدِ پایینی برای انتقال XMR می‌پردازید، بخشی از آن مرهونِ همین فشرده‌سازیِ امضاست. هر بار که گره‌ی خودتان را روی یک لپ‌تاپ معمولی یا حتی یک Raspberry Pi همگام می‌کنید و زنجیره سریع‌تر از انتظارتان می‌رسد، باز هم CLSAG در کار بوده.

مهم‌تر از همه، این طراحی یک خاصیت کلیدی به نام «قابلیت تعویض» را تقویت می‌کند. روی یک شبکه‌ی شفاف، سکه‌هایی که از یک آدرس «بدنام» عبور کرده‌اند ممکن است توسط صرافی‌ها مسدود یا کم‌ارزش‌تر تلقی شوند. چون امضاهای CLSAG هر تراکنش را از نظر ظاهری یکسان و تاریخچه را نامرئی می‌کنند، یک XMR همیشه دقیقاً برابر یک XMR دیگر است — بی‌توجه به اینکه قبلاً کجا بوده. این همان چیزی است که پول را واقعاً به پول تبدیل می‌کند.

برای کاربر ایرانی یا هر کاربری که در محیطی با نظارت مالی شدید فعالیت می‌کند، این یعنی آرامش خاطر: شما لازم نیست رمزنگار باشید تا از آن بهره ببرید. کافی است یک کیف‌پول استاندارد مثل کیف‌پول رسمی getmonero.org یا Cake Wallet را باز کنید و ارسال را بزنید؛ بقیه‌اش پشت پرده و به‌صورت خودکار اتفاق می‌افتد.

راه پیشِ رو: FCMP++ و Seraphis

CLSAG عالی است، اما یک سقف ساختاری دارد: مجموعه‌ی ناشناسی به اندازه‌ی حلقه محدود است. با ۱۶ عضو، خرج واقعی شما میان ۱۵ فریب پنهان می‌شود — قوی، اما متناهی. جامعه‌ی پژوهشی مونرو سال‌ها روی چیزی بزرگ‌تر کار کرده است.

FCMP++ (اثبات عضویت در کل زنجیره) جانشینِ برنامه‌ریزی‌شده است. به‌جای پنهان شدن میان ۱۶ خروجی، FCMP++ عضویت را در برابر هر خروجی‌ای که تا به حال روی زنجیره وجود داشته ثابت می‌کند — مجموعه‌ای ناشناس در حد ده‌ها میلیون به‌جای ۱۶ تا. توسعه و ممیزی آن در طول سال ۲۰۲۵ پیوسته پیش رفت و ارتقا برای یک هارد فورکِ آینده هدف‌گذاری شده است. وقتی این اتفاق بیفتد، امضاهای حلقه‌ای آن‌طور که می‌شناسیم، از جمله CLSAG، بازنشسته خواهند شد.

در کنار FCMP++، پروتکل تراکنشِ Seraphis و طرح آدرس‌دهیِ Jamtis قرار دارند که با هم نوسازی می‌کنند که خروجی‌های مونرو چطور شکل می‌گیرند و آدرس‌دهی می‌شوند. حرفِ آخر این نیست که CLSAG منسوخ شده — همین حالا شبکه را امن می‌کند و مدتی هم خواهد کرد — بلکه این است که مونرو هرگز از بهبودِ تضمین‌های حریم خصوصی‌اش دست نمی‌کشد. CLSAG خودش جانشینِ MLSAG بود، و چرخه ادامه دارد.

پرسش‌های پرتکرار

CLSAG مخفف چیست؟

CLSAG مخفف Concise Linkable Spontaneous Anonymous Group signatures است، یعنی امضای گروهی ناشناسِ خودجوشِ قابل‌پیوندِ موجز. هر واژه یک ویژگی را توصیف می‌کند: امضا فشرده است، خرج‌های مضاعف قابل‌تشخیص‌اند، هیچ هماهنگی‌ای میان اعضای حلقه لازم نیست، امضاکننده‌ی واقعی پنهان است، و اثبات از طرف یک گروه ساخته می‌شود نه یک کلیدِ قابل‌شناسایی.

مونرو از کِی شروع به استفاده از CLSAG کرد؟

CLSAG در طول هارد فورک «Oxygen Orion» در ۱۷ اکتبر ۲۰۲۰، در ارتفاع بلاک ۲٬۲۱۰٬۷۲۰، روی شبکه‌ی اصلی مونرو فعال شد. این طرح جایگزین MLSAG شد که از ژانویه‌ی ۲۰۱۷ تراکنش‌های RingCT را امن کرده بود.

CLSAG تراکنش‌های مونرو را چقدر کوچک‌تر کرد؟

یک تراکنش معمولیِ دوورودی حدوداً ۲۵٪ کوچک‌تر شد و تأیید هم حدود ۱۰ تا ۲۰٪ سریع‌تر. این صرفه‌جویی از تجمیعِ دو اسکالرِ پاسخ به‌ازای هر عضو حلقه به یکی می‌آید، که هم داده‌ی ذخیره‌شده روی زنجیره را کم می‌کند و هم کاری را که گره‌ها برای تأیید انجام می‌دهند.

آیا CLSAG حریم خصوصی یا امنیت مونرو را تضعیف می‌کند؟

خیر. CLSAG همان ابهام فرستنده و محافظت در برابر خرج مضاعف را که MLSAG داشت فراهم می‌کند. امنیت آن به‌طور رسمی اثبات و به‌صورت مستقل ممیزی شد، از جمله مقاومت در برابر حمله‌هایی که در آن‌ها دشمن بخشی از کلیدهای حلقه را کنترل می‌کند. این صرفاً نسخه‌ای کارآمدتر از همان تضمین‌هاست.

آیا CLSAG جایگزین خواهد شد؟

در نهایت، بله. ارتقای FCMP++ (اثبات عضویت در کل زنجیره) طراحی شده تا امضاهای حلقه‌ای را به‌کلی کنار بگذارد و مجموعه‌ی ناشناس را از ۱۶ عضو حلقه به کل بلاک‌چین گسترش دهد. این طرح در طول سال ۲۰۲۵ در دست توسعه و ممیزیِ فعال بود و یک هارد فورکِ آینده را هدف گرفته، اما تا آن زمان CLSAG شبکه را امن نگه می‌دارد.

جمع‌بندی

CLSAG یکی از آن ارتقاهایی است که ثابت می‌کند رمزنگاریِ خوب می‌تواند هم‌زمان نامرئی و تأثیرگذار باشد. این طرح هر تراکنش مونرو را کوچک‌تر، ارزان‌تر و سریع‌تر برای تأیید کرد، در حالی که حریم خصوصی فرستنده و محافظت در برابر خرج مضاعف — همان چیزهایی که این سکه را تعریف می‌کنند — دست‌نخورده ماند، آن هم بی‌آنکه کاربران لازم باشد دست به سیاه و سفید بزنند. فهمیدنش این رمز و راز را باز می‌کند که «غیرقابل‌ردیابی» واقعاً یعنی چه: نه جادو، بلکه یک امضای حلقه‌ایِ با‌دقت‌ساخته‌شده که یک تصویر کلید هم به آن پیچ شده.

اگر می‌خواهید این حریم خصوصی را به‌کار بگیرید، ساده‌ترین راه این است که از همان اول، مونرو را بدون تحویل دادنِ هویتتان به‌دست آورید. شما می‌توانید از طریق MoneroSwapper مونرو را به‌صورت ناشناس بخرید، بدون حساب کاربری و بدون KYC، و هر خروجی‌ای که دریافت می‌کنید، لحظه‌ای که خرجش کنید، با همان امضاهای CLSAG که اینجا توصیف شد محافظت خواهد شد.

اشتراک‌گذاری مقاله

مقالات مرتبط

صرافی Monero ناشناس

بدون KYC • بدون ثبت‌نام • تبدیل فوری

همین الآن مبادله کن