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

(Brainstorming) Anonymous validators: possible options at the p2p level #9

Open
nkeywal opened this issue Dec 13, 2018 · 3 comments
Open

Comments

@nkeywal
Copy link

nkeywal commented Dec 13, 2018

Tldr: what can we do at the p2p level if we want the validators (and may be any node actually) to remain anonymous? Is I2P an option?

There are a few reasons to allow the validators to stay anonymous, i.e. hiding the relationship validator public key <-> ip address:
It allows to DoS them, and possibly censor them.
It allows to hack them, and possibly get access to the private key used to sign the message.
It helps to identify the real person behind the validator, hence the public key, hence the funds who were used to stake.

See #5 for more context. It seems reasonable to say that it will being anonymous will be necessary for some validators at least.

Here are the possibility I see (not exclusive):

None of these options are incompatible. It could make sense, for example, to have nodes on the public ip network & nodes on Tor.

At this stage, I’m wondering about I2P support. Anyone has insights on it? On implementing ourselves some parts of Tor/I2P, the devil is in the details, so it’s easy to under-estimate the final cost of these kind of things. But leveraging the work done (or to be done) somewhere else (libp2p? :-) ) could make sense as well.

@Swader
Copy link

Swader commented Dec 21, 2018

I would just like to reference ethereum/consensus-specs#157 as an issue somewhat related to this. It seems like we'll be encouraging people to run their own beacon nodes to be validators, which would mean no amount of privacy on validators will help since beacon nodes must remain "public". An attack on a validator's BN will therefore be equivalent in DoS-iness to an attack on a validator itself.

@Mikerah
Copy link

Mikerah commented Jan 1, 2019

There are several network level anonymity proposals for Bitcoin such as Dandelion++ and P2EP

@fjl
Copy link

fjl commented Feb 15, 2019

Leaving pubsub privacy aside for a second and focusing purely on discovery, privacy could work as follows:

There is one discovery topic per shard. proposers register for that topic just like everyone else syncing the shard. Attester nodes don't register and simply look for random shard participants. Proposals are broadcasted by everyone on the shard's pubsub topic and will be received by attester nodes.

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

No branches or pull requests

4 participants