比特币及主流区块链采用的都是采用生成区块的方式存储方式,整个网络中只能产生一条区块链,因此效率上一直为人诟病,今天我们看看什么是DAG链,它的运行原理是什么,共识机制是什么,当前的应用是什么。
为了提高区块链的效率,在NXT社区首次提出了有向无环图(DAG,Directed Acyclic Graph)跟区块链结合的方案,简称DAG链。由于无环图独特的拓扑结构,经常被用于动态规划中寻求最短路径。
DAG链不同于主流区块链的一种分布式账本技术,是区块链中的一次比较大的创新,DAG技术给高并发的交易提供了最具前景的解决方案。把区块链二维提升到了三维,把同步记账提升为异步记账。DAG没有区块的概念,所以没有区块容量的限制。DAG链通过新交易验证并引用旧交易的方式进行交易确认,允许用户的账本之间存在临时性的微小差异,通过短时间内弱化数据块全网一致性的方式,达到不发生交易阻塞的效果。
当用户想要将数据添加到数据库时,创建一个新的存储单元(Unit),然后向其它节点进行广播。每个存储单元包含三个部分(所需存储数据、创建Unit的一个或者多个用户的签名、一个或多个前序Unit所确定的哈希值)。
DAG链网络节点规模越大,交易量越大,者确认交易时间越短。
从任何一个顶端单元出发到达创世单元的最优路径称为候选主链(Candidate Mainchain)。最优路径选择最优父单元产生,选择策略用于保证整个网络的安全性。不同候选主链在某个单元位置交叉(最差情况是创始单元交叉),该交叉点称为稳定点(Stable Point).对于所有候选主链,从稳定点到创世单元的路径完全相同,该路径称为稳定主链(Stable Mainchain).
双花交易,即相同地址发出的任何无需的交易都视为双花交易,即使它们没有使用相同的输出,也可以称为冲突交易或者矛盾交易。在相同地址的所有单元联通的情况下,在路径上出现较早交易为有效交易。如果有攻击者特意制造双花交易,那么可以通过主链的序号来解决,主链序号较小的交易为有效交易。只要随着新单元的不断加入,稳定点可以不断地向后扩展,且不同的用户节点的稳定扩展方式保持一致,则全网的所有用户节点都可以实现共识。
采用DAG作为存储结构的代表项目有DAGCoin、Byteball,IOTA.
DAGCoin的思路,让每一笔交易参与维护网络的交易顺序。这样交易被发起后直接跳过打包区块的阶段,直接融入全网,如此达到所谓无区块效果。
Byteball通过包含它父母交易,每个新交易也可以间接地包含和确认所有父母的交易以此类推。随着添加的交易越来越多,收到确认数也会像滚雪球一样一直增加,所以Byteball采用了一个非常形象的名字。
IOTA是为物联网(IoT)设计的一个革命性的新型交易和数据转移层。它基于新型的分布式账本——Tangle。它能克服现有区块链设计中的低效能,并为去中心化P2P系统共识的达成创造了一种新方法。
综上所述,来源于书本及网络,让我们了解的有直观的认识。