Skip to content
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

Kademlia routing algorithm correction and audits #186

Open
3 tasks
layters opened this issue Aug 12, 2023 · 0 comments
Open
3 tasks

Kademlia routing algorithm correction and audits #186

layters opened this issue Aug 12, 2023 · 0 comments
Labels
⬆️ high priority High priority issues 🐞 bug Something isn't working 🆘 help wanted Extra attention is needed urgent Required to move forward

Comments

@layters
Copy link
Owner

layters commented Aug 12, 2023

Details
  • The Kademlia Routing algorithm may be incorrect since I used ChatGPT to write the code. It may need to be re-written and audited.
  • get requests block the GUI client app.
    • put requests are simple and don't really affect the local GUI client as much since the local node (which exists on the server side) is sending data to the other nodes in the network, but get requests are expensive and so slow because the data being fetched will be used by and displayed via the GUI client. Is there any way to resolve this issue?

    • perhaps the recv timeout should be shorten to miliseconds rather than seconds?

    • get_provider request was made to make it easier to fetch data directly from the peers that have the data in their hash tables.

    • Should the default (hard-coded) bootstrap nodes be allowed to accept map requests in order to maintain a complete list of all keys and their providers?

      tl;rl: searching for a key in the DHT network can take forever which will probably block the GUI client app.

  • Proper memory management and ensure thread safety, especially in node.cpp and routing_table.cpp, msgpack.cpp, and daemon/main.cpp.
Related files

https://github.com/larteyoh/testshop/blob/main/src/core/protocol/p2p/routing_table.cpp
https://github.com/larteyoh/testshop/blob/main/src/core/protocol/p2p/node.cpp
https://github.com/larteyoh/testshop/blob/main/src/core/protocol/messages/msgpack.cpp
https://github.com/larteyoh/testshop/blob/main/src/daemon/main.cpp

Bounty reward

(not yet decided)

@layters layters added 🐞 bug Something isn't working 🆘 help wanted Extra attention is needed ⬆️ high priority High priority issues urgent Required to move forward labels Aug 12, 2023
@layters layters changed the title Protocol improvements Kademlia DHT Protocol audit, improvements, and bug fixes Sep 27, 2023
@layters layters changed the title Kademlia DHT Protocol audit, improvements, and bug fixes Kademlia routing algorithm correction and audits Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⬆️ high priority High priority issues 🐞 bug Something isn't working 🆘 help wanted Extra attention is needed urgent Required to move forward
Projects
None yet
Development

No branches or pull requests

1 participant