You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When geth first boots up, it generates a nodeId. The nodeId is never regenerated, and uniqely identifies the node in the network.
The nodeId is stored as nodekey in the datadir. There are some problems around privacy, with the nodeid.
It enables 'tracking'. A user who moves between different geographical locations can be tracked. By seeing how a unique node moves, it can be possible to identify the human behind the node.
This can be solved by rotating the nodeid. However, there are problems with that aswell,
If the node id is rotated too frequently, it causes a churn on the kademlia table.
So there are different ways we can do that.
Rotate nodeid every N days/weeks (with some randomness). This is the most naive way to implement it, and makes tracking more difficult, but not impossible.
Tie nodeid to external ip address. When geth boots up, it figures out the external IP. If it has been changed, it generates a new nodeid. This would prevent tracking, it would enable stable nodeid's for long-lived servers. The downside is that in order to figure out the external IP, geth would need to use a temporary nodeid first, and then change nodeid after ip discovery.
?
The text was updated successfully, but these errors were encountered:
hash of (operating system boot time + bound ip address) ?
The problem is not so much to figure out a method of seeding. The problem of 2) is that actually figuring out the external IP requires some networking. Regarding the algo suggestion, I'm not sure why one would want to factor in boot time?
When geth first boots up, it generates a
nodeId
. ThenodeId
is never regenerated, and uniqely identifies the node in the network.The
nodeId
is stored asnodekey
in the datadir. There are some problems around privacy, with the nodeid.This can be solved by rotating the nodeid. However, there are problems with that aswell,
So there are different ways we can do that.
N
days/weeks (with some randomness). This is the most naive way to implement it, and makes tracking more difficult, but not impossible.nodeid
to external ip address. When geth boots up, it figures out the external IP. If it has been changed, it generates a new nodeid. This would prevent tracking, it would enable stable nodeid's for long-lived servers. The downside is that in order to figure out the external IP, geth would need to use a temporary nodeid first, and then change nodeid after ip discovery.The text was updated successfully, but these errors were encountered: