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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

2018-11-02 Video of p2p requirement meeting #1

Open
ChihChengLiang opened this issue Nov 3, 2018 · 3 comments
Open

2018-11-02 Video of p2p requirement meeting #1

ChihChengLiang opened this issue Nov 3, 2018 · 3 comments

Comments

@ChihChengLiang
Copy link
Collaborator

ChihChengLiang commented Nov 3, 2018

First issue 馃帀. Danny explained the current sharding spec and Nichola asked some questions.

@nkeywal
Copy link

nkeywal commented Nov 7, 2018

Here are my notes from the meetings, @djrtwo mentioned he was going to get them reviewed with EF's research team.

Tens of thousands of 'standard' nodes (i.e. non validating nodes) 300 validators per shard (a validator stays a month on a shard.), 1024 shards.

Sizing target: a standard node has typically 10 shards. Same for a validator. Obviously, we will also have smaller and/or very large nodes.

A shard has typically 10 peers, configurable, could go up to 100 or more. Current vision: each shard/peer has its own tcp connection to maximize independence. Could be revisited.

Peers are worldwide, locality/proximity is not taken into consideration while choosing the peers.
Obviously impacts latency. See https://arxiv.org/pdf/1801.03998v2.pdf for numbers: majority is between 100ms to 300ms.
Not sure if we have geographic clusters in practice today, anticipation is no. Bandwidth.: 3Mbits/seconds (~400KBytes/second), everything included, is a good objective for standard nodes. Could be increased for validators if necessary.

Impact:
For example if we have 1000 shards, 20000 nodes and 10 shards per node it means that a shard is replicated on 200 nodes. We haven't pushed this idea during the meeting (will we have 300 validators on top of this, or is it included).

@jannikluhn
Copy link
Collaborator

jannikluhn commented Nov 7, 2018

Thank you for providing the summary, @nkeywal! Some comments and clarifying questions:

a standard node has typically 10 shards

Does that mean that a node with "standard" hardware that can handle ~1 Ethereum chain right now will need to be able to handle 10 shards in the future, or do we scale the hardware requirements by a factor of ~10? Because if we do the former, we effectively only scale by a factor of 100 instead of 1000 (at least if we ignore all non-sharding related improvements).

will we have 300 validators on top of this, or is it included

I'd say those come on top as the 20k nodes presumably don't include (pooled) miners at the moment either. But personally I think it would be great if the network would work even without any user nodes and only validators (i.e. 300 nodes per shard). The reason being that in the beginning there might be shards with nothing going on at all.

@nkeywal
Copy link

nkeywal commented Nov 7, 2018

Does that mean that a node with "standard" hardware that can handle will need to be able to handle 10 shards in the future
imho, yes, more or less even if of course the average server capacity increases all the time.

I think it would be great if the network would work even without any user nodes and only validators (i.e. 300 nodes per shard)
+1, this would pay the people owning the nodes. However it will be difficult to hide that you're a validator if most or all nodes are validators.

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

3 participants