-
Notifications
You must be signed in to change notification settings - Fork 31
Blog post about 0rtt #329
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
Blog post about 0rtt #329
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
src/app/blog/0rtt-api/page.mdx
Outdated
|
||
# What is 0-RTT | ||
|
||
Iroh connections are just peer to peer QUIC connections, using a fork of the quinn rust crate. QUIC is using TLS for encryption. |
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.
Quinn should be capitalised.
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.
LGTM, but would be good to get someone with more TLS knowledge review at least that section.
src/app/blog/0rtt-api/page.mdx
Outdated
|
||
### ClientHello | ||
|
||
Like before, the client sends a `ClientHello` message. The `ClientHello` for a connection attempt using 0-RTT must contain a set of ids of pre shared keys, otherwise it is not possible for the server to decrypt subsequent user data before the full handshake is complete. In addition it has an `early data` flag set. |
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.
Double checking: you're sure that in QUIC's use of TLS the early data
flag is also set when using 0-RTT? I hope your wireshark captures could confirm this.
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.
if there is no early_data flag, you are not allowed to send early data. So I would assume that it is set.
I think both Phillip and dig are quite busy. And I am pretty sure that the basic mechanism is correct. If there is some tiny error people can complain about it and provide some additional publicity... |
Co-authored-by: Floris Bruynooghe <[email protected]>
Co-authored-by: Floris Bruynooghe <[email protected]>
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.
pushed some minor nits! looks great. Followed along and everything works as expected.
OK, |
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.
Lol still had this pending comment in my review queue 🙃
export const post = { | ||
draft: false, | ||
author: 'Rüdiger Klaehn', | ||
date: '2025-05-21', |
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.
Reminder comment to fix the date when it comes out.
Blog post exploring 0rtt using a simple pingpong example
Code is here: n0-computer/iroh#3323
Todo: reference example once it is merged!