Skip to content

Commit

Permalink
feat: add diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
merklefruit committed Aug 20, 2024
1 parent f12f1ee commit 2d76f4c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
Binary file added book/src/assets/dato_simple_diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions book/src/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,16 @@ can then be verified by anyone / any chain (assuming PKI).
- Linear communication complexity: $n \times (m + r)$ ($m$ = message size, $r$ = response size)
- Minimal, constant latency
- Maximal throughput

Here is a high-level diagram of the happy-case flow:

![DATO simple flow](./assets/dato_simple_diagram.png)

1. A client sends a message $M$ to all $N$ validators
2. Each validator signs the message and their local timestamp, and sends it back to the client
3. The client waits until a quorum of $2/3$ signatures is reached, and then calculates the median timestamp
4. The client aggregates the signatures into a quorum certificate that can be used to prove the timestamp

On top of this functionality, DATO also provides a way to obtain _unavailability_ certificates
for individual messages, to prove that a message was not seen by a quorum of validators at a
given time. This is useful for attribution in the case of censorship.

0 comments on commit 2d76f4c

Please sign in to comment.