Vad är ring signatures i Monero?
Ring signatures är en typ av digital signatur i Monero som döljer vilken output som verkligen spenderas i en transaktion. Tekniken formaliserades redan 2001 av Rivest, Shamir och Tauman och blev obligatorisk i ny form genom uppgraderingen i oktober 2020. I Monero kombineras avsändarskyddet med dolda belopp genom RingCT som infördes i januari 2017 och med dolda mottagare genom stealth addresses. Ringstorleken höjdes därefter från 11 till 16 vid nätverksuppgraderingen omkring den 13 augusti 2022.
Innehåll
Hur fungerar ring signatures i Monero?
Ring signatures i Monero fungerar genom att spenderarens egna output blandas med främmande outputs från kedjan så att alla ringmedlemmar framstår som lika giltiga för en utomstående observatör. En valfri medlem i gruppen kan skapa signaturen med sina kontonycklar tillsammans med ett antal offentliga nycklar och det ska vara beräkningsmässigt ogörligt att avgöra vems nyckel som användes. Gruppen kräver ingen förhandsuppsättning och anonymiteten kan inte återkallas i efterhand eftersom ringen kan sättas ihop improviserat utan grupphanterare eller samordning. Tidigare outputs får återanvändas som möjliga signerare i senare ringar och de främmande outputs som väljs kallas decoys.
Urvalsmetoden använder en gammafördelning som hämtar decoys från kedjan och gör nyare decoys mer sannolika än äldre för att efterlikna verkliga utgiftsmönster. Outputs som är yngre än 10 block är låsta och kan inte spenderas medan de äldre outputs som väljs ska spegla hur mynt normalt rör sig på kedjan. Ett fel i gammaurvalet gjorde att decoys som var exakt 10 block gamla inte kunde väljas men felet är lagat i version 0.18.2.2. Nuvarande ring kombinerar den verkliga spendern med 15 decoys så att en observatör ser 16 möjliga spenderare.
- Spenderarens egen output används tillsammans med kontonycklarna
- Främmande outputs hämtas från kedjan som decoys
- Alla medlemmar framstår som lika giltiga utåt
- Key image hindrar att samma mynt spenderas två gånger
Vad är en key image i Moneros ring signatures?
Key image i Moneros ring signatures är ett värde som bildas som I lika med x gånger Hp av P och som avslöjar dubbelspendering utan att avslöja vem som signerade. Nätverket sparar varje använd key image och avvisar ett nytt spendförsök med samma image trots att ringen döljer vilken medlem som skapade signaturen. Konstruktionen gör att en redan spenderad output ändå kan återanvändas som decoy i en senare ring eftersom decoyn inte spenderas på nytt utan endast döljer den verkliga spendern. Skyddet mot dubbelspendering bygger alltså på att samma nyckel alltid ger samma image medan själva signaturen inte röjer vilken ringmedlem som är äkta.
Hur stor är ring size i Moneros ring signatures?
Ring size i Moneros ring signatures är 16 och den avser totala antalet signerare i en ring signature. Formeln är att ringstorlek 16 motsvarar 15 främmande outputs plus den egna outputen och antalet decoys kallades tidigare för mixin. Före version 0.13.0 Beryllium Bullet kunde antalet signerare väljas fritt men version 0.13 låste värdet till 11 för att framtvinga likformiga transaktioner. Höjningen från 11 till 16 skedde vid block 2688888 och gav varje input en omedelbar anonymitetsmängd på 16.
Likformigheten är central eftersom avvikande ringstorlekar skulle göra transaktioner lättare att skilja från mängden även om de enskilda medlemmarna framstår som lika giltiga. Större ring innebär fler möjliga signerare att gissa mellan men också större transaktioner som tar mer plats på kedjan. Monero valde därför först det fasta värdet 11 och senare 16 som en avvägning mellan integritet och prestanda.
| År | Händelse i Moneros ring signatures |
|---|---|
| 2001 | Begreppet formaliseras av Rivest, Shamir och Tauman |
| 2017 | RingCT införs och blir senare obligatoriskt efter september |
| 2020 | CLSAG blir obligatoriskt vid nätverksuppgraderingen i oktober |
| 2022 | Ring size höjs från 11 till 16 vid uppgraderingen i augusti |
Vad är CLSAG i Moneros ring signatures?
CLSAG i Moneros ring signatures är det kompakta länkade sättet att bygga ring signatures i Monero och det ersätter den äldre konstruktionen MLSAG. Namnet utläses Concise Linkable Spontaneous Anonymous Group och den underliggande forskningen presenterades i preprintet om koncisa länkade ringsignaturer och förfalskning mot angriparnycklar. Bytet granskades kryptografiskt och kodmässigt av JP Aumasson och Antony Vennard före aktiveringen. Moneros integritetsskydd i fyra lager visar hur signaturbytet hör ihop med skydd för nätverksadress, belopp och mottagare.
En typisk transaktion med 2 inputs och 2 outputs väger cirka 2,5 kB med MLSAG men endast 1,9 kB med CLSAG vilket är cirka 25 procent mindre. Verifieringen blir cirka 20 procent snabbare för signaturen och minst 10 procent snabbare totalt för typiska transaktioner. Vinsten är viktig eftersom varje Monerotransaktion bär en eller flera ringar och mindre signaturer ger lägre belastning på noder och snabbare synkronisering.
Vad är skillnaden mellan MLSAG och CLSAG i Moneros ring signatures?
Skillnaden mellan MLSAG och CLSAG i Moneros ring signatures är att CLSAG ger mindre signaturer och snabbare verifiering med bibehållet länkbart ringskydd. Bytet innebar att samma integritetsidé med flera möjliga signerare behölls men att den matematiska konstruktionen blev mer kompakt och effektiv i verifieringen. Granskningen av Aumasson och Vennard omfattade både kryptografi och kod och föregick den obligatoriska aktiveringen. För användaren märks skillnaden främst som mindre transaktioner och snabbare hantering medan den verkliga spendern fortfarande döljs bland decoys.
Vad skyddar inte ring signatures mot i Monero?
Ring signatures i Monero skyddar inte mottagaradress eller belopp utan döljer endast vilken output som spenderas och därmed avsändarspåret. Stealth addresses ger olänkbarhet för mottagaren medan RingCT döljer beloppen och tillsammans döljer de tre teknikerna avsändare, mottagare och belopp. Fyra tekniker brukar nämnas som helhet där Dandelion plus skyddar nätverksadressen, konfidentiella transaktioner skyddar beloppet, stealth addresses skyddar mottagaren och ring signatures skyddar vilken output som spenderas. Ringar är dessutom sårbara för EAE-attacker, problem vid kedjeomorganisationer och statistisk analys över tid.
Forskningen om OSPEAD visar att en MAP-avkodare i ett experiment kunde höja sannolikheten att gissa rätt spenderare till cirka 1 på 4,2 i stället för 1 på 16 men arbetet är inte peer-reviewat. Resultatet innebär inte att den enskilda signaturen är bruten utan att decoyurval och kedjehistorik kan ge statistiska ledtrådar. Som framtida ersättare diskuteras Full-Chain Membership Proofs där varje input skulle gå från anonymitetsmängden 16 till 100000000. FCMP plus var den 27 augusti 2025 beskrivet som en föreslagen uppgradering och inte som live på huvudkedjan.
Vanliga frågor och svar
Döljer ring signatures beloppet i betalning med Monero?
Nej, vid betalningen döljer ring signatures avsändarspåret genom att göra outputs ospårbara, inte genom att dölja hur mycket som överförs. Beloppet skyddas av konfidentiella transaktioner medan stealth addresses ger olänkbarhet för mottagaren, så de tre teknikerna tillsammans döljer avsändare, mottagare och belopp.
Kan en spenderad output bli decoy igen?
Ja, den kan återanvändas som möjlig signerare i en senare ring. Nätverket skiljer äkta spend från decoy genom key image som stoppar dubbelspendering.
Hur väljs decoys vid betalning med Monero?
De väljs från kedjan med gammafördelning som gynnar nyare outputs framför äldre. Outputs yngre än 10 block är låsta och kan inte väljas.
Vad är FCMP plus för betalning med Monero?
Det är en föreslagen ersättare till ringar med fulla medlemskapsbevis för kedjan. Tanken är att varje input ska få en mycket större anonymitetsmängd än dagens 16.
