3.5. Signed Tree Head (Signierter Baumkopf)
3.5. Signed Tree Head (Signierter Baumkopf)
Jedes Mal, wenn ein Log neue Einträge an den Baum anhängt, SOLLTE es den zugehörigen Tree Hash und die Bauminformationen signieren (siehe die Signed-Tree-Head-Client-Nachricht in Abschnitt 4.3). Die Signatur für diese Daten ist wie folgt strukturiert:
digitally-signed struct {
Version version;
SignatureType signature_type = tree_hash;
uint64 timestamp;
uint64 tree_size;
opaque sha256_root_hash[32];
} TreeHeadSignature;
version ist die Protokollversion, der TreeHeadSignature entspricht. Diese Version ist v1.
timestamp ist die aktuelle Zeit. Der Zeitstempel MUSS mindestens so aktuell sein wie der jüngste SCT-Zeitstempel im Baum. Jeder folgende Zeitstempel MUSS neuer sein als der der vorherigen Aktualisierung.
tree_size entspricht der Anzahl der Einträge im neuen Baum.
sha256_root_hash ist die Wurzel des Merkle Hash Tree.
Jedes Log MUSS auf Anforderung einen Signed Tree Head (STH) liefern, der nicht älter als der Maximum Merge Delay ist. Erhält es in einer MMD-Periode keine neuen Einreichungen, SOLL es denselben Merkle Tree Hash mit einem frischen Zeitstempel signieren.