第一次提出DAG跟区块链结合是在Nxt社区,DAG最初出现是为了解决区块链的效率问题。例如比特币的效率一直比较低,基于工作量证明共识下的出块机制是一个原因。由于链式的存储结构,整个网络中同时只能有一条链,导致出块无法并发执行。
DAG的诞生
作为一种计算机领域的拓扑数据结构,DAG在第一次被提出来结合应用在区块链时,是为了解决比特币区块生成效率低下的问题。
基于链式的存储结构,比特币网络平均的出块时间在十分钟左右。而变成区块DAG后,在区块打包时间不变的情况下,可以在网络中并行打包区块,在网络中容纳更多的交易同时进行。
随着时间的推移,比特币和区块链中出现了一些问题。尽管它依然保持了不可篡改和去中心化的特性,一个巨大的问题已然凸显出来:由于区块链先天运作机制而产生的交易时间过长的问题。
一项新技术通过在顶层设计中增添新的特性,来为这个比特币中产生的问题提供了解决方案。
这个新技术即为Directed Acyclic Graph (DAG)有向无环图组织模型。
与区块链的工作机制不同的是,区块链需要矿工来完成工作量证明(PoW)来执行每一笔交易,而DAG能摆脱区块链的限制来完成这样的操作。相反的是,在DAG中一笔交易接着另一笔,这意味着一笔交易能够对下一笔交易提供证明,由此一直排序下去。这些交易之间的连接就是DAG,就像区块通过哈希值来向整条区块链提供它们的名字一样。
DAG的优势
通过使用DAG,交易时间将会变得微不足道,比特币也能得到良好的运作环境。通过DAG,由于每笔交易都与下一笔交易相连,且矿工被排出在外,交易时长会随着越来越多用户加入系统而缩短。
在DAG系统中,剔除矿工的设置能够避免像区块链系统中某一个矿池集合全网50%算力的威胁与双重攻击的隐忧。
那么,DAG是如何规避这样的威胁的呢?
没有了区块链中的工作量证明共识机制,DAG的交易指令能够通过这么多交易向外扩散,正因为每一笔交易都已经极快地扩散通知至全网,大部分双重支付的攻击尝试将会被系统捕捉到并立即拒绝执行。
那么相比于比特币等传统的区块链,这种机制有什么优势?
数据结构:通过DAG,每一笔交易就可以看作是一个区块,没有容量限制的问题,每一个区块有多个指向,拓展性强,因此能够实现数字货币较高的交易吞吐量(通过平行验证)。并且参与者越多,整个系统也会变得越来越安全和快速,确认时间会缩短,交易也完成的越来越快。
共识机制:区块链中添加下一个区块需要多方进行竞争,并获取区块奖励或交易手续费。正因如此,共识和交易生成是分离开的,并且由网络的一小部分人来完成,通常会设置较高门槛(就像比特币一样),这样会导致进一步的中心化(算力垄断)。
在DAG系统中,交易者本身就是矿工,网络中的每位参与者都能进行交易并且积极参与共识。通过这种方式,验证就能同步进行,网络能够保持完全去中心化,不需要矿工传递信任,也不需要支付交易手续费。
和以太坊相比较,DAG网络虽然不具备智能合约强制执行的特性,但它能为用户提供一个相对简单、清晰易辨的架构,以太坊的系统则要更为复杂许多。这不仅使得用户能更容易去理解他们的虚拟货币什么时候和怎么样进行支付,而非依靠着一个满是程序员和合约的世界。
商业合作
添加时备注“商业合作”
领取专属 10元无门槛券
私享最新 技术干货