شناسه پرداخت در مونرو: چرا منسوخ شدند
ظهور و سقوط شناسههای پرداخت
شناسههای پرداخت زمانی یک ویژگی همهجاحاضر در اکوسیستم مونرو بودند. اگر قبل از سال ۲۰۱۹ از مونرو استفاده کردهاید، تقریباً مطمئناً هنگام واریز به صرافیها یا پرداخت به فروشندگان با آنها مواجه شدهاید. این شناسههای اضافی به تراکنشها اضافه میشدند تا به گیرندگان کمک کنند بین چندین پرداخت ورودی تمایز قائل شوند. با وجود سودمندی، شناسههای پرداخت مشکلات قابل توجهی در حریم خصوصی و قابلیت استفاده ایجاد کردند که در نهایت به منسوخ شدن آنها منجر شد.
درک این تاریخچه برای هر کسی که امروز از مونرو استفاده میکند مهم است، به ویژه هنگام تعامل با سرویسهای قدیمیتر که ممکن است هنوز به شناسههای پرداخت اشاره کنند. چه از طریق MoneroSwapper مبادله کنید و چه کیف پول خود را مدیریت کنید، دانستن اینکه چه چیزی جایگزین شناسههای پرداخت شد و چرا، به شما کمک میکند تراکنشهای امنتری انجام دهید.
شناسههای پرداخت چه بودند؟
شناسه پرداخت یک رشته هگزادسیمال ۶۴ کاراکتری (۳۲ بایت) بود که میتوانست به یک تراکنش مونرو پیوست شود. آن را مانند یک شماره مرجع یا شناسه فاکتور تعبیه شده مستقیماً در تراکنش بلاکچین در نظر بگیرید. دو نوع وجود داشت:
شناسههای پرداخت بلند (رمزنگاری نشده)
فرمت اصلی شناسه پرداخت یک رشته ۳۲ بایتی بود که به صورت متن ساده به عنوان بخشی از فیلد اضافی تراکنش منتقل میشد. وقتی تراکنشی با شناسه پرداخت بلند ارسال میکردید، هر کسی که بلاکچین را مشاهده میکرد میتوانست مقدار شناسه پرداخت را ببیند. این قدیمیترین روش بود و به طور گسترده توسط صرافیها و پردازشگران پرداخت استفاده میشد.
مشکل از دیدگاه حریم خصوصی فوراً آشکار بود: اگر صرافی آدرس واریز خود را منتشر میکرد و شناسههای پرداخت منحصر به فرد به هر کاربر اختصاص میداد، یک ناظر میتوانست تمام واریزها به آن صرافی را شناسایی کند و احتمالاً شناسههای پرداخت را از طریق تحلیل زمان یا مبلغ به کاربران خاص مرتبط کند.
شناسههای پرداخت رمزنگاری شده (کوتاه)
برای حل مشکل متن ساده، مونرو در سال ۲۰۱۷ شناسههای پرداخت رمزنگاری شده را معرفی کرد. اینها مقادیر ۸ بایتی بودند که با یک راز مشترک مشتق شده از کلیدهای یکبار مصرف تراکنش رمزنگاری شده بودند. فقط گیرنده میتوانست شناسه پرداخت را با استفاده از کلید مشاهده خصوصی خود رمزگشایی کند. روی بلاکچین، شناسه پرداخت رمزنگاری شده برای همه دیگران به صورت داده تصادفی ظاهر میشد.
شناسههای پرداخت رمزنگاری شده با آدرسهای یکپارچه بستهبندی شدند که یک آدرس استاندارد مونرو را با شناسه پرداخت ۸ بایتی در یک رشته آدرس واحد ترکیب میکرد. این کار استفاده از آنها را آسانتر کرد زیرا فرستنده نیازی به کپی و پیست دستی فیلد شناسه پرداخت جداگانه نداشت.
چرا صرافیها و سرویسها از شناسههای پرداخت استفاده میکردند
دلیل عملی شناسههای پرداخت ساده بود: صرافیها و فروشندگان نیاز داشتند پرداختهای ورودی را به کاربران یا سفارشات خاص نسبت دهند. از آنجا که مونرو از آدرسهای پنهان استفاده میکند که هر خروجی تراکنش را منحصر به فرد میسازد، سرویسی که روزانه هزاران واریز دریافت میکند به مکانیزمی نیاز داشت تا تعیین کند کدام واریز متعلق به کدام مشتری است.
گردش کار معمول این بود:
- صرافی به همه کاربران همان آدرس واریز را میدهد اما به هر کاربر شناسه پرداخت منحصر به فرد اختصاص میدهد
- کاربر XMR را با شناسه پرداخت تخصیص یافته به آدرس صرافی ارسال میکند
- صرافی تراکنشهای ورودی را برای شناسه پرداخت اسکن میکند تا حساب صحیح را شارژ کند
این سیستم کار میکرد اما شکننده بود. کاربران اغلب فراموش میکردند شناسه پرداخت را وارد کنند و واریزهای گمشدهای ایجاد میشد که نیاز به بازیابی دستی توسط تیمهای پشتیبانی صرافی داشت. این رایجترین مشکل پشتیبانی برای صرافیهای پذیرنده مونرو و منبع اصلی ناامیدی کاربران بود.
مشکلات حریم خصوصی شناسههای پرداخت
حتی شناسههای پرداخت رمزنگاری شده نیز چندین آسیبپذیری حریم خصوصی ایجاد کردند که تضمینهای اصلی حریم خصوصی مونرو را تضعیف کرد:
قابلیت پیوند از طریق ابرداده
وقتی همه کاربران یک صرافی به همان آدرس ارسال میکردند، مکانیزم آدرس پنهان تضعیف میشد. یک ناظر میتوانست با شناسایی آدرس عمومی تشخیص دهد که تراکنش به صرافی خاصی میرود. شناسه پرداخت، حتی رمزنگاری شده، ابرداده متمایزکننده به تراکنش اضافه میکرد. تراکنشهای با شناسه پرداخت متفاوت از تراکنشهای بدون آن به نظر میرسیدند و دو دسته تراکنش ایجاد میکردند که مجموعه ناشناسی را کاهش میداد.
مشکل دو استخر
تراکنشهای با شناسه پرداخت و تراکنشهای بدون شناسه پرداخت دو استخر بصری متمایز روی بلاکچین تشکیل میدادند. این تمایز اطلاعاتی به تحلیلگران زنجیره ارائه میداد. اگر تراکنشی حاوی شناسه پرداخت رمزنگاری شده بود، بسیار محتمل بود که به صرافی یا فروشنده میرود و گیرندگان احتمالی را به طور قابل توجهی محدود میکرد.
تحلیل زمانبندی و الگو
صرافیها معمولاً واریزها را به صورت دستهای یا با زمانبندی قابل پیشبینی پردازش میکردند. در ترکیب با مدل آدرس واریز واحد، این الگوهایی ایجاد میکرد که تحلیلگران ماهر میتوانستند از آنها بهرهبرداری کنند. ترکیب آدرس شناخته شده، الگوهای زمانی و وجود شناسههای پرداخت حملات همبستگی را بیش از آنچه باید باشد امکانپذیر میساخت.
خطای کاربر به عنوان نشت حریم خصوصی
وقتی کاربران شناسه پرداخت را فراموش میکردند، اغلب مجبور بودند با پشتیبانی تماس بگیرند و ثابت کنند تراکنش متعلق به آنهاست. این معمولاً شامل اشتراکگذاری کلید خصوصی تراکنش یا اطلاعات کلید مشاهده بود که نشت حریم خصوصی اضافی و ردپای کاغذی پیوند دهنده هویت آنها به تراکنش ایجاد میکرد.
جدول زمانی منسوخ شدن
جامعه مونرو این مشکلات را شناسایی کرد و از طریق چندین ارتقاء پروتکل اقدام کرد:
- ۲۰۱۸ (v0.13، Beryllium Bullet) — شناسههای پرداخت بلند (رمزنگاری نشده) منسوخ شدند و نرمافزار کیف پول شروع به نمایش هشدار هنگام تلاش کاربران برای استفاده از آنها کرد
- ۲۰۱۹ (v0.15، Carbon Chamaeleon) — شناسههای پرداخت بلند در سطح پروتکل ممنوع شدند. تراکنشهای با شناسه پرداخت رمزنگاری نشده توسط شبکه رد شدند
- بهروزرسانیهای نرمافزار کیف پول — کیف پولهای GUI و CLI به تدریج فیلدهای شناسه پرداخت را حذف کردند و استفاده از زیرآدرس را تشویق کردند
- مهاجرت صرافیها — صرافیهای بزرگ در سالهای ۲۰۱۹ و ۲۰۲۰ از شناسههای پرداخت به زیرآدرس مهاجرت کردند، برخی با تأخیر بیشتر
شناسههای پرداخت رمزنگاری شده (کوتاه) از طریق آدرسهای یکپارچه هنوز از نظر فنی در سطح پروتکل کار میکنند، اما به شدت منع میشوند. نرمافزار کیف پول مدرن یا گزینه را کاملاً پنهان میکند یا هشدارهای واضح نشان میدهد. اجماع جامعه این است که زیرآدرسها جایگزین صحیح هستند.
زیرآدرسها: جایگزین برتر
زیرآدرسها به عنوان جایگزین توصیه شده برای شناسههای پرداخت معرفی شدند. زیرآدرس یک آدرس منحصر به فرد است که از آدرس اصلی کیف پول شما با استفاده از رابطه ریاضی مشتق میشود که فقط کیف پول شما میتواند محاسبه کند. هر زیرآدرس به صورت رمزنگاری به آدرس اصلی شما مرتبط است، اما پیوند برای ناظران خارجی نامرئی است.
زیرآدرسها چگونه کار میکنند
کیف پول مونرو شما میتواند تعداد نامحدودی زیرآدرس از آدرس اصلی شما تولید کند. هر زیرآدرس برای هر کسی که بلاکچین را مشاهده میکند مانند یک آدرس مونرو کاملاً مستقل به نظر میرسد. وقتی کسی XMR به زیرآدرس شما ارسال میکند، خروجی تراکنش از کلیدهای عمومی زیرآدرس برای تولید آدرس پنهان استفاده میکند و اطمینان میدهد که فقط کیف پول شما میتواند پرداخت را شناسایی کند.
مزایای کلیدی زیرآدرسها نسبت به شناسههای پرداخت:
- بدون آدرس مشترک — هر مشتری یا پرداخت آدرس منحصر به فرد دریافت میکند و مشکل آدرس واحد را کاملاً حذف میکند
- بدون نشت ابرداده — تراکنشها به زیرآدرسها روی بلاکچین مشابه تراکنشها به آدرسهای اصلی به نظر میرسند
- بدون خطای کاربر — کاربران فقط به آدرس ارائه شده ارسال میکنند بدون نیاز به یادآوری فیلد شناسه پرداخت اضافی
- غیرقابل پیوند — ناظر نمیتواند تعیین کند که دو زیرآدرس به یک کیف پول تعلق دارند
- بدون مشکل دو استخر — همه تراکنشها صرف نظر از استفاده از آدرسهای اصلی یا زیرآدرس یکسان به نظر میرسند
زیرآدرسها برای صرافیها
برای صرافیهایی که قبلاً از شناسههای پرداخت استفاده میکردند، مهاجرت به زیرآدرسها هم امنیت و هم تجربه کاربری را بهبود بخشید. به جای دادن همان آدرس با شناسههای پرداخت مختلف به هر کاربر، صرافیها اکنون برای هر کاربر زیرآدرس منحصر به فرد تولید میکنند. کیف پول صرافی به طور خودکار تشخیص میدهد کدام زیرآدرس واریز را دریافت کرده و حساب صحیح را شارژ میکند.
این رویکرد رایجترین مشکل پشتیبانی (شناسههای پرداخت فراموش شده) را حذف کرد و همزمان حریم خصوصی همه کاربران را بهبود بخشید. این مورد نادری بود که راهحل خصوصیتر همچنین کاربرپسندتر بود.
راهنمای مهاجرت برای سرویسهایی که هنوز از شناسههای پرداخت استفاده میکنند
اگر سرویسی را اداره میکنید که هنوز از شناسههای پرداخت استفاده میکند، مهاجرت به زیرآدرسها ساده است:
- زیرآدرس تولید کنید — از روش RPC کیف پول create_address برای تولید زیرآدرس منحصر به فرد برای هر حساب کاربری استفاده کنید
- نگاشت را ذخیره کنید — یک نگاشت پایگاه داده بین حسابهای کاربری و زیرآدرسهای اختصاص یافته آنها نگهداری کنید
- دستورالعملهای واریز را بهروز کنید — فیلدهای شناسه پرداخت را از رابط واریز حذف کنید و فقط زیرآدرس را نمایش دهید
- تراکنشهای ورودی را پایش کنید — از روش RPC get_transfers استفاده کنید که به طور خودکار فهرست زیرآدرس هر تراکنش ورودی را گزارش میدهد
- سازگاری عقبگرد را حفظ کنید — برای دوره انتقالی، اسکن تراکنشهای شناسه پرداخت قدیمی را ادامه دهید تا کاربرانی که دستورالعملهای واریز قدیمی را ذخیره کردهاند تحت تأثیر قرار نگیرند
اگر با سرویسی مواجه شدید که شناسه پرداخت میخواهد چه کنید
با وجود اینکه سالها از منسوخ شدن میگذرد، برخی صرافیها و سرویسهای کوچکتر هنوز شناسه پرداخت درخواست میکنند. اگر با این وضعیت مواجه شدید، آنچه باید بدانید اینجاست:
با احتیاط ادامه دهید. سرویسی که هنوز در سال ۲۰۲۶ از شناسههای پرداخت استفاده میکند ممکن است با تغییرات پروتکل مونرو همگام نباشد که میتواند نشاندهنده نگرانیهای گستردهتر نگهداری و امنیت باشد. در نظر بگیرید که آیا سرویس قابل اعتماد است.
اگر ارائه شد از آدرسهای یکپارچه استفاده کنید. اگر سرویس آدرس یکپارچه ارائه میدهد (که شناسه پرداخت را تعبیه میکند)، کیف پول شما شناسه پرداخت را به طور خودکار مدیریت میکند. این بهتر از وارد کردن دستی شناسه پرداخت بلند است.
شناسه پرداخت را دوباره بررسی کنید. اگر باید شناسه پرداخت را دستی وارد کنید، با دقت کپی و پیست کنید. هر کاراکتر را تأیید کنید. شناسه پرداخت اشتباه به معنای وجوه گمشده است که ممکن است بازیابی آنها دشوار باشد.
جایگزینها را در نظر بگیرید. اگر سرویسی شناسه پرداخت بلند (رمزنگاری نشده) میخواهد، نرمافزار مدرن مونرو احتمالاً تراکنش را رد خواهد کرد. ممکن است نیاز باشد از سرویس دیگری استفاده کنید یا درخواست کنید به زیرآدرسها بهروزرسانی کنند. سرویسهایی مانند MoneroSwapper از زیرساخت مدرن استفاده میکنند که نیاز به شناسه پرداخت ندارد.
درس بزرگتر
منسوخ شدن شناسههای پرداخت اصل کلیدی فلسفه توسعه مونرو را نشان میدهد: حریم خصوصی فقط درباره اصول اولیه رمزنگاری نیست بلکه درباره طراحی پروتکل و الگوهای استفاده در دنیای واقعی نیز هست. حتی با رمزنگاری قوی، ابرداده و الگوهای رفتاری ایجاد شده توسط شناسههای پرداخت برای تضعیف تضمینهای حریم خصوصی کافی بودند.
با جایگزینی شناسههای پرداخت با زیرآدرسها، مونرو یک دسته کامل از نشتهای حریم خصوصی را حذف کرد و همزمان قابلیت استفاده را بهبود بخشید. این نوع بهبود تکراری، که پروتکل بر اساس تحلیل حریم خصوصی دنیای واقعی تکامل مییابد، چیزی است که مونرو را از پروژههایی که حریم خصوصی را به عنوان یک ویژگی و نه یک نیاز بنیادی میبینند متمایز میکند. حذف شناسههای پرداخت هر تراکنش مونرو را با حذف ابرداده متمایزکننده و ایجاد استخر تراکنش یکنواختتر، خصوصیتر کرد.
برای کاربران امروز، پیام عملی ساده است: برای همه چیز از زیرآدرس استفاده کنید، در صورت امکان از سرویسهایی که هنوز شناسه پرداخت نیاز دارند اجتناب کنید، و قدردان باشید که این تغییر پروتکل ظاهراً کوچک نماینده سالها تحقیق و تلاش جامعه برای قویتر کردن حریم خصوصی مونرو برای همه است.
🌍 خواندن به زبان