DAG Structure
Similar to the Narwhal DAG, Mysticeti builds its DAG in a sequence of logical rounds. For each round, every honest validator proposes a unique signed block. Byzantine validators may attempt to equivocate by sending multiple distinct blocks to different parties or none at all. These equivocated blocks make the Mysticeti DAG uncertified, contrasting with the certified version in the Narwhal DAG. Each block in the Mysticeti DAG contains:
-
Creator Authority: Identifies the creator, includes a round number, and a digest (reference for the block).
-
Base Statements: Transaction payloads received from users or transaction votes.
-
Included References: References that the block depends on, which must be processed before this block is processed.
-
Signature: A signature from the creator over all the data.
A block is valid if it satisfies the following conditions:
-
Includes the authority and its signature on the block contents.
-
Contains a round number.
-
Lists transactions (can be empty).
-
Has at least 2f+1 distinct block references from the previous round, or empty references for blocks from the first round.
Validators broadcast their block to others to include as references in proposed blocks in the next round.