Comments (2)
Here is preliminary data exploiting this information leak to study subaddress adoption.
Key word: preliminary ... This plot actually shows the fraction of transactions that contain extra public keys, not taking into account transaction structure. A plot of subaddress adoption for >2-output transactions would be more informative, and I'll make this modification next time I can carve out a few minutes for research.
from research-lab.
Background
There is some intricacy to when additional transaction public keys are used (see code path transfer_selected_rct() → construct_tx_and_get_tx_key() → construct_tx_with_tx_key() → generate_output_ephemeral_keys() and classify_addresses()) surrounding change outputs where the transaction author knows the recipient’s view key (since it’s himself; also the case for dummy change outputs, which are created when a 0-amount output is necessary, since the author generates that address). Whenever there are at least two non-change outputs, and at least one of their recipients is a subaddress, add #tx_pub_keys == #outputs (a current bug in the core implementation adds an extra transaction public key to transaction data even beyond the additional keys, which is not used for anything). If either just the change output is to a subaddress, or there is just one non-change output and it’s to a subaddress, then only one transaction public key is created. These details help mingle a portion of subaddress transactions amongst the more common normal address transactions, and 2-output transactions which compose around 95% of transaction volume as of this writing.
My thoughts
I feel like ambiguity around the true population of subaddress transactions is a strong argument against adding dummy transaction public keys. It could be the case that 90% of actual transactions use subaddresses (assuming they are made with the core implementation), so an analyst doesn't necessarily get a big advantage seeing transactions which have additional public keys.
This may change if Janus (issue #62) is implemented.
from research-lab.
Related Issues (20)
- Exploring Trustless zk-SNARKs for Monero's payment protocol HOT 107
- Bulletproofs++ HOT 2
- Investigate possibility of reducing 10-blocks lock HOT 19
- Remove the burning bug as a class of attack with a modified shared key definition HOT 2
- Remove Extra Coinbase Locktime HOT 5
- Consider Switch commitments for future supply security HOT 29
- Radical idea for forward secrecy and instant wallet sync HOT 13
- Flashproofs
- Coinbase Consolidation Tx Type HOT 8
- Avoid selecting coinbase outputs as decoys HOT 2
- Scale the blockchain with recursive ZK proofs HOT 2
- Archiving historic nullifiers with mutator sets HOT 1
- Porting Utreexo to Monero HOT 7
- increasing uniformity of number of inputs/outputs
- Class Group-based ZK SNARKs HOT 1
- Add scripting to Monero via the specification of R1CS circuits HOT 14
- based monero address decentralized IP address, Abolish ipv4 and ipv6 HOT 8
- potential measures against a black marble attack HOT 29
- How monero works HOT 1
- Catalogue of Monero decoy selection algorithms HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from research-lab.