Description
What is wrong?
We use a global topic for nodes to broadcast their ShardPreference
, informing nodes which nodes are listening in which shards. Even though a ShardPreference
only occupies SHARD_COUNT
bits, along with more bytes occupied by packet headers, it still might be an issue when the number of nodes in the sharding P2P network grows to a really big number.
It might also be a problem that, ShardPreference
is not easily verified. Therefore, scams are not easily avoidable. A node can connect to the the node who just broadcast the ShardPreference
and ask for Proof-of-Custody things to verify if the node actually listens to that shard. However, it is still quite tricky.
How can it be fixed?
Find other peer discovery approaches.
Possible options we already had in mind are
- 2 DHTs, one is used dedicatedly to translate
peerID
to IP and port, while another one is used for peer discovery. Its key should correlate withshardID
and possiblypeerID
(?), and the value ispeerID
.- It's just an idea. I'm not sure if it works or not.
- rendezvous protocol
- Is it quite experimental?
- DHT providers with topics(example is here )
- Others
Edit: added "scamming through ShardPreference
channel" in "What is wrong?"