区块链分布式账本DAG具备哪些优点

区块链

574人已加入

描述

当有人问什么是区块链技术时,大部分的回答是“区块链技术就是一个分布式的账本”,但是,如果你把这句话反过来说—“分布式账本就是区块链技术”,可能会有很多人替DAG鸣不平。

分布式账本也称“分布式分类账”,是一个由多个节点组成的网络,可进行数据的存储和处理。在这种网络中,没有控制数据处理的中央实体,而是靠共识来建立信任和联系。

区块链是分布式分类账的一种实现的方式,同样,DAG也是。不同的是,“区块+链”式结构的瓶颈日益明显,而DAG的优势日益突出。

DAG(Direct Acyclic Gragh),也叫有向无环图,“有向”指有方向,“无环”指不能形成闭环,即它由有限个顶点和有向边组成,每一条边都从一个顶点指向另一个顶点,从任意一个顶点出发都不能通过这些有向边回到原来的顶点。

在DAG网络中,交易由自己创建并发布,不需要等待其它节点的数据同步,就可以处理新的交易。所以系统可以同时处理多笔交易,大大提高了系统的交易处理能力。

DAG没有区块的概念,也没有打包区块的操作。

DAG中的每个新单元会验证并确认其父辈单元,父辈单元的父辈单元,可达创世单元,并将父辈单元的哈希包含到自己的单元里面。相比于单一的“链式”结构,篡改“网状”的DAG网络中任一数据的难度会变得更高。

DAG具备了交易速度快,吞吐量高的优点,但同时也存在一些问题。所幸,Nerthus找到了对应的解决办法。

影子链攻击--见证人机制

在DAG网络中,由于可并行处理交易,攻击者可能暗中生成一条影子链,并且时不时地将影子链跟主链进行对接以逃避检测算法。

极端情况下,影子链可能代替主链成为全网共识。针对这种情况,Nerthus采用了见证人机制。交易单元经过见证人的见证并发布见证单元后,就是最终确定的状态,无法推翻,可以有效避免影子链的存在。

状态不一致--抽象的地址链

当不同的用户在同一时间调用同一个智能合约时,会造成智能合约状态不一致,从而产生混乱。

在Nerthus系统中,所有的地址,包括智能合约地址的交易与执行,都由他们的见证人发出的见证单元进行确认。每个用户的见证单元都有前后包括关系,并抽象出一个该地址的链。

同一个智能合约在同一时间被不同的用户调用时,该智能合约的见证人会把它们做先后串行处理,并形成一条该智能合约前后包含的见证链,从而确保状态的一致性。

双花问题--单元引用法则和见证人机制

DAG异步处理数据的特征导致攻击者可以利用单元间的信息差进行双花。Nerthus系统以大量复盘论证的单元引用关系法则(用户级主链)和见证逻辑,可预防双花攻击,同时也不会形成孤链、分叉链。

如今,“新星”DAG已经在分布式分类账的世界里崭露头角,这无疑是一个好消息,但也许更大的惊喜藏在Nerthus中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分