RingCT عمیق: مونرو چگونه مبالغ تراکنش را پنهان میکند
معرفی تراکنشهای محرمانه حلقهای (RingCT)
مونرو از همان آغاز در سال ۲۰۱۴، پروتکل CryptoNote را با امضاهای حلقهای و آدرسهای مخفی به ارث برد که هویت فرستنده و گیرنده هر تراکنش را پوشش میدادند. اما یک نقص اساسی در مدل حریم خصوصی باقی مانده بود: مبالغ تراکنشها کاملاً روی بلاکچین قابل مشاهده بودند. هر ناظری میتوانست دقیقاً ببیند چه مقدار XMR در حال انتقال است، که امکان تحلیلهای پیچیده موجودی و افشای هویت کاربران را فراهم میکرد. تراکنشهای محرمانه حلقهای، معروف به RingCT، این مشکل را برای همیشه حل کردند.
RingCT در ژانویه ۲۰۱۷ با هارد فورک مونرو در بلوک ۱٬۲۲۰٬۵۱۶ راهاندازی شد و برای تمام تراکنشها اجباری گشت. این فناوری تضمین میکند که مبلغ هر تراکنش مونرو از نظر رمزنگاری پوشیده بماند. در این مقاله، با جزئیات کامل بررسی میکنیم که RingCT چگونه کار میکند، چرا اهمیت دارد، و چگونه ارتقاهایی مانند Bulletproofs و Bulletproofs+ آن را بهبود بخشیدهاند.
چرا پنهان کردن مبالغ تراکنش حیاتی است؟
پیش از RingCT، حریم خصوصی مونرو روی دو ستون قرار داشت: امضاهای حلقهای مشخص نمیکردند کدام خروجی هزینه شده، و آدرسهای مخفی تضمین میکردند آدرس یکسانی برای دو تراکنش مختلف به همان گیرنده روی بلاکچین نمایش داده نشود. با این حال، مبالغ قابل مشاهده آسیبپذیریهای جدی ایجاد میکردند:
- تحلیل موجودی: با دیدن مبالغ، ناظران میتوانستند ورودیها و خروجیهای تراکنشهای مختلف را تطبیق دهند و به تدریج الگوی جریان وجوه را کشف کنند، حتی بدون دانستن آدرسها.
- ردیابی مبلغ: مبالغ منحصربهفرد یا غیرمعمول (مثلاً ۷.۳۱۸۴۹ XMR) میتوانستند فرستنده را به گیرنده پیوند دهند اگر مبالغ هر دو طرف خارج از زنجیره شناخته شده بودند.
- تضعیف امضاهای حلقهای: با مبالغ قابل مشاهده، خروجیهای فریبنده در یک حلقه باید دقیقاً همان مبلغ خروجی واقعی را داشتند که مجموعه ناشناسی را به شدت محدود و حذف آماری را ممکن میکرد.
- جاسوسی تجاری: رقبا میتوانستند کسبوکارهایی را که پرداخت دریافت میکردند، با رصد کردن مبالغ تراکنشهای دریافتی پروفایلسازی کنند.
با RingCT، تمامی این بردارهای حمله خنثی شدند. فیلد مبلغ با یک تعهد رمزنگاری جایگزین شد که اعتبار ریاضی را بدون افشای مقدار زیربنایی اثبات میکند.
تعهدات پدرسن: شالوده ریاضی RingCT
در قلب RingCT، طرح تعهد پدرسن جای دارد؛ یک ابتکار رمزنگاری که به کسی اجازه میدهد به مقداری متعهد شود بدون اینکه آن را فاش کند، در حالی که تأیید ریاضی همچنان امکانپذیر است.
یک تعهد پدرسن به مقدار v به شکل زیر است:
C = vG + rH
در این فرمول، G و H نقاط مولد روی یک منحنی بیضوی هستند (در مونرو، منحنی Ed25519)، v مبلغ تراکنش است، و r یک عامل کورکننده تصادفی است که تنها برای شرکتکنندگان شناختهشده است. با داشتن تنها C، محاسبه v یا r به صورت مجزا از نظر محاسباتی غیرممکن است و مسئله لگاریتم گسسته این امنیت را تضمین میکند.
ویژگی همومورفیک
تعهدات پدرسن یک ویژگی استثنایی دارند: آنها جمعپذیر همومورفیک هستند. یعنی اگر دو تعهد را با هم جمع کنید، نتیجه یک تعهد معتبر به مجموع مقادیر اصلی خواهد بود:
C1 + C2 = (v1 + v2)G + (r1 + r2)H
این ویژگی همان چیزی است که تراکنشهای محرمانه را بدون افشای مبالغ ممکن میسازد. ماینرها و گرهها میتوانند تأیید کنند که مجموع تعهدات ورودی برابر با مجموع تعهدات خروجی (به علاوه تعهد کارمزد) است، که تأیید میکند هیچ XMR از هوا خلق نشده، و همه اینها بدون اینکه مبالغ واقعی دیده شوند.
برای معتبر بودن یک تراکنش، این رابطه باید برقرار باشد: تعهدات تمام ورودیها منهای تعهدات تمام خروجیها منهای تعهد کارمزد باید برابر صفر باشد. اگر این معادله متعادل شود، ریاضیاً ثابت میشود که تراکنش ارزش را حفظ کرده است.
اثباتهای بازه: جلوگیری از مبالغ منفی
یک مشکل ظریف اما حیاتی در استفاده از تعهدات پدرسن به تنهایی وجود دارد. چون طرح تعهد روی یک گروه ریاضی کار میکند، اعداد منفی هم معتبر هستند. یک مهاجم میتواند تراکنشی با یک خروجی منفی ۱۰۰۰ XMR و خروجی دیگری برابر ۱۰۰۰ XMR به علاوه مبلغ ورودی ایجاد کند. تعهدات همچنان متعادل خواهند بود، اما مهاجم عملاً XMR از هیچ خلق کرده است.
برای جلوگیری از این، هر تراکنش RingCT برای هر خروجی یک اثبات بازه شامل میشود. اثبات بازه یک اثبات دانش صفر است که نشان میدهد مقدار متعهد در یک بازه مشخص (معمولاً ۰ تا ۲^۶۴ - ۱) قرار دارد بدون اینکه مقدار واقعی را فاش کند.
اثباتهای بازه بوررومئان اصلی
پیادهسازی اصلی RingCT از امضاهای حلقهای بوررومئان برای ساخت اثباتهای بازه استفاده کرد. هر بیت از مبلغ متعهد به امضای حلقهای جداگانهای نیاز داشت که اندازه اثبات را به صورت خطی با تعداد بیتها افزایش میداد. برای یک اثبات بازه ۶۴ بیتی، این به معنای ۶۴ امضای حلقهای مجزا برای هر خروجی بود. در حالی که از نظر رمزنگاری درست بود، این اثباتها بزرگ بودند، معمولاً حدود ۶ کیلوبایت برای هر خروجی که تراکنشها را به طور قابل توجهی سنگینتر میکرد.
Bulletproofs: اولین بهینهسازی عمده
در اکتبر ۲۰۱۸، مونرو Bulletproofs را پذیرفت؛ یک پیشرفت در فناوری اثبات بازه که توسط Benedikt Bunz و همکارانش در دانشگاه استنفورد توسعه یافت. Bulletproofs نوعی اثبات دانش صفر غیرتعاملی با مقیاسبندی لگاریتمی اندازه به جای خطی هستند. این اندازه اثباتهای بازه را حدود ۸۰٪ کاهش داد و اثباتهای بازه یک تراکنش معمولی با دو خروجی را از حدود ۱۳ کیلوبایت به تقریباً ۲.۵ کیلوبایت رساند.
Bulletproofs همچنین تأیید دستهای را معرفی کرد که اجازه میدهد چند اثبات بازه در یک تراکنش جمعبندی شوند. یک تراکنش با دو خروجی به اندازه دو برابر اثبات یک خروجی نیاز ندارد؛ اثبات جمعبندیشده فقط کمی بزرگتر است که تراکنشهای مونرو را به طور قابل توجهی ارزانتر و سریعتر برای تأیید کرد.
Bulletproofs+: پالایش بیشتر
در اوت ۲۰۲۲، با هارد فورک مونرو که همچنین انتشار دم را معرفی کرد، Bulletproofs+ جایگزین Bulletproofs اصلی شد. این طرح بهروزرسانیشده، بر اساس تحقیقات Heewon Chung و همکارانش، یک کاهش اندازه اضافی حدود ۵-۷٪ و سرعت تأیید بهتر را به دست آورد که نشاندهنده بهینهسازی مستمر پروتکل بود.
مقایسه قبل و بعد از RingCT
تفاوت بین مونرو قبل و بعد از RingCT نشان میدهد این ارتقا چقدر تحولآفرین بود:
- قابلیت مشاهده مبلغ: تراکنشهای قبل از RingCT مبالغ دقیق را روی زنجیره نمایش میدادند. بعد از RingCT، همه مبالغ پشت تعهدات پدرسن پنهان شدهاند.
- انعطافپذیری امضای حلقهای: قبل از RingCT، فریبها باید خروجیهایی با همان مقدار نامی میبودند. بعد از RingCT، هر خروجی میتواند بدون توجه به مبلغ پنهانش فریب باشد که گستره فریبهای بالقوه را بسیار افزایش میدهد.
- ساختار تراکنش: تراکنشهای قبل از RingCT اغلب به ورودیها و خروجیهای چندگانه با مقادیر نامی تطبیقیافته نیاز داشتند. تراکنشهای بعد از RingCT ساختار یکنواختی دارند.
- مقاومت در برابر تحلیل زنجیره: ترکیب مبالغ پنهان با امضاهای حلقهای و آدرسهای مخفی آخرین مسیر عمده برای نظارت غیرفعال بلاکچین را بست.
شایان ذکر است که خروجیهای قبل از RingCT همچنان روی بلاکچین مونرو وجود دارند. در حالی که در تراکنشهای جدید نمیتوان آنها را ایجاد کرد، خروجیهای هزینهنشده قدیمی از قبل از بلوک ۱٬۲۲۰٬۵۱۶ میتوانند نظری هنوز خرج شوند. جامعه مونرو رویکردهای مختلفی برای کاهش خطرات حریم خصوصی باقیمانده از این خروجیهای قدیمی مورد بحث قرار داده است.
تعامل RingCT با امضاهای حلقهای
RingCT به تنهایی کار نمیکند؛ بلکه با امضاهای حلقهای مونرو همکاری میکند تا حریم خصوصی جامع تراکنش را فراهم سازد. هنگام ایجاد یک تراکنش، امضای حلقهای ثابت میکند که یکی از خروجیهای مرجع هزینه شده بدون اینکه کدام یک مشخص شود. RingCT این را با اثبات اینکه مبالغ پنهان متعادل هستند بدون افشای آنها گسترش میدهد.
نوآوری کلیدی طرح امضای MLSAG (گروه ناشناس خودانگیخته پیوندپذیر چندلایهای) است که در RingCT اصلی استفاده شد و بعداً در سال ۲۰۲۰ به CLSAG (گروه ناشناس خودانگیخته پیوندپذیر مختصر) ارتقا یافت. CLSAG اندازه امضاها را حدود ۲۵٪ کاهش داد در حالی که همان ضمانتهای امنیتی را حفظ کرد. هر دو طرح تعهدات مبلغ را مستقیماً در ساختار امضای حلقهای ادغام میکنند و یک اثبات یکپارچه از ناشناسی فرستنده و محرمانگی مبلغ ایجاد میکنند.
مقایسه RingCT با رویکردهای سایر ارزهای دیجیتال
برای درک اهمیت RingCT، مقایسه آن با رویکردهای سایر ارزهای دیجیتال به حریم خصوصی مفید است:
- بیتکوین: مبالغ تمام تراکنشها به طور کامل روی بلاکچین قابل مشاهده هستند. هیچ حریم خصوصی مبلغی وجود ندارد و هر ناظری میتواند جریان وجوه را ردیابی کند.
- Zcash: تراکنشهای محافظتشده از اثباتهای دانش صفر zk-SNARKs برای پنهان کردن مبالغ استفاده میکنند، اما این تراکنشها اختیاری هستند و تنها بخش کوچکی از تراکنشهای Zcash را تشکیل میدهند.
- Dash: PrivateSend یک سرویس اختلاط سکه است که حریم خصوصی محدودی ارائه میدهد و مبالغ را پنهان نمیکند.
- مونرو: RingCT برای همه تراکنشها اجباری است. حریم خصوصی پیشفرض است، نه اختیاری، و این تمایز اساسی است.
تمایز کلیدی مونرو این است که RingCT اجباری است. هیچ کاربری نمیتواند به صورت تصادفی یک تراکنش شفاف ارسال کند، که مجموعه ناشناسی را برای همه کاربران حفظ میکند و شبکه یکپارچهای از حریم خصوصی ایجاد میکند.
ساختار فنی یک تراکنش RingCT
برای درک عمیقتر، بیایید ساختار واقعی یک تراکنش RingCT را بررسی کنیم. هر تراکنش مونرو شامل اجزای کلیدی زیر است:
- ورودیها (Inputs): هر ورودی به یک خروجی تراکنش قبلی اشاره میکند. با RingCT، این ورودیها شامل یک بردار امضاهای حلقهای هستند که ناشناسی فرستنده را تضمین میکنند، به علاوه یک تعهد پدرسن که مبلغ ورودی را پنهان میکند.
- خروجیها (Outputs): هر خروجی شامل یک تعهد پدرسن به مبلغ خروجی است، یک آدرس مخفی یکبار مصرف برای گیرنده، و یک اثبات بازه (Bulletproofs+) که تأیید میکند مبلغ خروجی غیرمنفی است.
- کارمزد: کارمزد تراکنش به صورت ساده روی زنجیره نوشته میشود. این امر برای ماینرها لازم است تا بتوانند تراکنشها را بدون دانستن مبالغ کامل اولویتبندی کنند.
- اثبات تراز: اثباتی که نشان میدهد مجموع تعهدات ورودی برابر مجموع تعهدات خروجی به علاوه تعهد کارمزد است.
این ساختار تضمین میکند که تراکنشهای مونرو هم ارزش را حفظ میکنند (بدون خلق XMR) و هم حریم خصوصی را (بدون افشای مبالغ دقیق) به صورت همزمان.
نگاه به آینده: FCMP++ و فراتر از آن
جامعه توسعه مونرو به پیشرفت پایههای رمزنگاری ادامه میدهد. پروتکل آینده اثباتهای عضویت کامل زنجیره (FCMP++) جایگزین امضاهای حلقهای خواهد شد و به هر خروجی تراکنش روی بلاکچین اجازه میدهد به عنوان فریب بالقوه عمل کند. وقتی این با مبالغ پنهان RingCT ترکیب شود، مجموعه ناشناسی برابر با کل خروجیهای مونرو فراهم خواهد شد نه فقط اندازه حلقه فعلی ۱۶.
تعهدات پدرسن و اثباتهای بازه RingCT حتی با FCMP++ به عنوان لایه پنهانکننده مبلغ ادامه خواهند داد. ظرافت ریاضی طرح تعهد تضمین میکند که بدون توجه به تغییرات در سیستم اثبات عضویت، کارآمد و ایمن باقی بماند.
پیامدهای عملی برای کاربران MoneroSwapper
برای کاربران روزمره MoneroSwapper و سایر سرویسهای مونرو، RingCT کاملاً در پسزمینه عمل میکند. هر تراکنشی که ارسال یا دریافت میکنید به صورت خودکار از مبالغ پنهان بهرهمند میشود. هیچ تنظیماتی برای پیکربندی وجود ندارد، هیچ حریم خصوصی اختیاری برای فعالسازی، و هیچ راهی برای ارسال تصادفی یک تراکنش شفاف نیست. این حریم خصوصی پیشفرض اجباری یک اصل طراحی اساسی است که مونرو را از ارزهای دیجیتالی که ویژگیهای حریم خصوصی اختیاری دارند متمایز میسازد.
وقتی بیتکوین، اتریوم یا هر ارز دیجیتال دیگری را از طریق MoneroSwapper با مونرو تبادل میکنید، به محض اینکه XMR شما به کیف پولتان میرسد، مبلغ از تمام ناظران خارجی پنهان میشود. هیچکس که بلاکچین را رصد میکند نمیتواند تشخیص دهد چه مقدار دریافت کردهاید، موجودی شما چقدر است، یا چگونه وجوه خود را بعداً خرج میکنید. این سطح از حریم خصوصی در دنیای ارزهای دیجیتال بینظیر است.
اهمیت RingCT در اکوسیستم گستردهتر حریم خصوصی مونرو
RingCT تنها بخشی از رویکرد چندلایه مونرو به حریم خصوصی است. برای درک کامل چرا مونرو استاندارد طلایی ارزهای دیجیتال حریم خصوصی در نظر گرفته میشود، باید هر لایه را بشناسیم:
- لایه فرستنده: امضاهای حلقهای (با تکامل به MLSAG، سپس CLSAG، و آینده FCMP++) مشخص نمیکنند کدام کاربر یک تراکنش را آغاز کرده است.
- لایه گیرنده: آدرسهای مخفی تضمین میکنند هر تراکنش به یک آدرس یکبار مصرف ارسال میشود که به هویت گیرنده قابل ردیابی نیست.
- لایه مبلغ: RingCT مبالغ دقیق همه تراکنشها را پنهان میکند تا هیچکس نتواند ارزش منتقلشده را تشخیص دهد.
این سه لایه با هم کار میکنند تا تضمین کنند که هر جنبهای از یک تراکنش مونرو، از فرستنده تا گیرنده تا مبلغ، در برابر تحلیل بلاکچین محافظت میشود. این رویکرد جامع حریم خصوصی مونرو را در جایگاه ممتازی در اکوسیستم ارزهای دیجیتال قرار میدهد.
نتیجهگیری
تراکنشهای محرمانه حلقهای یکی از مهمترین نوآوریهای حریم خصوصی در تاریخ ارزهای دیجیتال هستند. با ترکیب تعهدات پدرسن با اثباتهای بازه، RingCT آخرین مشکل عمده شفافیت در پروتکل اصلی CryptoNote را برطرف کرد. بهینهسازیهای بعدی از طریق Bulletproofs و Bulletproofs+ سیستم را به طور فزایندهای کارآمدتر کردند بدون اینکه امنیت را به خطر بیندازند. با تکامل مونرو با فناوریهایی مانند FCMP++، پایه RingCT از مبالغ پنهان یک لایه دائمی و ضروری از پشته حریم خصوصی باقی میماند. برای هر کسی که به حریم خصوصی مالی واقعی نیاز دارد، مونرو با RingCT در قلب آن ابزاری بینظیر در چشمانداز ارزهای دیجیتال ارائه میدهد.
🌍 خواندن به زبان