Skip to content

Sections 5.2 and 5.3 are vague #3

@gkgoat1

Description

@gkgoat1

Section 5.2:

  • It is unclear how time is encoded within the access ticket
  • It is, in general, unclear how a server would decode a hashed arbitrary X25519 secret

Section 5.3:

  • References a pervious spec not present here

Activity

slammingprogramming

slammingprogramming commented on Aug 11, 2025

@slammingprogramming

Thanks for your careful reading and raising these questions. I’ll clarify the points you mentioned regarding Sections 5.2 and 5.3:

Section 5.2 (Access-Ticket Bootstrap):
• Time encoding: The hour used in the access ticket derivation is specified as hour = floor(unixTime / 3600) in UTC, a simple integer representing the current hour since Unix epoch. This is incorporated in the salt for HKDF as SHA256("betanet-ticket-v1" ‖ ticketKeyID ‖ uint64_be(hour)), where uint64_be(hour) is an 8-byte big-endian encoding of the hour integer. This allows servers to verify tickets within a time window of ±1 hour by checking the current, previous, and next hour.
• Decoding the hashed X25519 secret: The access ticket is derived using HKDF from the shared secret established via X25519 key agreement between the client’s ephemeral key and the server’s published ticket public key. The server reconstructs the shared secret by performing its own X25519 calculation with the client’s public key extracted from the ticket payload. The “hashed arbitrary X25519 secret” refers to this shared secret input to HKDF, not to an opaque hash stored in the ticket. The ticket contains the client public key (cliPub), which is essential for the server to recompute the shared secret and thus verify the access ticket.

Section 5.3 (Noise XK Handshake):
• The reference to a previous spec is shorthand for Noise Protocol Framework’s Noise XK pattern as defined in the Noise spec (available at noiseprotocol.org). This section builds on that foundation with Betanet-specific key derivation and rekeying rules. The spec assumes familiarity with Noise XK; if helpful, we can consider adding a more explicit link or appendix to the official Noise spec for clarity.

Please let me know if you would find additional elaboration or examples helpful.

kayo09

kayo09 commented on Aug 12, 2025

@kayo09

can you boil down the motto for making this (betanet) in 3 words?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededin progressWe're working on it

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @gkgoat1@kayo09@TotallyNotK0@slammingprogramming

        Issue actions

          Sections 5.2 and 5.3 are vague · Issue #3 · ravendevteam/betanet