全球数字财富领导者

Web3未来:一文盘点DAG技术生态项目

2024-06-24 18:31:54
兔惹目mu
关注
0
0
获赞
粉丝
喜欢 0 0收藏举报
— 分享 —

区块链性能问题从始至终都是大家热议的话题,而DAG(有向无环图)是不同于主流区块链的一种分布式账本技术,把同步记账提升为异步记账,被不少人认为可以解决传统区块链的高并发问题,是区块链从容量到速度的一次革新。那么DAG技术究竟是什么?有哪些项目采用了DAG技术呢?

1. DAG技术是什么?

DAG:Directed Acyclic Graph,中文意为「有向无环图」。

DAG原本是计算机领域一种常用数据结构,因为独特的拓扑结构所带来的优异特性,经常被用于处理动态规划、导航中寻求最短路径、数据压缩等多种算法场景。

再看传统区块链和DAG的区别,简单的说:

1)单元:区块链组成单元是Block,DAG组成单元是TX(交易);

2)拓扑:区块链是由Block区块组成的单链,只能按出块时间同步依次写入,好像单核单线程CPU;DAG是由交易单元组成的网络,可以异步并发写入交易,好像多核多线程CPU;

3)粒度:区块链每个区块单元记录多个用户的多笔交易,DAG每个单元记录单个用户交易。

2. DAG如何运作?

基于有向无环图的加密货币,结构中每个顶点都代表一笔交易。其中不涉及区块概念,也没有扩展数据库所需的挖矿。因此,交易不会集中纳入到区块中,而是构建在另一笔交易之上。节点提交交易时,仍会存在少量工作量证明操作,这样可确保网络不会受到垃圾信息干扰,同时还验证了之前的交易。

要想添加新交易,必须建立在此前的交易之上。假设A用户创建一笔新交易。该交易要想获得确认,必须引用之前的交易,这有点类似于比特币中一个区块对前一个区块的引用,只不过这里必须引用多笔交易。

在某些系统中,算法会选择新交易必须建立在哪些交易(或“末端”)之上。末端的累积权重越高,越容易被选中。累积权重能够衡量通往末端的路径中的确认数量。

3. DAG生态现状

3.1 IOTA

IOTA背后最主要的创新Tangle(纠缠),是一个基于DAG全新设计的分布式账簿结构,是一个既没有块也没有链的区块链。在Tangle中,每一个节点代表的是一个交易。IOTA里没有区块的概念,也没有挖矿和矿工的概念,这就代表没有交易费,整个网络的吞吐量也很高,这是IOTA的最吸引人的亮点之处。

Tangle的核心原则与区块链一致,依旧是一个分布式的数据库、P2P网络,以及共识算法来验证交易。Tangle与传统区块链之间的主要区别,就是Tangle数据结构以及共识机制。

在IOTA里没有区块的概念,取而代之的是交易网络,每一个交易都会引用过去的两条交易记录Hash,这样前一交易会证明过去两条交易的合法性,以及间接证明之前所有交易的合法性。

IOTA目前的问题是:

MIT报告指出,IOTA使用了自己开发的哈希算法curl,但是curl算法的哈希值极易发生碰撞,于是就能伪造数字签名。

因为共识是由全网交易确定的,那么理论上来说,如果有人能够产生1/3的交易量,他就可以将无效交易变成有效交易。另一方面,由于IOTA无手续费,所以没有矿工激励,IOTA面临着拒绝服务攻击和垃圾信息攻击可能,就像不收物业费的小区,靠业主自治很难扫清不法份子,

IOTA引入闭源的中心化组件Coordinator来对全网交易进行检查(例如双花),如何有效移除Coordinator并建立一个具有良性激励机制的去中心化「Coordinator群体」,IOTA还没有给出解决方案。

3.2 Starcoin

Starcoin2.0采用的是FlexiDAG技术,兼顾并行处理和安全性。Starcoin2.0通过引入有向无环图(DAG)结构,有效地提升了在性能方面的表现,增强了整个系统的效率和可用性,为了加快出块速度和降低交易确认时间,引入DAG结构,运行期网络效率数据统计,对出块时间、难度、出块奖励进行动态调整,可以最大限度利用网络,减少用户等待时间。此外,其FlexiDAG还提供了区块链的动态调整能力,一些关键参数通过链上治理机制来实现配置修改。

通过将增强版POW和FlexiDAG结合,Starcoin做到了:

1)并行出块的能力,网络中多个不同的矿工可以同时产出可以被主网络确认的区块,而不再是被作为叔块或者孤块被丢弃。

2)动态调整出块速度以及区块大小,在安全,网络吞吐,用户体验之间寻求平衡。

3)共识相关的参数可通过社区治理,经合约升级。

FlexiDAG 共识的过程

1. 构造新区块:创建一个新的区块,指向DAG中符合条件的叶子节点,即尚未被其他区块引用的节点。

2. 最优父节点的选取:在所有直接父节点中计算并选择具有最高工作量证明(Proof of Work)的节点作为最优父节点,并加入到待确定的区块集合中。

3. 共识选举:考察最优父节点的反锥节点(那些与最优父节点不直接相关联但可达的节点)。从这些节点中选择符合特定条件的节点,确保它们的加入不会破坏整个DAG的连通性,然后将这些节点加入到待确定区块的集合中,扩展候选区块的范围。

4. 节点排序和应用:将选中的节点集合按照工作量排序,并串行地应用(添加)到最优父节点之后,确定最终的区块序列。

5. 链的最终确定状态更新:从分叉链中选出具有最长链的序列,确定最新的区块头,维护区块链的完整性。

6. 保证限制的遵守:在选举成功的区块加入时,确保已确认区块集合的反锥集合与已确认区块集合的交集数量不超过给定的限制大小个数,从而确保解决方案的有效性和共识规则的遵守。

这个过程体现了 FlexiDag 在区块链共识机制中的创新,通过结合DAG结构和工作量证明来提高系统的安全性和扩展性。

存在的问题:

1. Starcoin中的FlexiDAG尚未经历长时间、大量数据的验证,网络吞吐量和区块安全性有待验证;

2. Starcoin主网近期受到恶意攻击,主网瘫痪了很长一段时间,代币价格也是下跌比较严重,需要一段时间的修复期,不过被攻击也是行业常态,如果能重新振作起来,这会使项目走的更健壮。

3.3 NANO

Nano是一种基于区块点阵(Block Lattice)结构的新型加密货币。

Nano创新性地采用了一个用户一条链的方式,只记录自己的交易,也只有自己可以修改记录,不与其它帐户共享数据,从而使所有的交易都可以并行执行,能提供秒级的交易速度和无限可扩展性,并且允许他们异步地更新到网络的其余部分,从而以极小的资源开销获得快速的交易确认。

Nano一个节点可以存贮所有账户的历史账本,也可以只存贮每个账户的最后修剪记录。当一笔交易发生的时候,发出金额的一方会生成一个send tx的区块,包含记录扣除的金额;而收款账户则生成receive tx区块记录对应获得的金额。交易数据的收发是可以异步进行的,所以就算同时有多笔金额汇入一个账户也没有问题,最终的金额是收到的金额的加法。如果接收方不在线也没关系,未到账的金额会单独标记,等到接收账户上线之后,这笔金额就会从未结算区打入接收区块,完成交易。

NANO使用了DPOS共识机制,账户可以指定代表为其投票,得票最多的代表将处理分叉,这个代表会将分叉广播到网络,并观察来自高权账户节点在固定时间内的投票接结果,以此来确定保留哪一个区块。DPOS可以保证区块的合理低能耗运行。NANO也使用到了POW机制,确认交易需要非常少的工作证明(PoW)。

存在的问题:

没有被充分测试、缺乏同行评议,共识算法可能有严重缺陷的风险。例如,如果没有足够的法定人数投票来解决网络冲突会发生什么?另一个大问题:如果NANO网络的某些部分长时间分离,当分离的网络重新加入时会发生什么?重新加入的网络是否会在不可避免发生的投票过程中瘫痪?


1. 欢迎转载,转载时请标明来源为FX168财经。商业性转载需事先获得授权,请发邮件至:media@fx168group.com。
2. 所有内容仅供参考,不代表FX168财经立场。我们提供的交易数据及资讯等不构成投资建议和依据,据此操作风险自负。
go