SlideShare a Scribd company logo
1 of 26
RING SIGNATURES
Monero Privacy Components
SENDER RECEIVER
RING
SIGNATURES
STEALTH
ADDRESSES
AMOUNT TRANSACTION
BROADCAST
ɱ
KOVRI
(I2P ROUTER)
RING CONFIDENTIAL
TRANSACTIONS (RINGCT)
Ring Signatures and Plausible Deniability
key image
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
History of Ringsizes in Monero
2014 2015 2016 2017 2018 2019
March
Min Ringsize 3
September
Min Ringsize 5
May
Min Ringsize 7
September
Ringsize 11
0-Decoy Attack and Chain Reaction
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
0-Decoy Attack and Chain Reaction
key image
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
Created
Tx 1
X
0-Decoy Attack and Chain Reaction
key image
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
Created
Tx 18
Created
Tx 12
Created
Tx 1
Created
Tx 7
Created
Tx 9
X
X
X
X
X
X
Created
Tx 73
Created
Tx 12
Created
Tx 32
Created
Tx 76
Created
Tx 10
Created
Tx 77
Created
Tx 91
X
X
Created
Tx 20
Chain Split and Key Image Reuse
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
Created
Tx 11
Created
Tx 33
Created
Tx 22
Created
Tx 44
Created
Tx 10
Created
Tx 66
Created
Tx 55
key image
CHAIN 1 CHAIN 2
SAME KEY
IMAGE!
ONLY ONE
MATCH!
X
X
X
X
X
X
X
X
X
X
X
X
Chain Split and Key Image Reuse
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
CHAIN 1 CHAIN 2
SAME KEY
IMAGE!
SEVERAL
MATCHES
Mining Pool Public Data
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
Data: supportxmr.com
X
Mining Pool Public Data
Data: supportxmr.com
Secret churning
Blackball coinbase outputs
Modified input selection algorithm
Tx 98 Tx 99
Mining Pool Public Data
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 98
Created
Tx 98
Created
Tx 98
key image
Created
Tx 98
Created
Tx 98
Created
Tx 98
X
X
X X
Assumes the initial output is secretly churned Pool transaction
Tx 98 Tx 100
Mining Pool Public Data
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 98
Created
Tx 20
Created
Tx 9
key image
Created
Tx 98
Created
Tx 98
Created
Tx 98
Assumes the initial output is secretly churned Standard transaction
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
High Output Control (Exchanges & Wallets)
key image
ATTACKER WALLET
Created
Tx 1
Created
Tx 2
Created
Tx 3
Created
Tx 4
Created
Tx 6
Created
Tx 7
Created
Tx 8
Created
Tx 9
Created
Tx 12
Created
Tx 13
Created
Tx 14
Created
Tx 15
Created
Tx 17
Created
Tx 18
Created
Tx 19
Created
Tx 20
Created
Tx 5
Created
Tx 11
Created
Tx 16
Created
Tx 21
X
X
X
X
X
X
What Can You Do?
Blackball Known Compromised Outputs
• Exclude them from your ring signature
• Items to exclude:
• 0-decoy transaction inputs (low priority)
• Unique inputs used on several chains with identical key images
• Public pool data
• Outputs known to be controlled by large wallets and exchange (difficult to
obtain)
Churn
ANONYMITY SET
72=49
73=343
74=2,401
75=16,807
76=117,649
77=823,543
78=5,764,801
79=40,353,607
Spend During Good Times
• Avoid spending shortly before or after times when the network has a
high proportion of poisoned outputs
• Impossible to avoid all of these since not all information is public, but
can work around announced chain splits, etc. if possible
• Avoid spending if the Monero network is being spammed with
transactions
Different Types of Linkability
Linking Subaddresses and Transactions
Created
Tx 1
Created
Tx 12
Created
Tx 7
Created
Tx 18
Created
Tx 10
Created
Tx 20
Created
Tx 9
key image
Created
Tx 11
Created
Tx 22
Created
Tx 33
Created
Tx 44
Created
Tx 99
Created
Tx 66
Created
Tx 55
key image
<SUBADDRESS 1> <SUBADDRESS 2>
Linking (Sub)Addresses to Real-World Identity
Adding additional entropy before and after sending funds to someone
who knows your identity, including friends, family, merchants, and
KYC/AML exchanges
Churn before making these transactions
Linking Outputs
You want every output you touch to have no association with any other
outputs you have
Ideally a trait in a completely fungible system, but Monero is not
completely fungible against all heuristics, only plausible deniability
Always churn every output separately, and churn every time you
receive funds, including non-churn change from your transactions
Challenges for Increasing the
Ringsize
Ringsize Challenges
Summary
• Covered 4 different ways for ring signatures to lose plausible
deniability
• Covered several considerations for heuristic tests
• Covered best-practices for using Monero’s ring signatures correctly in
a variety of use-cases
• Covered the challenges of increasing Monero’s ringsize
Thank You!
monero.stackexchange.com
getmonero.org
/r/Monero
justin@ehrenhofer.org

More Related Content

Similar to Defcon Monero Ring Signatures Presentation by Justin Ehrenhofer 2018

Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur...
 Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur... Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur...
Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur...
Bernhard Haslhofer
 

Similar to Defcon Monero Ring Signatures Presentation by Justin Ehrenhofer 2018 (20)

Ethereum Blockchain explained
Ethereum Blockchain explainedEthereum Blockchain explained
Ethereum Blockchain explained
 
Start Carrier with blockchain and Ethereum [PW MINI - Fall '17]
Start Carrier with blockchain and Ethereum [PW MINI - Fall '17]Start Carrier with blockchain and Ethereum [PW MINI - Fall '17]
Start Carrier with blockchain and Ethereum [PW MINI - Fall '17]
 
Blockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchainsBlockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchains
 
Blockchain and Formal verification (English)
Blockchain and Formal verification (English)Blockchain and Formal verification (English)
Blockchain and Formal verification (English)
 
20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)
 
Introduction to Blockchain with an Ethereuem Hands-on
Introduction to Blockchain with an Ethereuem Hands-onIntroduction to Blockchain with an Ethereuem Hands-on
Introduction to Blockchain with an Ethereuem Hands-on
 
Monero Presentation by Justin Ehrenhofer - Zagreb, Croatia 2017
Monero Presentation by Justin Ehrenhofer - Zagreb, Croatia 2017Monero Presentation by Justin Ehrenhofer - Zagreb, Croatia 2017
Monero Presentation by Justin Ehrenhofer - Zagreb, Croatia 2017
 
Monero Presentation by Justin Ehrenhofer - Oslo, Norway 2017
Monero Presentation by Justin Ehrenhofer - Oslo, Norway 2017Monero Presentation by Justin Ehrenhofer - Oslo, Norway 2017
Monero Presentation by Justin Ehrenhofer - Oslo, Norway 2017
 
Privacy Coins
Privacy CoinsPrivacy Coins
Privacy Coins
 
J.burke HackMiami6
J.burke HackMiami6J.burke HackMiami6
J.burke HackMiami6
 
201803 Blockchains, Cryptocurrencies & Tokens - NYC Bar Association Presentat...
201803 Blockchains, Cryptocurrencies & Tokens - NYC Bar Association Presentat...201803 Blockchains, Cryptocurrencies & Tokens - NYC Bar Association Presentat...
201803 Blockchains, Cryptocurrencies & Tokens - NYC Bar Association Presentat...
 
New Business Models enabled by Blockchain
New Business Models enabled by BlockchainNew Business Models enabled by Blockchain
New Business Models enabled by Blockchain
 
Bitcoin: money of the future
Bitcoin: money of the futureBitcoin: money of the future
Bitcoin: money of the future
 
An Investigator’s Guide to Blockchain, Bitcoin and Wallet Transactions
An Investigator’s Guide to Blockchain, Bitcoin and Wallet TransactionsAn Investigator’s Guide to Blockchain, Bitcoin and Wallet Transactions
An Investigator’s Guide to Blockchain, Bitcoin and Wallet Transactions
 
The Bitcoin blockchain (en)
The Bitcoin blockchain (en)The Bitcoin blockchain (en)
The Bitcoin blockchain (en)
 
Blockchain for IoT
Blockchain for IoTBlockchain for IoT
Blockchain for IoT
 
Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur...
 Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur... Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur...
Post-Bitcoin Cryptocurrencies, Off-Chain Transaction Channels, and Cryptocur...
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
 
Monero Presentation by Justin Ehrenhofer - Brussels, Belguim 2017
Monero Presentation by Justin Ehrenhofer - Brussels, Belguim 2017Monero Presentation by Justin Ehrenhofer - Brussels, Belguim 2017
Monero Presentation by Justin Ehrenhofer - Brussels, Belguim 2017
 
“Technical Intro to Blockhain” by Yurijs Pimenovs from Paybis at CryptoCurren...
“Technical Intro to Blockhain” by Yurijs Pimenovs from Paybis at CryptoCurren...“Technical Intro to Blockhain” by Yurijs Pimenovs from Paybis at CryptoCurren...
“Technical Intro to Blockhain” by Yurijs Pimenovs from Paybis at CryptoCurren...
 

More from Justin Ehrenhofer

More from Justin Ehrenhofer (20)

Importance of Privacy in Distributed Systems - NDSU
Importance of Privacy in Distributed Systems - NDSUImportance of Privacy in Distributed Systems - NDSU
Importance of Privacy in Distributed Systems - NDSU
 
Breaking Monero: Poisoned Outputs (EAE Attack)
Breaking Monero: Poisoned Outputs (EAE Attack)Breaking Monero: Poisoned Outputs (EAE Attack)
Breaking Monero: Poisoned Outputs (EAE Attack)
 
Monero Presentation by Justin Ehrenhofer - New York City, New York 2019
Monero Presentation by Justin Ehrenhofer - New York City, New York 2019Monero Presentation by Justin Ehrenhofer - New York City, New York 2019
Monero Presentation by Justin Ehrenhofer - New York City, New York 2019
 
Monero Presentation by Justin Ehrenhofer - Milwaukee, Wisconsin 2017
Monero Presentation by Justin Ehrenhofer - Milwaukee, Wisconsin 2017Monero Presentation by Justin Ehrenhofer - Milwaukee, Wisconsin 2017
Monero Presentation by Justin Ehrenhofer - Milwaukee, Wisconsin 2017
 
Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 2 2017
Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 2 2017Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 2 2017
Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 2 2017
 
Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 1 2017
Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 1 2017Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 1 2017
Monero Presentation by Justin Ehrenhofer - Madison, Wisconsin 1 2017
 
Monero Presentation by Justin Ehrenhofer - Wroclaw, Poland 2017
Monero Presentation by Justin Ehrenhofer - Wroclaw, Poland 2017Monero Presentation by Justin Ehrenhofer - Wroclaw, Poland 2017
Monero Presentation by Justin Ehrenhofer - Wroclaw, Poland 2017
 
Monero Presentation by Justin Ehrenhofer - Warsaw, Poland 2017
Monero Presentation by Justin Ehrenhofer - Warsaw, Poland 2017Monero Presentation by Justin Ehrenhofer - Warsaw, Poland 2017
Monero Presentation by Justin Ehrenhofer - Warsaw, Poland 2017
 
Monero Presentation by Justin Ehrenhofer - Vienna, Austria 2017
Monero Presentation by Justin Ehrenhofer - Vienna, Austria 2017Monero Presentation by Justin Ehrenhofer - Vienna, Austria 2017
Monero Presentation by Justin Ehrenhofer - Vienna, Austria 2017
 
Monero Presentation by Justin Ehrenhofer - Valencia, Spain 2017
Monero Presentation by Justin Ehrenhofer - Valencia, Spain 2017Monero Presentation by Justin Ehrenhofer - Valencia, Spain 2017
Monero Presentation by Justin Ehrenhofer - Valencia, Spain 2017
 
Monero Presentation by Justin Ehrenhofer - Stockholm, Sweden 2017
Monero Presentation by Justin Ehrenhofer - Stockholm, Sweden 2017Monero Presentation by Justin Ehrenhofer - Stockholm, Sweden 2017
Monero Presentation by Justin Ehrenhofer - Stockholm, Sweden 2017
 
Monero Presentation by Justin Ehrenhofer - Rome, Italy 2017
Monero Presentation by Justin Ehrenhofer - Rome, Italy 2017Monero Presentation by Justin Ehrenhofer - Rome, Italy 2017
Monero Presentation by Justin Ehrenhofer - Rome, Italy 2017
 
Monero Presentation by Justin Ehrenhofer - Riga, Latvia 2017
Monero Presentation by Justin Ehrenhofer - Riga, Latvia 2017Monero Presentation by Justin Ehrenhofer - Riga, Latvia 2017
Monero Presentation by Justin Ehrenhofer - Riga, Latvia 2017
 
Monero Presentation by Justin Ehrenhofer - Helsinki, Finland 2017
Monero Presentation by Justin Ehrenhofer - Helsinki, Finland 2017Monero Presentation by Justin Ehrenhofer - Helsinki, Finland 2017
Monero Presentation by Justin Ehrenhofer - Helsinki, Finland 2017
 
Monero Presentation by Justin Ehrenhofer - Graz, Austria 2017
Monero Presentation by Justin Ehrenhofer - Graz, Austria 2017Monero Presentation by Justin Ehrenhofer - Graz, Austria 2017
Monero Presentation by Justin Ehrenhofer - Graz, Austria 2017
 
Monero Presentation by Justin Ehrenhofer - Copenhagen, Denmark 2017
Monero Presentation by Justin Ehrenhofer - Copenhagen, Denmark 2017Monero Presentation by Justin Ehrenhofer - Copenhagen, Denmark 2017
Monero Presentation by Justin Ehrenhofer - Copenhagen, Denmark 2017
 
Monero Presentation by Justin Ehrenhofer - Cologne, Germany 2017
Monero Presentation by Justin Ehrenhofer - Cologne, Germany 2017Monero Presentation by Justin Ehrenhofer - Cologne, Germany 2017
Monero Presentation by Justin Ehrenhofer - Cologne, Germany 2017
 
Monero Presentation by Justin Ehrenhofer - Budapest, Hungary 2017
Monero Presentation by Justin Ehrenhofer - Budapest, Hungary 2017Monero Presentation by Justin Ehrenhofer - Budapest, Hungary 2017
Monero Presentation by Justin Ehrenhofer - Budapest, Hungary 2017
 
Monero Presentation by Justin Ehrenhofer - Barcelona, Spain 2017
Monero Presentation by Justin Ehrenhofer - Barcelona, Spain 2017Monero Presentation by Justin Ehrenhofer - Barcelona, Spain 2017
Monero Presentation by Justin Ehrenhofer - Barcelona, Spain 2017
 
Monero Presentation by Justin Ehrenhofer - Athens, Greece 2017
Monero Presentation by Justin Ehrenhofer - Athens, Greece 2017Monero Presentation by Justin Ehrenhofer - Athens, Greece 2017
Monero Presentation by Justin Ehrenhofer - Athens, Greece 2017
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Defcon Monero Ring Signatures Presentation by Justin Ehrenhofer 2018

  • 2. Monero Privacy Components SENDER RECEIVER RING SIGNATURES STEALTH ADDRESSES AMOUNT TRANSACTION BROADCAST ɱ KOVRI (I2P ROUTER) RING CONFIDENTIAL TRANSACTIONS (RINGCT)
  • 3. Ring Signatures and Plausible Deniability key image Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9
  • 4. History of Ringsizes in Monero 2014 2015 2016 2017 2018 2019 March Min Ringsize 3 September Min Ringsize 5 May Min Ringsize 7 September Ringsize 11
  • 5. 0-Decoy Attack and Chain Reaction Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image
  • 6. 0-Decoy Attack and Chain Reaction key image Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 Created Tx 1 X
  • 7. 0-Decoy Attack and Chain Reaction key image Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 Created Tx 18 Created Tx 12 Created Tx 1 Created Tx 7 Created Tx 9 X X X X X X Created Tx 73 Created Tx 12 Created Tx 32 Created Tx 76 Created Tx 10 Created Tx 77 Created Tx 91 X X Created Tx 20
  • 8. Chain Split and Key Image Reuse Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image Created Tx 11 Created Tx 33 Created Tx 22 Created Tx 44 Created Tx 10 Created Tx 66 Created Tx 55 key image CHAIN 1 CHAIN 2 SAME KEY IMAGE! ONLY ONE MATCH! X X X X X X X X X X X X
  • 9. Chain Split and Key Image Reuse Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image CHAIN 1 CHAIN 2 SAME KEY IMAGE! SEVERAL MATCHES
  • 10. Mining Pool Public Data Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image Data: supportxmr.com X
  • 11. Mining Pool Public Data Data: supportxmr.com Secret churning Blackball coinbase outputs Modified input selection algorithm
  • 12. Tx 98 Tx 99 Mining Pool Public Data Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 98 Created Tx 98 Created Tx 98 key image Created Tx 98 Created Tx 98 Created Tx 98 X X X X Assumes the initial output is secretly churned Pool transaction
  • 13. Tx 98 Tx 100 Mining Pool Public Data Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 98 Created Tx 20 Created Tx 9 key image Created Tx 98 Created Tx 98 Created Tx 98 Assumes the initial output is secretly churned Standard transaction
  • 14. Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 High Output Control (Exchanges & Wallets) key image ATTACKER WALLET Created Tx 1 Created Tx 2 Created Tx 3 Created Tx 4 Created Tx 6 Created Tx 7 Created Tx 8 Created Tx 9 Created Tx 12 Created Tx 13 Created Tx 14 Created Tx 15 Created Tx 17 Created Tx 18 Created Tx 19 Created Tx 20 Created Tx 5 Created Tx 11 Created Tx 16 Created Tx 21 X X X X X X
  • 16. Blackball Known Compromised Outputs • Exclude them from your ring signature • Items to exclude: • 0-decoy transaction inputs (low priority) • Unique inputs used on several chains with identical key images • Public pool data • Outputs known to be controlled by large wallets and exchange (difficult to obtain)
  • 18. Spend During Good Times • Avoid spending shortly before or after times when the network has a high proportion of poisoned outputs • Impossible to avoid all of these since not all information is public, but can work around announced chain splits, etc. if possible • Avoid spending if the Monero network is being spammed with transactions
  • 19. Different Types of Linkability
  • 20. Linking Subaddresses and Transactions Created Tx 1 Created Tx 12 Created Tx 7 Created Tx 18 Created Tx 10 Created Tx 20 Created Tx 9 key image Created Tx 11 Created Tx 22 Created Tx 33 Created Tx 44 Created Tx 99 Created Tx 66 Created Tx 55 key image <SUBADDRESS 1> <SUBADDRESS 2>
  • 21. Linking (Sub)Addresses to Real-World Identity Adding additional entropy before and after sending funds to someone who knows your identity, including friends, family, merchants, and KYC/AML exchanges Churn before making these transactions
  • 22. Linking Outputs You want every output you touch to have no association with any other outputs you have Ideally a trait in a completely fungible system, but Monero is not completely fungible against all heuristics, only plausible deniability Always churn every output separately, and churn every time you receive funds, including non-churn change from your transactions
  • 25. Summary • Covered 4 different ways for ring signatures to lose plausible deniability • Covered several considerations for heuristic tests • Covered best-practices for using Monero’s ring signatures correctly in a variety of use-cases • Covered the challenges of increasing Monero’s ringsize

Editor's Notes

  1. Monero is different from a mixing service. It uses three technologies and a work-in-progress fourth technology to provide trustless privacy for all transactions. These technologies work together to protect different parts of a transaction. The sender is hidden with ring signatures. The amount is hidden with ring confidential transactions, or RingCT. The transaction broadcast is not currently hidden without extra steps, but Monero is working on Kovri, an I2P router, to hide this with no additional effort. The receiver is hidden with stealth addresses. All of these technologies will be addressed in this presentation.
  2. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  3. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  4. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  5. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  6. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  7. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  8. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  9. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  10. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  11. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  12. Monero introduced a subaddress feature where one wallet can have several addresses without these addresses being linked to each other Practically, these subaddresses can still be linked if outputs are spent together If concerned, churn each output individually or use entirely different wallets for each transaction and churn
  13. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  14. The ring signature is just the process of taking your red (real) input, the blue ones (decoys), and making it seem as if they are all spent simultaneously. An outside observer does not know which is the real one, since they are all possible. In this example, the ringsize is 7, meaning that 7 total inputs (including your own) are used. As of August 2017, the minimum allowed by the network is 7. In September 2017, the minimum is expected to be increased to 5 or greater, since more decoys allows for better privacy. The key image is generated for the real input used. Nodes and miners can use this to verify that a real input is actually being spent, but they still do not know which input is real. The key image prevents attackers from spending money more than once or from spending money that does not exist.
  15. Transaction size and the effect on bandwidth and fees Verification time and the effect on fees Relating to specific threat models and impact Unusual ringsize leads to leaked metadata