-
Notifications
You must be signed in to change notification settings - Fork 280
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
[identify] Handling of asymetrical protocols #324
Comments
Yes, this is the libp2p best practice. Implementations doing this today:
Does the above make sense to you @D4nte? If so, would you mind sending in a patch to update the identify protocol specification in this repository? |
Great answer, thank you very much. |
Closing, will reopen if further questions arise. |
> Note on asymmetrical protocols: Assume an asymmetrical request-response style protocol `foo` where some clients only support initiating requests while some servers (only) support responding to requests. To prevent clients from initiating requests to other clients, which given them being clients they fail to respond, clients should not list `foo` in their `protocols` list. Question emerged in libp2p#324.
* identify: Document identify behavior for asymetrical protocols > Note on asymmetrical protocols: Assume an asymmetrical request-response style protocol `foo` where some clients only support initiating requests while some servers (only) support responding to requests. To prevent clients from initiating requests to other clients, which given them being clients they fail to respond, clients should not list `foo` in their `protocols` list. Question emerged in #324. * identify/README: Reword to inbound substreams
…p#327) * identify: Document identify behavior for asymetrical protocols > Note on asymmetrical protocols: Assume an asymmetrical request-response style protocol `foo` where some clients only support initiating requests while some servers (only) support responding to requests. To prevent clients from initiating requests to other clients, which given them being clients they fail to respond, clients should not list `foo` in their `protocols` list. Question emerged in libp2p#324. * identify/README: Reword to inbound substreams
…p#327) * identify: Document identify behavior for asymetrical protocols > Note on asymmetrical protocols: Assume an asymmetrical request-response style protocol `foo` where some clients only support initiating requests while some servers (only) support responding to requests. To prevent clients from initiating requests to other clients, which given them being clients they fail to respond, clients should not list `foo` in their `protocols` list. Question emerged in libp2p#324. * identify/README: Reword to inbound substreams
Given an asymmetrical protocol
foo/bar
where Alice only supports initiating a query to Bob and Bob only supports responding to a request of said protocol.Currently, the identify protocol does not include valuable information. Indeed, the specs reads:
In the case of Carole, who only support initiating query of
foo/bar
protocol. Once she finishes the identify protocol with Alice, both Carole and Alice may think they can initiate the query with the other, when it is not the fact.One idea I had was simply for Alice and Carole to not include
foo/bar
in theIdentify
message they send. I am not sure of the ramifications of such design.What are your thoughts on the matter?
The text was updated successfully, but these errors were encountered: