اولین نکتهای که در مورد شبکه مونرو و رمز ارز XMR مونرو میشنویم، غیرقابل ردیابی بودن تراکنشهای آن است. شبکهای که حریم خصوصی افراد را رعایت میکند؛ Monero سیستم ارزی امن، خصوصی و غیرقابل ردیابی است. ویژگیهای امنیتی مونرو از نوع خاصی از رمزنگاری استفاده میکند تا اطمینان حاصل کند که تمام معاملات آن ۱۰۰ ٪ غیرقابل ردیابی باشد. در این مقاله، سعی داریم با مکانیکهای مونرو آشنا شویم و اینکه چه چیزی آن را بسیار خاص کرده است.
مهمترین ویژگیهای امنیتی مونرو
پول نقد دیجیتال ایده آل باید سه شرط را برآورده کند:
- باید دیجیتال باشد
- باید غیرمتمرکز باشد
- باید خصوصی باشد
مونرو Monero، در تلاش است تا این ۳ معیار را برآورده کند. فلسفه اساسی در پشت شبکه مونرو، حریم خصوصی و شفافیت کامل است. که اینکار از طریق یک فرایند سه مرحلهای به وسیله ویژگیهای امنیتی مونرو صورت میگیرد:
- حریم خصوصی فرستنده توسط امضای حلقوی (Ring Signatures) حفظ میشود.
- حریم خصوصی گیرنده توسط آدرسهای مخفی (Stealth Addresses) حفظ میشود
- حریم خصوصی تراکنش توسط تراکنشهای محرمانه حلقوی (RingCT) حفظ میشود
حریم خصوصی مونرو به یک مکانیزم واحد بستگی ندارد که اگر شکسته شود، کل تراکنشهای آن آشکار شود، بلکه سه فناوری مختلف است که به طور هم زمان برای تأمین حریم خصوصی و در عین حال جبران نقاط ضعف قسمتهای دیگر، کار میکنند. این رویکرد سه شاخهای شامل امضاهای حلقهای برای مخفی نگه داشتن آدرسها است. این سه فناوری به ترتیب خروجی واقعی (فرستنده)، مقدار و گیرنده را پنهان میکنند. در ادامه به بررسی این مکانیزمهای امنیتی خواهیم پرداخت.
امضای حلقوی (Ring Signatures)
امضای حلقوی را میتوان یکی از مهمترین ویژگیهای امنیتی مونرو دانست.
برای اینکه بفهمید امضای حلقوی چیست و چگونه به حفظ حریم خصوصی فرستنده کمک میکند، میخواهیم یک مثال فرضی از زندگی واقعی بزنیم.
وقتی در حال ارسال چک برای کسی هستید، باید آن چک را با دست خود امضا کنید.به همین دلیل، هر کسی چک شما را میبیند و میداند که امضای شما چگونه است، میتواند بگوید شما شخصی هستید که آن را ارسال کرده است. پس حالا به این فکر کنید.
فرض کنید، شما ۴ نفر را تصادفی از خیابان انتخاب میکنید و شما امضای خود را با این ۴ نفر ادغام میکنید تا یک امضای منحصر به فرد ایجاد کنید. پس هیچ کس نمیتواند بفهمد که آیا واقعاً این امضای شماست یا خیر. در اصل، این نحوه کار امضای حلقوی است. حالا بیایید مکانیسم آن را در مونرو ببینیم.
اگر با مفهوم امضای حلقوی آشنا نیستید: از تبانی کردن محفوظ بمانید؛ امضای حلقوی (ring signature) چیست؟
فرض کنید ، شما باید ۱,۰۰۰ رمز ارز XMR را برای دوست خود ارسال کنید، سیستم چگونه از امضاهای حلقوی برای پنهان کردن هویت او استفاده میکند؟
در مرحله اول، شما “اندازه حلقه” خود را تعیین میکنید. اندازه حلقه، خروجیهای تصادفی گرفته شده از شبکه monero است که دارای همان ارزش خروجی شما با نام مستعار ۱,۰۰۰ رمز ارز XMR است. هرچه اندازه حلقه بزرگتر باشد، تراکنش بزرگتر و در نتیجه کارمزد تراکنش نیز بالاتر است. سپس شما این خروجیها را با کلید خصوصی خود امضا میکنید و آن را به بلاک چین میفرستید. نکته دیگری که باید توجه داشته باشید این است که، نیازی نیست که شما برای استفاده از این خروجیها از صاحبان قبلی آن برای ایجاد تراکنش اجازه بخواهید.
بنابراین ، فرض کنید شما یک اندازه حلقه ۵ تایی، یعنی ۴ ناشناس و تراکنش خود را برای خروجی انتخاب میکنید که به صورت شکل زیر است:
در یک تراکنش با امضای حلقوی، هر یک از خروجیهای دیگری که از شبکه مونرو گرفته شدهاند به همان اندازه خروجی واقعی به عنوان یک خروجی است که به همین دلیل، هیچ شخص ثالث دیگری (از جمله ماینرها) نمی تواند بفهمند که فرستنده اصلی کیست. اما در اینجا به یک مشکل برمیخوریم.
یکی از نقشهای مهمی که ماینرها بر عهده دارند جلوگیری از “دوبار خرج کردن (Double spending)” است. استفاده مجدد توکن در واقع به معنای صرف دقیقاً یک توکن همزمان برای بیش از یک تراکنش است. در یک بلاک چین، تراکنشها فقط زمانی رخ میدهد که ماینرها تراکنش را در بلوکی که استخراج کردهاند، قرار دهند.
بنابراین فرض کنید ، شخص A باید ۱ بیت کوین برای B ارسال کند و سپس او همان توکن را به C بفرستد، ماینرها یک تراکنش را در داخل بلوک انجام میدهند و در نتیجه، تراکنش دوم بر روی تراکنش اول قرار میگیرد، که مانع از دوبار خرج کردن در روند کار شود. اما این تنها زمانی امکان پذیر است که ماینرها واقعاً ببینند ورودی تراکنش در واقع چیست و فرستنده کیست. در مونرو، اینها همه به لطف امضای حلقوی پنهان و پوشیده است. بنابراین چگونه ماینرها از دوبار خرج کردن جلوگیری میکنند؟ پاسخ آن در رمزنگاری مبتکرانه است.
هر تراکنش در مونرو با تصویر کلیدی (Key Images) منحصر به فرد خود همراه است. از آنجا که تصویر کلیدی برای هر تراکنش منحصر به فرد است، ماینرها میتوانند به سادگی آن را بررسی کرده و بدانند که آیا یک توکن Monero دو برابر استفاده شده است یا خیر. بنابراین، مونرو اینگونه با استفاده از امضای حلقوی، حریم خصوصی فرستنده را حفظ میکند.
آدرسهای مخفی (Stealth Addresses)
یکی از بزرگترین نقاط قوت و برتری مونرو غیرقابل ارتباط بودن تراکنش است. در واقع، اگر کسی برای شما ۲۰۰ارز دیجیتال XMR ارسال کند، هیچکس نباید بداند که این پول به آدرس شما میآید.
فرض کنید آلیس میخواهد برای باب پول بفرستد، فقط آلیس باید بداند که باب دریافت کننده پول او است و هیچکس دیگری نباید بداند. بنابراین، مونرو چگونه حریم خصوصی باب را تضمین میکند؟ به یاد داشته باشید، باب دارای ۲ کلید عمومی است، یک کلید نمایش عمومی و یک کلید ارسال عمومی است.
برای انجام این تراکنش، کیف پول آلیس از طریق کلید نمایش عمومی و کلید ارسال عمومی باب برای تولید یک کلید عمومی یکبار مصرف منحصر به فرد استفاده میکند. این محاسبه کلید عمومی یکبار مصرف یا (P) از طریق فرمو زیر بدست میآید.
محاسبه این کلید عمومی یکبار مصرف باعث ایجاد یک آدرس عمومی یکبار مصرف به نام “آدرس مخفی” در بلاک چینی میشود که آلیس مونرو خود را برای باب ارسال میکند. اما حال، چگونه باب قرار است قفل مونرو خود را از توزیع تصادفی داده آزاد کند؟ باید یادآوریم کنم که باب کلید هزینه خصوصی هم دارد.
اینجاست که از آن کلید استفاده میشود. کلید هزینه خصوصی در اصل به باب کمک میکند تا بلاک چین را برای یافتن تراکنش خود بررسی کند. وقتی باب با تراکنش روبرو شد، میتواند یک کلید خصوصی را که با کلید عمومی یکبار مصرف مطابقت دارد، محاسبه کند و مونرو خود را بازیابی کند. بنابراین آلیس بدون اینکه کسی از این موضوع باخبر شود، پول را در مونرو به باب پرداخت کرد.
حالا به یک سوال که در امضای حلقوی به آن اشاره کردیم میرسیم. چگونه یک تصویر کلیدی یا (I) محاسبه میشود؟
اکنون میدانیم که کلید عمومی یکبار مصرف (P) چگونه محاسبه شده است. و ما کلید خرج خصوصی فرستنده را داریم که به آن “x” میگوییم. پس برای محاسبه تصویر کلیدی از معادله I = xH(P) استفاده میکنیم. مواردی که باید از این معادله به یاد داشته باشید.
- غیرممکن است که آدرس عمومی (P) را از تصویر کلیدی “I” استخراج کنید (این ویژگی تابع هش رمزنگاری است) و از این رو هویت آلیس هرگز آشکار نخواهد شد.
- P همیشه وقتی هش میشود همان مقدار را میدهد، یعنی H (P) همیشه یکسان است. این بدان معناست که، از آنجا که مقدار “x” برای آلیس ثابت است، او هرگز قادر به تولید مقادیر متعدد “I” نخواهد بود. که این یعنی تصویر کلیدی را برای هر معامله منحصر به فرد میکند.
تراکنشهای محرمانه حلقوی (RingCT)
حال نگاهی به چگونگی مخفی کردن تراکنشهای مونرو توسط ویژگی تراکنشهای محرمانه حلقوی (RingCT) بپردازیم. اکنون ما دیدیم که چگونه میتوان فرستنده و گیرنده را ناشناس نگه داشت. اما در مورد خود تراکنش چطور؟ آیا راهی برای اطمینان از پنهان بودن مبلغ تراکنش نیز وجود دارد؟
تراکنشهای محرمانه حلقوی مسلماً فنیترین بخش از ویژگیهای امنیتی مونرو و مکانیزم سه مرحلهای آن است و درک آن دشوار است، بنابراین ما دقیقاً نحوه کارکرد آن را شرح نخواهیم داد، بلکه نشان خواهیم داد که چگونه ممکن است از مبلغی اطلاع نداشته باشید و همچنان آن را تأیید کنید. برای اینکه راحتتر این موضوع را درک کنید سعی داریم با مثال آن را برای شما توضیح دهیم.
قبل از اجرای RingCT، تراکنشها به این صورت انجام میشد: اگر شما میخواستید ۱۲.۵ XMR به دوست خود ارسال کنید، خروجی به ۳ تراکنش ۱۰،۲ و ۰.۵ تقسیم میشد. هر یک از این تراکنشها،امضای حلقوی خود را به دست میآورد و سپس به بلاک چین اضافه میشود.
در حالی که اینکار از حریم خصوصی فرستنده محافظت میکرد، اما آنچه انجام داد این بود که تراکنشها را برای همه قابل مشاهده میکرد. برای حل این مسئله، RingCT اجرا شد که براساس تحقیقی توسط Gregory Maxwell انجام شد. کاری که RingCT انجام میدهد ساده است، مبلغ تراکنش را در بلاک چین پنهان میکند. معنی این نیز این است که هیچ ورودی تراکنشی، نیازی به تقسیم به قسمتهای شناخته شده ندارد، اکنون کیف پول میتواند اعضای حلقه را از هر خروجی RingCT انتخاب کند.
اما فکر کنید چه چیزی باعث میشود حریم خصوصی تراکنش انجام شود؟ از آنجا که گزینههای بیشتری برای انتخاب حلقه وجود دارد و حتی ارزش آن نیز مشخص نیست، دیگر نمیتوان از تراکنش خاصی آگاهی داشت.
این ۳ عامل که از ویژگیهای امنیتی مونرو هستند برای ایجاد سیستمی که از طریق آن حریم خصوصی کامل ارائه شود، هماهنگ عمل میکنند. اما این هنوز برای توسعه دهندگان مونرو کافی نبود. آنها به یک لایه امنیتی بیشتر احتیاج داشتند.
لایه امنیتی Kovri وI2P
I2p یا پروژه اینترنت نامرئی یک سیستم مسیریابی است که به برنامههای کاربردی اجازه میدهد بدون هیچ گونه تداخل خارجی پیام خصوصی را برای یکدیگر ارسال کنند. Kovri یک اجرای C ++ از I2P است که قرار است با کدهای مونرو یکپارچه شود.
اگر از مونرو استفاده میکنید، Kovri ترافیک اینترنت شما را پنهان میکند به طوری که نظارت غیرفعال در شبکه نمیتواند نشان دهد که شما از Monero استفاده میکنید. برای اینکه این اتفاق بیافتد، تمام ترافیک مونرو شما رمزگذاری شده و از طریق نودهای I2P هدایت میشود.
این نودها مانند یک دروازه بان کور هستند. آنها میدانند که پیامهای شما در حال عبور هستند اما نمیدانند دقیقاً به کجا میروند و محتوای پیامها چیست. امید است که رابطه بین I2P و مونرو یک رابطه همزیستی باشد زیرا:
- مونرو از یک لایه محافظتی اضافی برخوردار خواهد شد.
- تعداد نودهای استفاده شده در I2P را به طور قابل توجهی پس از اجرا افزایش میدهد
چگونه بروزرسانی++ Dandelionمنشا تراکنشهای مونرو را مخفی میکند
Monero به عنوان یک ارز دیجیتال ممکن است با چشم غیر مسلح بسیار کسلکننده به نظر برسد. زیرا فقط سعی دارد تا به یک پول شخصی و دیجیتالی وغیر قابل سرقت باشد و هر نوع ارتقا و فناوری جدید این هدف را بیشتر میکند.
کسانی که این هدف را بسیار محدود یا غیر جالب میدانند به طور کلی نمیدانند که دستیابی به حریم خصوصی معنیدار، به ویژه در یک دفتر کل و باز مانند بلاک چین، دشوار است.
در حال حاضر حملاتی برای شناسایی IP آدرس حاصل از تراکنشها صورت میگیرد. اگر این اطلاعات استخراج شود، میتواند نشان دهد که چه کسی تراکنش مونرو را ارسال کرده است. با اینکه امکان اینکه تراکنش به چه کسی و به چه مقدار ارسال شده ممکن نیست، اما اگر آدرس فرد فرستنده نیز مشخص شود، برای صدمه زدن به مونرو کافی است.
خبر خوب این است که اگر این اطلاعات در لحظه انجام تراکنش جمع آوری نشود، نمی توان آن را بعدا بدست آورد، زیرا IP آدرسها در بلاک چین ذخیره نشدهاند. اما اگر به نحوی شخصی بتواند به وسیله کنترل نودها IP آدرس شخص فرستنده را پیدا کند آنوقت راهحل چیست؟
تراکنش رمز ارز XMR
اولین راهحل برای اینکار استفاده از نرمافزارهای مانند Tor و vpn برای مخفی کردن IP آدرس است. با این وجود این یک راه حل فراگیر نیست، زیرا شبکه های همپوشانی، VPN و نرم افزارهای مشابه در بسیاری از کشورها ممنوع است و انتظار همه برای استفاده، از آنها در این شبکهها غیرواقعی است. باید راه حلی وجود داشته باشد که نیازی به استفاده از نرم افزار و شبکه های خارجی نداشته باشد. یک راهحل که برای همه قابل استفاده است.
این راه حل ++ Dandelion یا (DPP) است، که یک پروتکل ارتقا یافته از پروتکل اصلی Dandelion که برای بیت کوین بوده است. در این پروتکل، دو مرحله وجود دارد: مرحله ساقه و مرحله کرک. که قرار است هر دو با هم شکل یک قاصدک (Dandelion ) را نشان دهند. در مرحله ساقه، هر چند دقیقه، نود ارسال کننده به طور تصادفی از بین نودهایی که به آنها متصل است، دو همتا را انتخاب میکند.
هنگامی که گره ارسال کننده یک تراکنش را ارسال میکند، که یا از طرف خودش است یا تنها ارسالکننده تراکنش یک نود دیگر است، در مرحله “ساقه” قرار داریم. که به طور تصادفی یکی از این دو همتا را انتخاب کرده و تراکنش را برای آن ارسال میکند.
مرحله “کرک” زمانی است که یک نود یک تراکنش را دریافت میکند و آن را به اتصال خروجی به جای انتخاب یک اتصال تصادفی، وصل میکند، این کار امکان انتشار واقعی تراکنش را فراهم میکند.
هر چند دقیقه یک نود خود را به عنوان نودی تعریف میکند که یا از طریق ساقه یا از طریق کرک به طور تصادفی انتخاب شده است. اگر هر نود اتصال خود را به عنوان نود ساقه تعریف کند، یک مرحله ساقه میتواند کاملاً طولانی باشد، اما هنگامی که تراکنش به مرحله کرک رسید، در آنجا باقی میماند.
این بدان معناست که یک مهاجم دیگر قادر نخواهد بود به سادگی جهت تراکنش را متوجه شود، زیرا قبل از آن که برای همه ارسال شود، تحت مرحله ساقه قرار گرفته و نود مبدأ فاز کرک نودی نیست که تراکنش از آن منشأ گرفته است و مشخص نیست که چند تغییر در قبل از تراکنش در امتداد ساقه انجام شده است.
البته، با ترکیب راه حلهای بالا (DPP به علاوه یک شبکه vpn) تضمین محکمتری در برابر ردیابی IP خواهید داشت.
نتیجهگیری
در این مقاله سعی کردیم ویژگیهای امنیتی مونرو را بررسی کنیم و ببینیم که مونرو چطور توانسته است، حریم خصوصی خود را حفظ کند. با اینکه مونرو دارای مشکلاتی نظیر کمبود گزینههای کیفپول مونرو برای ذخیره، بزرگ بودن سایز تراکنشها و وجود مارکتکپ نه چندان بزرگ که احتمال حمله ۵۱ درصد را در آن افزایش میدهد، دارد اما وجود حریم خصوصی بسیار بالای آن، این شبکه را از هر جهت با سایرین متفاوت میکند.
البته شبکههای دیگری نیز مانند مونرو وجود دارد ولی مونرو به دلیل تعهد به حریم خصوصی و ناشناس ماندن در تراکنشهای خود، بسیار فراتر از سایر ارزهای دیجیتال با نظارت قانونی روبرو شده است. زیرا در حال حاضر دولتهای زیادی برای شکستن کدهای آن حاضر به پرداخت مبالغ هنگفتی شدهاند.
اینکه ویژگیهای امنیتی مونرو تا چه زمانی میتواند این شبکه را حفظ کند، مشخص نیست اما مونرو تا کنون توانسته است کار بسیار بزرگی انجام دهد و از این جهت قابل ستایش است. شما نیز میتوانید نظرات خود را در مورد مونرو با ما درمیان بگذارید.