  DAG-based consensus protocols are being adoption by blockchain companies to
decrease energy footprints and improve security. A DAG-based consensus protocol
collaboratively constructs a partial order of blocks of transactions and
produces linearly ordered blocks. The ubiquity and strategic importance of
blockchains call for formal proof of the correctness of key components, namely,
consensus protocols. This paper presents a safety-proven formal specification
of two DAG-based protocols. Our specification highlights several dissemination,
DAG construction, and ordering variations that can be combined to express the
two protocols. The formalization requires a refinement approach for modeling
the consensus. In an abstract model, we first show the safety of DAG-based
consensus on leader blocks and then further refine the specification to
encompass all blocks for all processes. The TLA+ specification for a given
protocol consists of 492-732 lines, and the proof system TLAPS verifies
2025-2294 obligations in 6-8 minutes.
