probe-lab / go-kademlia

Generic Go Kademlia implementation
Other
17 stars 4 forks source link

Double Hash DHT Migration #20

Open iand opened 1 year ago

iand commented 1 year ago

Prerequisites

Description

Migrate the DHT Network to start using the Reader Privacy Upgrade provided by the Double Hash DHT implementation.

There are multiple ways to perform the migration, a good strategy has been discussed in Migration Plan. However, the following plans are also possible:

  1. Migrate from current DHT to Composable DHT
  2. Add support for Reader Privacy afterwards

or

  1. Migrate to Composable DHT and Reader Privacy simultaneously in the same migration

or

  1. DHT Reader Privacy Upgrade Migration
  2. Composable DHT migration

For Rust and JS implementations, in the case we perform the Reader Privacy Upgrade first, compatibility will be broken if Rust and JS don’t implement Double Hashing at the time of the merge. However, performing the composable DHT migration first (or simultaneously) would allow Rust and JS implementation to fall behind, while still being connected to the main DHT and keep using old RPCs.

References

Migration Plan