MoneroSwapper MoneroSwapper
शिक्षा

Monero का Decoy चयन एल्गोरिथम: Ring सदस्य कैसे चुने जाते हैं

MoneroSwapper Team · · · 6 min read · 41 views

Monero का Decoy चयन एल्गोरिथम: Ring सदस्य कैसे चुने जाते हैं

Monero की गोपनीयता का मूल आधार Ring Signature है। लेकिन Ring Signature की ताकत पूरी तरह इस बात पर निर्भर करती है कि decoy (डिकॉय) — यानी नकली इनपुट — कैसे चुने जाते हैं। यदि decoy selection कमजोर हो, तो blockchain analysis करके असली sender का पता लगाया जा सकता है। यह गाइड Monero के Decoy Selection Algorithm की गहरी तकनीकी व्याख्या प्रस्तुत करती है।

Ring Signature — मूलभूत अवधारणा

कल्पना करें कि एक कमरे में 16 लोग बैठे हैं। आप एक document sign करना चाहते हैं लेकिन चाहते हैं कि किसी को पता न चले कि actually किसने sign किया। Ring Signature यही काम करती है — यह cryptographically साबित करती है कि उस "ring" के किसी एक सदस्य ने transaction sign किया, लेकिन कौन सा सदस्य यह नहीं बताती।

Monero में प्रत्येक transaction में:

  • 1 असली input: वह actual UTXO जो आप खर्च कर रहे हैं।
  • 15 decoys (ring size = 16): blockchain से चुने गए पुराने outputs जो नकली inputs की तरह काम करते हैं।

Transaction verifier (miner) यह नहीं जानता कि 16 में से कौन सा input असली है। यही Monero की unlinkability का रहस्य है।

Decoy Selection का महत्व — क्यों यह इतना critical है?

Ring Signature तकनीकी रूप से सही हो सकती है, लेकिन यदि decoys गलत तरीके से चुने जाएं तो गोपनीयता कमजोर हो जाती है। कुछ प्रमुख attacks:

Closed Set Attack (EAE Attack)

यदि एक Ring के सभी 15 decoys already खर्च हो चुके हैं (unspent नहीं हैं), तो blockchain analyst समझ सकता है कि असली input वह 16वां output है जो अभी तक खर्च नहीं हुआ। इसे "Exclusion" attack भी कहते हैं।

Monero का decoy selection algorithm यह सुनिश्चित करता है कि ring में अधिकतर unspent outputs शामिल हों।

Age-Based Analysis

यदि decoys random तरीके से चुने जाएं, तो behavior अजीब लग सकता है। उदाहरण: यदि आप आज एक transaction करते हैं और एक decoy 3 साल पुराना output है, तो analyst समझ सकता है कि वह decoy नहीं बल्कि असली output ताजा वाला है।

Timing Correlation

Transaction broadcasting और mining के समय का correlation भी privacy को कमजोर कर सकता है।

Gamma Distribution — Monero का मूल एल्गोरिथम

Monero 2019 (CLSAG upgrade के साथ) से Gamma Distribution का उपयोग decoy selection के लिए करता है। यह एक statistical distribution है जो real spending behavior को model करती है।

Gamma Distribution क्यों?

Research से पता चला है कि Monero users अपने outputs को एक characteristic pattern में खर्च करते हैं:

  • अधिकांश outputs transaction के कुछ घंटों या दिनों के भीतर खर्च होते हैं।
  • कुछ outputs कई महीनों तक unspent रहते हैं।
  • बहुत पुराने outputs बहुत कम खर्च होते हैं।

यह pattern Gamma Distribution के समान है — एक positively skewed distribution जहां हाल के outputs की संभावना अधिक और पुराने outputs की संभावना कम होती है।

Mathematical Formula

Gamma distribution की probability density function:

f(x; α, β) = (x^(α-1) × e^(-x/β)) / (β^α × Γ(α))

Monero implementation में parameters:

  • α (shape parameter): 19.28 (empirically determined)
  • β (scale parameter): 1/1.61 (empirically determined)

यह values Monero blockchain के historical spending data को fit करने से निकाली गई हैं।

Time Span Selection

Algorithm निम्नलिखित steps follow करता है:

  1. Gamma distribution से एक random "age" sample करें (दिनों में)।
  2. उस age के अनुरूप blockchain पर कोई output ढूंढें।
  3. यह output decoy के रूप में ring में add करें।
  4. यह प्रक्रिया 15 बार दोहराएं।

इस तरह, decoys का age distribution real spending patterns से मेल खाता है, जिससे किसी analyst के लिए यह पहचानना मुश्किल होता है कि कौन सा input असली है।

Ring Size का इतिहास और विकास

Monero का ring size समय के साथ बढ़ता रहा है:

वर्षMonero VersionDefault Ring Sizeमहत्व
2014Original4 (optional)Ring signatures introduce किए
2016v0.104 (mandatory minimum)Optional ring को mandatory बनाया
2018v0.127Anonymity set बढ़ाया
2019v0.1511CLSAG optimize किया
2022v0.1816Current standard

CLSAG — Monero का Optimized Ring Signature

2020 में Monero ने MLSAG (Multilayer Linkable Spontaneous Anonymous Group) signature को CLSAG (Compact Linkable Spontaneous Anonymous Group) signature से replace किया।

MLSAG vs CLSAG

  • MLSAG: प्रत्येक ring member के लिए separate signature elements। Size: O(n) जहां n = ring size।
  • CLSAG: Shared verification key का उपयोग। Transaction size ~25% smaller। Verification ~10% faster।

CLSAG का decoy selection पर कोई प्रभाव नहीं पड़ा — केवल signature efficiency बेहतर हुई।

FCMP++ — Monero का भविष्य का Upgrade

Full Chain Membership Proofs++ (FCMP++) Monero का एक revolutionary upcoming upgrade है जो decoy selection को पूरी तरह बदल देगा।

FCMP++ क्या है?

वर्तमान ring signatures में, ring size सीमित है (16 outputs)। FCMP++ एक mathematical proof technique है जो proves करती है कि आपका output पूरे Monero blockchain के किसी भी unspent output में से एक है — बिना specific set बताए।

FCMP++ के लाभ

  • Anonymity set = entire UTXO set: Ring के 16 members नहीं, बल्कि करोड़ों outputs में से कोई भी हो सकता है।
  • Decoy selection की समस्या समाप्त: जब पूरा blockchain ही anonymity set हो, तो decoy selection algorithm की कोई जरूरत नहीं।
  • Timing attacks impossible: Age-based analysis बेकार हो जाएगी।
  • Transaction size छोटा: Paradoxically, FCMP++ के proof size ring signature से smaller होंगे।

FCMP++ Timeline

FCMP++ Monero Research Lab (MRL) द्वारा actively develop किया जा रहा है। Expected deployment: 2025-2026। यह Monero protocol का सबसे बड़ा privacy upgrade होगा।

Output Selection Implementation — Technical Details

Monero Wallet के Level पर

जब आप Monero transaction बनाते हैं, तो wallet software निम्नलिखित करता है:

  1. Blockchain scan: सभी available unspent outputs की list बनाएं।
  2. Gamma sampling: 15 बार Gamma distribution से random age samples लें।
  3. Output matching: प्रत्येक sampled age के nearest output को ढूंढें।
  4. Uniqueness check: सुनिश्चित करें कि कोई output duplicate न हो।
  5. Real input add करें: असली input को ring में add करें (random position पर)।
  6. Ring signature create करें: CLSAG का उपयोग करके signature generate करें।

Code Implementation

Monero के C++ source code में decoy selection का core implementation `src/wallet/wallet2.cpp` में है। Key function: `get_outs()` जो gamma distribution का उपयोग करके decoy outputs fetch करता है।

Known Weaknesses और Research

EAE Attack (2017)

Möser et al. (2017) के research ने दिखाया कि early Monero transactions में ring signatures को heuristic analysis से partially de-anonymize किया जा सकता था। Monero ने इसे mandatory ring sizes और better decoy selection से address किया।

Churning की Effectiveness

कुछ users अपने outputs को खुद को वापस भेजते हैं (churning) ताकि transaction history को छुपाया जा सके। Research shows करती है कि churning limited benefit देता है और कुछ cases में counter-productive हो सकता है।

Spent Output Heuristic

यदि ring के सभी members किसी एक transaction में दिखते हैं, तो उस transaction में unspent रहने वाला output real input होने की संभावना अधिक होती है। Monero का latest decoy selection इसे address करता है।

Statistical Analysis Limitations

कोई भी statistical attack probabilities पर आधारित है — certainty नहीं। Monero ring signatures को 100% certainty से trace करना cryptographically impossible है, चाहे decoy selection कितनी भी कमजोर क्यों न हो।

Network-Level Considerations

Dandelion++

Monero network-level privacy के लिए Dandelion++ protocol का उपयोग करता है। यह transaction broadcasting को randomize करता है ताकि किसी node को यह पता न चले कि transaction किस IP address से originate हुई।

i2p और Tor Integration

Monero daemon को Tor या i2p के माध्यम से चलाना IP-level tracking को रोकता है। यह decoy selection का complement है — एक transaction privacy देता है, दूसरा network privacy।

Practical Implications — User के लिए

Transaction Aging

Monero wallet transactions automatically एक short lock period के बाद ही use करती है (10 blocks = ~20 minutes)। यह ensures करता है कि नए outputs को तुरंत ring में शामिल किया जा सके।

Multiple Outputs से Transaction

यदि आपको एक बड़े amount के लिए multiple inputs combine करने पड़ें, तो हर input की अपनी ring होगी। इससे transaction size बढ़ती है लेकिन privacy maintain रहती है।

Exchange के साथ Transaction

Centralized exchanges को आपके Monero address का view key देना होता है। इससे उनके incoming transactions visible हो जाते हैं, लेकिन आपके outgoing transactions नहीं। Decoy selection यहां भी relevant है।

Monero vs अन्य Privacy Coins का तुलनात्मक विश्लेषण

Zcash (ZEC)

Zcash zk-SNARKs (zero-knowledge proofs) का उपयोग करता है। शक्तिशाली technique लेकिन "shielded" transactions का उपयोग optional है। अधिकांश Zcash transactions transparent हैं।

Dash (DASH)

Dash का CoinJoin-based mixing है। लेकिन यह opt-in है और limited anonymity set है।

Monero का लाभ

Monero में गोपनीयता default और mandatory है। हर transaction ring signature, stealth addresses और RingCT का उपयोग करती है — कोई opt-in नहीं।

Decoy Selection और Wallet Synchronization

Monero wallet को decoy selection के लिए पूरे blockchain के output set को जानना आवश्यक है। यह एक महत्वपूर्ण technical consideration है।

Full Node vs Light Wallet

Full node wallet (Monero GUI/CLI) blockchain की पूरी copy download करता है। इससे decoy selection locally होती है — कोई third party नहीं जानता कि आपने कौन से outputs को potential decoys के रूप में query किया।

Light wallet (Cake Wallet, Feather Wallet remote node mode) एक trusted remote node से output data fetch करता है। इससे convenience तो बढ़ती है लेकिन remote node operator theoretically यह देख सकता है कि आप कौन से outputs query कर रहे हैं — जिससे decoy inference possible हो सकती है।

Privacy Recommendation

Maximum privacy के लिए:

  1. अपना full Monero node run करें।
  2. या किसी trusted, non-logging node का उपयोग करें।
  3. Tor के माध्यम से node connect करें।

Blockchain Analysis Companies का Perspective

Chainalysis, CipherTrace जैसी blockchain analysis companies Monero के decoy selection को समझने की कोशिश करती हैं। उनके approaches:

Heuristic Analysis

वे statistical heuristics का उपयोग करते हैं जैसे:

  • Newest output heuristic: Ring में सबसे recent output असली होने की probability अधिक होती है (पुराने algorithms में)।
  • Spent output elimination: Ring के जो members already spent हो चुके हैं वे decoys होने की probability अधिक है।
  • Zero-decoy transactions: Monero के early versions में ring size optional था — इन transactions को trace करना आसान था।

Monero का Response

Monero Research Lab इन heuristics को continuously study करती है और decoy selection algorithm को update करती है। 2019 का Gamma Distribution upgrade specifically "newest output heuristic" को address करने के लिए था।

Transaction Graph Analysis और Ring Signatures

Bitcoin में transaction graph analysis बहुत effective है — inputs और outputs के बीच flow trace किया जा सकता है। Monero में ring signatures इसे कैसे रोकती हैं?

Plausible Deniability का Math

Ring size 16 का अर्थ है कि किसी भी transaction के लिए 16 possible senders हैं। यदि transactions की एक series हो, तो plausible senders exponentially बढ़ते जाते हैं:

  • 1 transaction: 16 possible senders।
  • 2 linked transactions: 16 × 16 = 256 possible paths।
  • 5 linked transactions: 16^5 = 1,048,576 possible paths।

FCMP++ के बाद जब anonymity set = entire blockchain होगा, यह number astronomically large हो जाएगा।

Real-World Privacy Testing

Monero Tracing Bounties

कई बार organizations ने Monero transactions को trace करने के लिए bounties offer किए हैं। 2020 में IRS (US Internal Revenue Service) ने $625,000 Monero tracing के लिए offer किया। CipherTrace और Integra FEC ने contracts लिए, लेकिन publicly कोई breakthrough नहीं दिखा।

Academic Research

Princeton, Carnegie Mellon जैसे universities के researchers Monero privacy पर काम करते हैं। उनकी findings consistently यही दिखाती हैं कि:

  • Early Monero (pre-2017) में some traceability possible थी।
  • Post-2017 mandatory ring signatures और Gamma distribution के बाद traceability dramatically कम हुई।
  • Current Monero protocol को cryptographically break करना practically impossible है।

Decoy Selection का Future — Post-FCMP++ World

FCMP++ के implementation के बाद Monero का privacy model fundamentally change होगा:

Current Model (Ring Signatures)

  • 16 decoys, locally selected।
  • Gamma distribution based age selection।
  • Ring signature प्रत्येक input के लिए।

Future Model (FCMP++)

  • Entire UTXO set = anonymity set।
  • No "decoy selection" — कोई specific decoys नहीं।
  • Membership proof proves UTXO set membership।
  • Smaller proof size।
  • Faster verification।

Transition Period

FCMP++ के rollout के दौरान, backward compatibility maintain करनी होगी। पुराने ring signature transactions भी blockchain पर रहेंगी। Transition को carefully manage किया जाएगा ताकि no privacy leakage हो।

Stealth Addresses और Decoy Selection का Interplay

Decoy selection केवल sender privacy के बारे में है। Receiver privacy Stealth Addresses से आती है। इन दोनों का combination Monero की complete privacy picture देता है:

  • Sender privacy: Ring signatures + decoy selection।
  • Receiver privacy: Stealth addresses।
  • Amount privacy: RingCT (Ring Confidential Transactions)।
  • Transaction linkability: Key images ensure double-spend prevention।

यह चारों layer मिलकर Monero की comprehensive privacy provide करती हैं।

निष्कर्ष

Monero का Decoy Selection Algorithm उसकी Ring Signature privacy का आधार है। Gamma Distribution का चतुर उपयोग real spending patterns की नकल करता है, जिससे statistical analysis कठिन हो जाती है। Ring size को 16 तक बढ़ाना और CLSAG की efficiency improvements ने Monero की privacy को और मजबूत किया है।

Blockchain analysis companies की heuristics, academic research, और government efforts के बावजूद, Monero का current protocol cryptographically sound है। No public case has demonstrated reliable tracing of post-2017 Monero transactions।

भविष्य में FCMP++ के आने के बाद, decoy selection की समस्या ही समाप्त हो जाएगी — पूरा blockchain ही anonymity set बन जाएगा। यह Monero को privacy coins में सबसे मजबूत position में रखेगा और blockchain surveillance को और भी कठिन बना देगा।

Monero की privacy कोई accident नहीं है — यह सावधानीपूर्वक designed cryptographic engineering का परिणाम है, जिसमें decoy selection एक महत्वपूर्ण लेकिन अक्सर overlooked component है। अगली बार जब आप Monero transaction करें, याद रखें कि background में एक sophisticated algorithm चल रहा है — आपकी privacy की रक्षा के लिए।

यह लेख साझा करें

संबंधित लेख

स्वैप के लिए तैयार?

गुमनाम Monero एक्सचेंज

KYC नहीं • पंजीकरण नहीं • तुरंत स्वैप

अभी एक्सचेंज करें