diff options
-rw-r--r-- | doc/design.txt | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/doc/design.txt b/doc/design.txt index 9007cb8..c4b5f2a 100644 --- a/doc/design.txt +++ b/doc/design.txt @@ -4,8 +4,25 @@ This document describes the design of catlfish, an implementation of a Certificate Transparency (RFC6962) log. We have - -- a db storing data (persistently) and replicating r/o copies to n +- a db storing the log (persistently) and replicating r/o copies to n secondary nodes - 1 primary node writing the hash tree to the r/w db - n secondary nodes reading from local r/o db + +Nodes reply to the https requests specified in RFC 6962. +Nodes can operate in one of two modes -- primary or secondary. +[TODO: A secondary node can become primary. When, how?] + +Primary nodes +- have write access to the ctlog database (Mnesia?) holding the hash + tree +- store submitted cert chains on disk (DETS?) +- add the stored cert chains to the hash tree and sign the tree + periodically (at least every 30-60 minutes or so) + +Secondary nodes +- have read access to the ctlog database + +Open questions +- What's a good MMD? Google seem to use an MMD of well over 1h at the + moment (early 2014). |