时间:2023-06-17|浏览:188
用戶喜愛的交易所
已有账号登陆后会弹出下载
为了解决扩容问题,全世界区块链技术人员提出了众多解决方案,力求在保证安全性、去中心化和高吞吐量中获得一个新的平衡。目前常见的解决方案有此前我们讲过的链下交易(OffChain)、分片(Sharding)、有向无环图(DAG)、侧链等。今天为大家介绍DAG。
DAG本身是一个数学概念。在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。
这种结构常常被用在计算机系统当中,并不是什么新鲜理论。因为独特的拓扑结构所带来的一些特性,经常被用到处理动态规划,导航中寻求最短路径,数据压缩等场景中。而在区块链扩容的过程中,开发者们也尝试利用DAG结构优化区块链传统的单一链状结构。
众所周知,区块链问题的根源来自于对比特币系统安全和稳定性的考量。最初,中本聪将区块大小限制在1MB。如果按照每笔交易占250B,平均每十分钟产生一个区块的速度计算,比特币网络理论上每秒最多可以处理7笔交易。如果要提高TPS,同时仅生成一个区块显然会导致效率低下。DAG结构的核心是,使节点不需要用线性方式处理每一笔交易。
基于这样的结构,目前DAG结构在解决区块链扩容问题时有两种应用方式。
1、以IOTA为代表,丢弃了全局的线性区块概念,使用DAG数据结构来维持系统状态。彻底放弃“区块“,让每一笔交易都直接参与维护全网的交易顺序。交易发起后,直接广播全网,跳过打包区块阶段,实现“无区块”。这样省去了打包交易出块的时间,让整个系统运作效率更高。IOTA采用的Tangle结构就是基于DAG全新设计的分布式账簿结构,是一个既没有块也没有链的区块链。在Tangle中,每一个节点代表的是一个交易。IOTA里没有区块的概念,也没有挖矿和矿工的概念,这就代表没有交易费,整个网络的吞吐量也很高。
2、以PHANTOM为代表,使用DAG结构将区块串联起来,在区块打包时间不变的情况下,网络中可以并行打包N个区块,网络中的交易就可以容纳N倍。并行打包意味着可以并行挖矿,从而带来更大的吞吐量和更快的交易确认时间。在DAG应用区块链的网络中,每一个区块都有相邻的区块可参照,
DAG结构看似解决了区块链扩容的难题,但却带来了更大的挑战。一方面,区块之间打通之后,挖矿行为将由于发生频繁有可能导致更多的硬分叉,一致性将遭到挑战。同时更为严重的是:区块不再遵循序列来排列之后,在各区块里的交易冲突事件将会大幅提升,比如双花问题(doublespending)。IOTA直接放弃了区块,PHANTOM采用的方案是利用投票机制解决冲突和一致性问题,并避免硬分叉,但这也带来了更高的安全风险。
总而言之,DAG结构虽然可以在一定程度上解决区块链扩容的难题,但实际上依然有更多问题没有解决,依然有技术难关需要攻克。