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

Add poke to state network spec #347

Merged
merged 3 commits into from
Nov 28, 2024
Merged

Conversation

bhartnett
Copy link
Contributor

Poke in the state network is feasible by passing in the parent offer when looking up content. The fetched state content is then combined with the parent offer to build the offer which is used in the poke.

I'm not aware of any reason why poke should still be disabled in the state network, so I suggest we re-enable it.

Copy link
Collaborator

@kdeme kdeme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR explains well how/when POKE can be executed in the Portal state network.

But it does not state that it MUST, SHOULD or MAY be executed (and/or in which occasion). This keeps it quite ambiguous on whether a client should/must implement this or not.

So I think as a bare minimum something should be added like: "POKE mechanism SHOULD be executed when the proof is available on the node/application.

(Intuitively I'm also a little bit on the fence regarding how "application space" gets directly involved here in maintaining the health of the network. But this hesitation is probably too unfounded and it should help for the health of the network.) edit: It is not really true what I wrote there so ignore that, application side does not know about this happening, at least not for higher level calls like getAccount and so on.

@bhartnett
Copy link
Contributor Author

This PR explains well how/when POKE can be executed in the Portal state network.

But it does not state that it MUST, SHOULD or MAY be executed (and/or in which occasion). This keeps it quite ambiguous on whether a client should/must implement this or not.

So I think as a bare minimum something should be added like: "POKE mechanism SHOULD be executed when the proof is available on the node/application.

(Intuitively I'm also a little bit on the fence regarding how "application space" gets directly involved here in maintaining the health of the network. But this hesitation is probably too unfounded and it should help for the health of the network.)

Good point. In my opinion, clients SHOULD implement poke because it should be encouraged in order to spread data across the network. I've updated with additional text as suggested.

@bhartnett
Copy link
Contributor Author

@kdeme @KolbyML @morph-dev Did you have any thoughts on this one?

I have already implemented poke in the state network in Fluffy (ready in a PR) so I'm keen to have this be part of the protocol for state network. I'm not aware of any reason not to implement it.

state/state-network.md Outdated Show resolved Hide resolved
Copy link
Member

@pipermerriam pipermerriam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

Copy link
Contributor

@morph-dev morph-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚢

Copy link
Member

@KolbyML KolbyML left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@kdeme kdeme merged commit 1ba1729 into ethereum:master Nov 28, 2024
2 checks passed
@bhartnett bhartnett deleted the state-network-poke branch December 3, 2024 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants