-
-
Notifications
You must be signed in to change notification settings - Fork 23
Add IPv4 address space scanning, for full decentralization. #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ginal scanning code. - Added new constants to constants.js
… (By Sending identity via heartbeat, validate recieved PoW and signature)
| **Q: Should I enable IPv4 scanning?** | ||
| A: Probably not. DHT discovery works fine and doesn't require any special configuration. IPv4 scanning is there if you want extremely slow initial peer discovery or if you hate your IP's reputation, but it is not necessary for the network to function. Most deployments should just leave it disabled and let DHT do its thing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LMFAO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean it is pure and utterly stupid.
While it can work, with only 200 nodes you might as-well play the lottery.
That being said, I had some successful connections running. (Running the code on 3 containers with 170 Addresses/Sec)
|
I can't in good conscience approve this -- I'm so sorry. |
|
Hey @lklynet, I am of course respecting your decision; I am just interested in your reasoning. |
This fork adds support for scanning the full IPv4 address space, inspired by u/TheG0AT0fAllTime's comment in this reddit thread..
It does so by using the Feistel cipher for randomized IPv4 addresses (Could be improvemend by filtering for only public IP spaces and excluding government and businesses ranges), and scanning them for an open TCP Port 3000 (configurable).
If a valid IP:PORT is found, it sends an initial HEARTBEAT message. All subsequent heartbeats are validated by verifying the PoW (Proof-of-Work) and ed25519 signature. This is mainly to prevent the connection to a random appliance running on port 3000.