  This work formalizes the structure and protocols underlying recent
distributed systems leveraging block DAGs, which are essentially encoding
Lamport's happened-before relations between blocks, as their core network
primitives. We then present an embedding of any deterministic Byzantine fault
tolerant protocol $\mathcal{P}$ to employ a block DAG for interpreting
interactions between servers. Our main theorem proves that this embedding
maintains all safety and liveness properties of $\mathcal{P}$. Technically, our
theorem is based on the insight that a block DAG merely acts as an efficient
reliable point-to-point channel between instances of P while also using
$\mathcal{P}$ for efficient message compression.
