Skip to content

Other peer discovery mechanism #47

Open
@mhchia

Description

@mhchia

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 with shardID and possibly peerID(?), and the value is peerID.
    • 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?"

Metadata

Metadata

Assignees

No one assigned

    Labels

    designNeed designquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions