DAGX采用的是“分而治之”的思想,通过将整个DAG分割成多棵哈希树(hash_tree),以哈希树作为基本单元来进行同步。为方便理解,哈希树在一定程度上可以跟单链结构中的区块进行类比,只不过哈希树的分割方式具有更大的灵活性。在DAGX中,哈希树的分割方式以同步链(catchup_chain)的形式实现。同步链和哈希树构成了DAGX的DAG同步的基本数据结构。
DAG常用来做任务的调度规划,比如Spark在做并行处理时使用DAG来任务规划,Git采用DAG来做版本管理。DAG在区块链上的应用可以参考 《DAG也许是真正的区块链3.0》,下面将对使用DAG作为区块链的Dagx原理进行详细的解析。