Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider implementing Erlay for more efficient tx relaying and better network security #2857

Open
lehnberg opened this issue May 28, 2019 · 5 comments

Comments

@lehnberg
Copy link
Collaborator

Intro

New paper by G. Naumenko, G. Maxwell, P. Wuille. An abstract of the abstract:

We propose a new transaction dissemination protocol, Erlay, that not only reduces the bandwidth consumption by 40% assuming current connectivity, but also keeps the bandwidth use almost constant as the connectivity increases. In contrast, the existing protocol increases the bandwidth consumption linearly with the number of connections. By allowing more connections at a small cost, Erlay improves the security of the Bitcoin network. And, as we demonstrate, Erlay also hardens the network against attacks that attempt to learn the origin node of a transaction.

Motivation

  • Better connectivity amongst nodes
  • Less bandwidth consumption of nodes
  • Better security of the network

Documentation

Description URL
Paper https://arxiv.org/abs/1905.10518
Minisketch C++ implementation https://github.com/sipa/minisketch

Grin-specific commentary:

  • Complementary to Dandelion++:

    Erlay is complimentary with Dandelion: Erlay would replace the fluff phase in Dandelion, while the stem phase of Dandelion would flood through both inbound and outbound links to preserve the privacy of private nodes.

  • Related: Peer connection drop #2726
@quentinlesceller
Copy link
Member

Link to Bitcoin mailing list:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-May/016994.html.
Will be interesting to see the feedbacks there.

@eupn
Copy link
Contributor

eupn commented May 30, 2019

Rust bindings to Pieter's minisketch may come in handy: https://github.com/eupn/minisketch-rs

@Giszmo
Copy link

Giszmo commented Jun 1, 2019

@lehnberg why is this tagged research? What is the research question you want to be answered? The paper looks like a nice to have feature but for grin at this point maybe not the best thing to spend resources on. Dandelion provides all the privacy we want in this part of the transaction broadcast and bandwidth optimizations would be premature. I would tag it nice to have.

@lehnberg
Copy link
Collaborator Author

lehnberg commented Jun 3, 2019

Hi @Giszmo, thanks for your questions.

What is the research question you want to be answered?

How would one best implement an Erlay-like protocol in Mimblewimble that is compatible with Grin's flavour of Dandelion++, and what would the benefits be? If you could help us figure this out, I'd be glad to remove the research tag.

The paper looks like a nice to have feature but for grin at this point maybe not the best thing to spend resources on.

Maybe, maybe not. What do you base your assertion on? And what are the resources that you are referring to? This issue is a placeholder, for any interested contributor to pick up. It's an open source project after all, anyone is free to work on whatever they find interesting and meaningful.

Dandelion provides all the privacy we want in this part of the transaction broadcast and bandwidth optimizations would be premature.

What do you base your claim on? Regardless, as per the paper, part of the motivation behind Erlay for Bitcoin is to make it more efficient and thus more accessible to run nodes. This enhances network security, and seems highly relevant for Grin as well.

@eupn
Copy link
Contributor

eupn commented Jun 7, 2019

My Erlay simulator: https://github.com/eupn/actix-erlay-sim

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

No branches or pull requests

4 participants