Markdown Version | Session Recording
Session Date/Time: 17 Mar 2025 10:00
keytrans
Summary
This keytrans session covered recent protocol document changes, focusing on time authentication and its impact on security. A proposal for self-balancing prefix trees to improve efficiency in non-privacy-sensitive applications was discussed. Finally, the session included a presentation on the formal verification efforts of the keytrans protocol.
Key Discussion Points
- Time Authentication:
- Discussed issues with the original "clock label" approach to time authentication due to potential forking and misbehavior concealment.
- Introduced the solution of making timestamps a first-class feature of the protocol, associating them directly with log entries.
- Explained the concept of "maximum lifetime" for log entries, enabling provable and secure pruning of the tree.
- Presented the idea of "reasonable monitoring window" and "distinguished log entries" to coordinate label monitoring and reduce state retention requirements.
- Self-Balancing Prefix Trees:
- Motivation: Improving efficiency for non-privacy-sensitive applications by avoiding unnecessary VRF usage.
- Problem: Typical balanced search trees store data in intermediate nodes, doubling the size of cryptographic search proofs.
- Solution: Allow multiple starting points (cursors) within a search range, with the transparency log indicating the most efficient cursor to use.
- Data Density: Efficiency depends on data density, not just total range of values
- Debate ensued whether hashing was a better strategy for dealing with tree balance
- Formal Verification:
- Goals: Verify the client side of a Go reference implementation, proving that all clients agree on their view of the log.
- Property: For all identical queries, the results of
verifyLatestshould be the same, independent of the server response. - Challenges: The specification, while well-written, relies on non-obvious insights into algorithms and graph theory. Efforts are underway to make it less ambiguous.
- Signatures in tree head should include a domain separator
- Extension field should be added for client configuration information
Decisions and Action Items
- Action Item: Felix to open issues and pull requests regarding specification ambiguities to facilitate concrete discussions.
- Action Item: Collect a list of use cases that would benefit from the self-balancing prefix trees.
- Action Item: Engage in a follow-up discussion on the formal analysis effort, particularly focusing on the opened issues and pull requests.
Next Steps
- Continue refining the specification based on feedback from implementers and formal verification efforts.
- Further explore the use cases and requirements for self-balancing prefix trees.
- Advance the formal verification of the key transparency protocol.