关于DAG数据架构的粗浅思考
公链之间的技术竞争,目前的核心还是围绕提高可扩展性展开的。
比如,以太坊的“无限扩容”路线图,开发周期为两年,严重依赖数据库分片技术。虽然以太坊的分片扩容路线技术难度非常大,不过,如果该方案成功,可以预期,以太坊将会继续享受作为区块链智能合约平台的先发优势。
再比如,EOS的石墨烯技术,在压力测试中,该技术能够实现每秒1000-100000笔交易的处理能力。通过纵向和横向扩展,实现每秒种数百万笔交易的处理量也有可能。
下面,本文尝试着用简单的语言对另外一种不常被提到的解决方案——DAG( Directed Acyclic Graph)即有向无环图进行粗浅的介绍。
首先需要弄清楚一个概念: 区块链技术是分布式账本技术的一部分,但是分布式账本技术包含的种类很多,不仅包括链式结构技术——区块链技术,还包括图式结构技术——DAG(有向无环图)分布式账本技术和Hashgraph(哈希图)等。Hashgraph(哈希图)是Swirlds开发的一种已申请专利的解决方案,相对DAG来说开源性差了许多。
DAG(有向无环图)原本是计算机领域一种常用数据结构,所谓有向无环图是指:任意一条边有方向,且不存在环路的图。它具有拓扑排序,即一系列顶点,使得每个边都从该序列中的较早部分指向较晚部分。需要明确的是,DAG数据结构早于区块链技术出现。
因为独特的拓扑结构所带来的优异特性,DAG这类数据结构经常被用于处理动态规划、导航中寻求最短路径、数据压缩等多种算法场景。
上面在对DAG的解释中提到的拓扑又是什么意思呢?
百度上对“拓扑”的你解释是这样的:所谓“拓扑”就是把实体抽象成与其大小、形状无关的“点”,而把连接实体的线路抽象成“线”,进而以图的形式来表示这些点与线之间关系的方法,其目的在于研究这些点、线之间的相连关系。表示点和线之间关系的图被称为拓扑结构图。
咱们都知道几何结构。几何结构强调的是点、线之间的位置关系,既空间上的关系。而拓扑结构指的则是时间上的关系,即一系列顶点,使得每个边都从该序列中的较早部分指向较晚部分。
举个例子。 梯形、正方形、平行四边形及圆都属于不同的几何结构,但从拓扑结构的角度去看,由于点、线间的连接关系相同,从而具有相同的拓扑结构。由此可以看出,不同的几何结构可能具有相同的拓扑结构。
弄清了DAG的基本概念,我们再来看一下DAG的工作原理是怎样的。
在DAG架构的系统中,共识机制不再采用网络中的一个子集(比如矿工)去专门负责维护共识,而是全网所有的参与者(比如需要交易的设备)都进行网络交易的验证工作。DAG架构的系统中共识机制与交易过程是一体的:它是其内生的组成部分,可以使系统在没有任何交易费用的情况下进行扩展。
换句话说,在区块链系统中,因为需要向矿工支付报酬,因此形成了交易费,但在DAG架构的系统中,网络中的每个有效节点都可以有效地对交易进行验证,没有了矿工和竞争记账权的概念,因此没有人付交易费。
以上为DAG架构相对于传统的区块链架构所呈现的最核心的创新,也是其某些场景下的优越性的根源。
比如,与基于区块链的网络(用户数量增加后速度变慢)相比较,随着用户群不断庞大,DAG实际上变得更快。这是由于越来越多的用户导致验证时间更短所导致的。
以上为个人对DAG数据架构的一些粗浅思考。
本文仅供学习交流之用,不构成任何投资建议。