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

Fluffy find_content return enrs is returning enrs which are not closer then recipient node breaking spec #1658

Closed
KolbyML opened this issue Jul 28, 2023 · 2 comments

Comments

@KolbyML
Copy link

KolbyML commented Jul 28, 2023

Fluffy find_content return enrs is returning enrs which are not closer then recipient node breaking spec

https://github.com/ethereum/portal-network-specs/blob/d4937248164418c598ab3c15b12f4489a14532cc/portal-wire-protocol.md?plain=1#L131

here is the line I am refering to ^
list of ENR records of nodes that are closer than the recipient is to the requested content.

the spec says closer then the recipient currently fluffy is just returning the closest 16 it has, which instead the reicipient should only return enrs it knows closer then itself.

I found this bug well trying to write my 3 client find_content test.

@kdeme since Idk if I should ping you or not.

@kdeme
Copy link
Contributor

kdeme commented Jul 28, 2023

Interesting, I was not aware of this limitation in the specifications. I went intuitively with the version that provides also nodes that are in its "neighbourhood" as I think that limiting it at only closer nodes could make the recursive find content die out more quickly while the data is available in the network, or at least cause it to make more hops to find the node with the content.

Assume that a node only has few nodes from the neighbourhood of the content (say same bucket value) in its routing table.
And those few nodes happen to be the closest ones to the content, but they don't actually store the content (yet). Then the recursive requests could die out there. Or it might still be found via several hops through contacting another node that is much further away in distance.
If they do return nodes from their neighbourhood, the content might be found just 1 hop further.

@kdeme
Copy link
Contributor

kdeme commented Aug 22, 2023

Closing this as instead specs got adjusted: ethereum/portal-network-specs#222

@kdeme kdeme closed this as completed Aug 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants