Skip to content

Conversation

@dagonharett
Copy link

Mention that linking Grin's input and output was proven in practice.
Overall linkability section improvement (phrasal construction and grammar).

…esults

Mention that linking Grin's input and output was proven in practice.
Overall linkability section improvement (phrasal construction and grammar).
Mimblewimble/Grin leverage [confidential transactions](https://en.bitcoin.it/wiki/Confidential_transactions) to hide the identity of the sender and recipients. As such, there are no public amounts or addresses.

However, it is possible for someone listening on the network to build a transaction graph and possibly clustering entities together.
However, it is possible for someone listening on the network to build a transaction graph and possibly cluster entities together. Ivan Bogatyy has shown this attack works in practice, being able to [link 96% of Grin transactions](https://github.com/bogatyy/grin-linkability) broadcasted during the run of his experiment.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this was unfairly labeled as an "attack" in Bogaty's article. This is just a well known way of gathering information that's already public.

However, it is possible for someone listening on the network to build a transaction graph and possibly cluster entities together. Ivan Bogatyy has shown this attack works in practice, being able to [link 96% of Grin transactions](https://github.com/bogatyy/grin-linkability) broadcasted during the run of his experiment.

Techniques like [Dandelion++](https://arxiv.org/abs/1805.11060) mitigate this issue but are insufficient for a privacy coin.
The [Dandelion++](https://arxiv.org/abs/1805.11060) inspired transaction propagation technique implemented in Grin was insufficient to mitigate the attack. It successfully hides IP addresses but cannot aggregate enough transaction to obscure the transaction graph. This is insufficient for a privacy coin.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dandelion++ is mostly used for obfuscating the source of the transaction. We happen to also aggregate transactions during the stem phase, but I don't think this was intended to sufficiently mitigate collecting the information. It was always well understood that's not sufficient for blind aggregation.

@phyro
Copy link
Member

phyro commented Jul 7, 2023

@dagonharett thanks for the PR! You're right that pre-block MW coinswap is a better technique to obfuscate the graph than dandelion++. I left some comments, mostly that we all understood this information was public and anyone can collect it. This PR might make the reader feel as if this was not expected to happen.

Re-phrase taking into account that:
- the linkability issue was well know before being showed in practice
- Dandelion++ was never intended to solve linkability per se
@dagonharett
Copy link
Author

@phyro Thanks a lot for the review and sorry for the long delay on my part. I'll stay more alert this time.
I've just pushed a new revision that addresses your comments. Hope you (or someone else) can take a look.

I decided to keep this PR open as I believe mentioning the practical results (plus the phrasal construction and grammar fixes) still improve the website.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants