Skip to content

datahop/p2p-service-discovery

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Research project on Service Discovery in Ethereum 2.0 (continuation of this project)

Overview

This is a follow-up research project on Service Discovery in Ethereum 2.0 (Discv5) (available at: https://github.com/harnen/p2p-service-discovery). The previous project was successfully completed, but requires additional security analysis, traffic optimization and documentation to allow integration and deployment in the production code.

DEVP2P is a set of network protocols that form the Ethereum peer-to-peer network and act as an entry point for multiple different networks and applications. A service discovery system is thus necessary to allow each user to find its peers. The main challenge facing such a decentralised system is to efficiently manage the scarce resources of registrant nodes. The platform needs to decide how to place service advertisements to enable fast lookups for applications with thousands of users and avoid having less popular services to be hard to find by their users. This task is crucial for the efficiency of the whole platform, but becomes especially challenging under the presence of malicious nodes who can try to manipulate or overload the system.

To the best of our knowledge, there is no other existing work that proposes a service discovery mechanisms suitable for work with Ethereum 2.0. Similar work has been done for p2p content exchange networks (e.g., BitTorrent), but either require assistance from a centralized tracker, are not scalable enough or comes with an additional set of assumptions. Our goal is to discover nodes offering a specific service, without having a separate, dedicated p2p network (or a swarm) for each service.. Our solution aims at proposing a new service discovery mechanism for the DEVP2P network that can be used to discover any service in the network efficiently, with good performance for any service regardless of the popularity and with resistance to malicious nodes behaviour (with the focus on sybil, spam and eclipse attacks).

The specific outcome of this project is to improve the service discovery mechanism, designed during the last project, on already identified aspects, such as traffic load balancing, optimal topic table structure or measurements on the resistance against various (e.g., DoS, Sybil and Eclipse) attacks by malicious nodes. The outcome of this project will be:

  • Improvement of the existing network simulator.
  • Specifications of the service discovery mechanism with the proposed improvements.
  • Technical report including the performance evaluation of the proposed mechanism along with an evaluation of the security resistance against security attacks.
  • (Optional) Service discovery performance evaluation in a real testbed using production software (go-ethereum).

Project Plan

The project is organised in three main milestones of the project together with their deliverables. We represent our progress with the following:

  • Complete tasks

  • Pending or uncomplete tasks

  • Objective 1: Traffic optimization and load balancing

  • Objective 2: Investigate topic table structure

  • Objective 3: Additional security analysis

  • Objective 4: Configuration parameters analysis

  • Objective 5: Publication-ready technical report

    • Task: Write a technical report including the final specs of the discovery mechanism, all results of the evaluation and the conclusions of the investigation.
    • Deliverable: Technical report including specs and evaluation. (Paper )
    • Deadline: 21/7/2021
  • Objective 6: Evaluation on a real testbed

    • Task: Evaluate the service discovery mechanism using production software in a real testbed.
    • Deliverable: Testbed instructions and evaluation report using final parameters (Paper).
    • Deadline: 30/7/2021

Discv5 Service Discovery Requirements

Requirements

Discv5 Service Discovery Specifications

Specifications

Security Analysis

Security

Service Discovery Simulator

Simulator

Simulation results

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 46.0%
  • Jupyter Notebook 41.2%
  • Python 12.8%