letsencrypt / letsencrypt/boulder

mtca: calculate and write subtrees

Open
#9,020 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

Right now we do a bit of a hack where we get a sign-subtrees response from mirrors for one big subtree that covers the whole tree at a given checkpoint. The MTCA should:

  • Calculate the up-to-two subtrees that cover the range between a new checkpoint and the previous one.
  • Sign those subtrees.
  • Write those subtrees to the checkpointSubtrees table.
  • Return the appropriate subtree ID as part of the Issue() response.

The mtpublisher should:

  • Poll for recent rows in checkpointSubtrees that lack a mirror signature.
  • Request sign-subtrees from mirrors.
  • Write the first result to checkpointSubtrees.

The MTCB should:

  • Read signatures from checkpointSubtrees when building standalone certificates.

Contributor guide

Open the contributing guide

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 MTCA Issue() path, the checkpointSubtrees table flow, the mtpublisher polling path, and MTCB standalone-certificate construction. Trace how checkpoint ranges, subtree IDs, and mirror signatures move between these components. Done means MTCA calculates and stores the subtrees, mtpublisher fills missing mirror signatures, and MTCB reads them for standalone certificates.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, databases, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
39/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.