BlockDAG 和 TxDAG的区别

这里存在两个层面的问题,即广义的BlockDAG(区块图)和TxDAG(Transactional DAG, 交易型DAG)的区别以及狭义上两者的区别。 广义上或从数据结构上说,BlockDAG 和TxDAG只是两种不同的数据结构。区别只是前者会将交易达成区块,账本是由区块组织而成;而后者并没有区块的概念,账本是由交易组成,也可以理解为一个区块里面只有一笔交易。由于交易有许多共同的交易描述性信息,即头部信息,这部分信息可以存在区块中,交易只需保存交易间不同的部分,因此BlockDAG账本的存储效率以及传输效率会比TxDAG高。

狭义上或者从共识协议上说,BlockDAG是指一个共识协议技术框架,是指可以在保证安全性和去中心化的前提下的高性能的DAG技术。因为要保证去中心化,所以只能基于工作量证明PoW共识,从而挖矿产生区块成为其重要的特点,故称为BlockDAG。 Qitmeer倡导的都是狭义概念的BlockDAG技术也是真正意义上的BlockDAG技术,因此不是说只要账本是由区块组成的DAG就是BlockDAG技术,就跟社区认可区块链技术也是狭义的区块链技术,需要有密码学的安全保证以及去中心化特点,而非简单的只是账本由链式区块组成的分布式网络。事实上,曾经出现过广义的BlockDAG技术的项目比如xDAG,但是由于其共识仍然是中心化的,Qitmeer并不认可这是BlockDAG技术。

狭义的TxDAG并没有明确的定义,只是从经验的角度来看,主流的DAG项目IOTA,OByte,NANO账本恰好都是TxDAG的。而这几个项目却都有不同程度的中心化,比如IOTA的Coordinator, OByte的见证人,NANO的DPoS, 而Qitmeer则是完全去中心化的,这也是Qitmeer和主流的DAG项目最大的区别。 至于为什么TxDAG的项目恰好都是中心化的,这里Qitmeer的观点是。TxDAG的项目可能为了节能的考虑会不采用PoW,即不挖矿,而PoW是目前真正去中心化的共识。既然没有挖矿的必要性,也就没有挖矿打包区块的必要了,而BlockDAG坚持去中心化因此需要PoW共识打包区块。

2 Likes