transparency-dev / transparency-dev/incubator

[VIndex] Consider changing keys in index from fixed-size hashes to a prefix trie

Open
#33 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
4
Forks
6
Avg merge
3d 23h
Merged PRs (30d)
3

Description

The main README for the VIndex has the following:

[!IMPORTANT]
This describes the MapFn as returning key hashes.
We may want to have the map return the raw key (e.g. maps.google.com) so that a prefix trie can be constructed.

Raising this issue as a place for discussion on this.

The current implementation explicitly slots each entry into discrete buckets, in the form of a hash. For example, in CT a cert for maps.google.com will be indexed at:

  • H("maps.google.com")
  • H("google.com")

Early feedback on the map has suggested that it would be more natural to have this simply return a string, e.g. ".com.google.maps". This would then allow the domain operator to look up all domains and subdomains by searching the prefix trie index for ".com.google".

There are arguments both ways, so raising this issue as a lightning rod for transparent discussion on which direction is most useful. Note that this must consider ecosystems other than only CT.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the VIndex README at vindex/ and compare its current fixed-size hash bucket model with the proposed raw-key prefix trie. Consider the maps.google.com and .com.google.maps examples, along with ecosystems beyond Certificate Transparency. Done means the project has a decided direction for the MapFn key representation.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.