Skip to content

Commit

Permalink
Merge pull request #2527 from EspressoSystems/ed/diagrams-part2
Browse files Browse the repository at this point in the history
Ed/diagrams part2
  • Loading branch information
elliedavidson authored Feb 7, 2024
2 parents 171e22a + ec4b0fb commit 0eac853
Show file tree
Hide file tree
Showing 10 changed files with 821 additions and 246 deletions.
13 changes: 13 additions & 0 deletions docs/diagrams/General.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,19 @@
## Data Structures
```
state_map {
HashMap (VIDCommitment -> Leaf)
TODO
}
```

```
latest_known_view: u64
```

```
latest_voted_view: u64
```

```
latest_da_voted_view: u64
```
1,021 changes: 775 additions & 246 deletions docs/diagrams/HotShotFlow.drawio

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions docs/diagrams/OptimisticDACertificateRecv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# OptimisticDACertificateRecv

![OptimisticDACertificateRecv](/docs/diagrams/images/HotShotFlow-OptimisticDACertificateRecv.drawio.png "OptimisticDACertificateRecv")

## Basic Message Validation

## Optimistic DA Certificate Processing

9 changes: 9 additions & 0 deletions docs/diagrams/OptimisticDAProposalRecv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# OptimisticDAProposalRecv

![OptimisticDAProposalRecv](/docs/diagrams/images/HotShotFlow-OptimisticDAProposalRecv.drawio.png "QuorumProposalRecv")

## Basic Message Validation
* It is possible for some applications built on top of HotShot to listen for DA proposals but not vote on them (such as builders).

## DA Proposal Validation and Processing
* "Valid" DA proposal data is a no-op for now. More validation is done in the `VoteOnQuorumProposal` task.
9 changes: 9 additions & 0 deletions docs/diagrams/VIDShareRecv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# VIDShareRecv

![VIDShareRecv](/docs/diagrams/images/HotShotFlow-VIDShareRecv.drawio.png "VIDShareRecv")

## Basic Message Validation

## VID Share Processing and Validation
* A "valid" VID share is one that successfully passes the `VidScheme::verify_share` function

7 changes: 7 additions & 0 deletions docs/diagrams/VoteOnQuorumProposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# VoteOnQuorumProposal

![VoteOnQuorumProposal](/docs/diagrams/images/HotShotFlow-VoteOnQuorumProposal.drawio.png "VoteOnQuorumProposal")

## Mutually Verify Share, Cert, and Proposal
* Nodes must verify that the `OptimisticDACertificate`, their `VIDShare`, and the `QuorumProposal` all commit to the same data. It is only possible to do this verification once we've receive all the necessary data.
* The event/task dependency infrastructure should only spawn this task if the view for all 3 dependencies is the same. It is an internal error if this is not the case.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0eac853

Please sign in to comment.