'CryptoYC'
研究|DAG——区块链新式账本
🌿

研究|DAG——区块链新式账本

比特币区块链具有去中心化,数据持久化,防篡改,安全性高的特点,但是也存在一些缺点,比如可编程性差,高耗能。后面出现了支持智能合约的以太以及hyperledge,依然存在可扩展性差,吞吐量小的缺点,还要支付昂贵的手续费。

目前有几种用来解决这些问题的方法,比如分片:cosmos的cosmos hub,near的夜影协议都采用了这方法,将交易分区,同时处理多个交易;flow则是将角色进行区分,充分利用了资源,算力大的节点进行计算,中算力和低算力的用来做验证节点,提高速度;DAG区块链也是一种非常优质的解决方案,从根本改变了传统比特币区块链的架构,将传统链状区块链变成图状区块链。

什么是DAG

DAG就是有向无环图,简单来说就是没有闭环的有向图,由点(vertex)和有箭头的边(edge)组成,没有区块概念,从图论拓扑模型宏观来看,将比特币区块链从单链进化到树状和网状,从区块粒度细化到交易粒度,单点到并发,可扩展性极强。

图形区块链的优势就是交易速度快,和传统的八卦传播相比,它的信息交互从全网传播变为只和一小部分节点进行信息交互,消耗大大减少;且作恶难度大,原因是每当一笔交易被确认,就相当于隐性确认了他的祖先交易。

image

用DAG做账本的项目

NXT:NXT的诞生和比特币一样,2013年9月28,一个叫BCNext的成员匿名在bitcointalk社区发了一篇贴,推出NXT作为新一代加密货币,将链式改为DAG模式并且发布了白皮书,进行ICO。

RaiBlocks:2014年12月出现,将每笔交易作为单独的存储单元,并且一个用户一条链,只记录自己的交易,使交易可以并行执行,后来改名为Nano。

DAGCoin:提出较早,但并没有代码实现,一直到字节雪球的出现。

Byteball(字节雪球):采用最短路径最优父节点算法,选出一条全网共识的主链。

IOTA:2016年7月推出,没有打包过程,也不需要挖矿,没有交易费,提高吞吐量。

Fantom:2018年,自己创建的Lachesis共识机制,但是基本共识还是使用的DPoS。

Avalanche:2020年开源项目,自创雪崩机制,共识基于八卦传播改进,提高速度和安全性。

DAG模型采用的共识机制:PoS,Witness,DPoS,Tangle

PoS:2012年Peercoin第一个使用PoS共识机制,节点通过质押自己的代币获得出块权,质押数量越多,被选为出块人的概率越大。和PoW相比,PoS不会过于消耗计算机资源。包括以太坊后续也要由PoW+PoS(Casper协议)过渡到PoS,目的是提高网络效率。

Witness:Byteball提出的见证人机制,根据规则选取主链从而决定交易的全局顺序。见证人是系统中长期实名并且声誉较高的组织或个人,他们是参与系统维护并资源频繁发起交易单元的节点,对于消极工作或者作弊的见证人,可以经过用户投票进行更换。在Byteball中,从任何一个顶端单元出发到达创世单元的最优路径为候选主链。最优路径通过选择最优父单元产生,全部节点运行相同的选取最优父单元算法,递归选出主链。

DPoS:基于代理权益证明是基于PoS改进的,由EOS创始人提出。Nano中就是用了DPoS,每个持有代币的人都由权利投票选出代理节点,不管持币数量多少都能参与,每个节点基于持有的代币数量来选出代表,拥有的数量越多,权重越高,网络中产生一些权重较高的代表来维护和验证。在交易生效前,节点要将交易发送给验证器节点,每个后续验证器节点都会执行相同的验证和传递过程,一直到整个网络都获得这笔交易。

Tangle:IOTA创建出来的共识,节点添加新交易需要确认前两笔未确认的交易并计算一个PoW值,并且随着越来越多的交易被添加到Tangle中,权重会被添加到附属的祖先交易中,当交易由足够大的权重时,交易将现实确认状态。理论上如果网络中有足够多的交互,确认过程可以在几秒中完成。创新之处在于不需要专门的人来维护和验证,而是整个网络的参与者都可以验证。IOTA中共识机制和交易过程是一体的,Tangle在运行的同时处理交易,并且过程中不存在任何手续费。就是因为IOTA的这种无矿工无交易费又可以0值交易的特点,也让攻击变得非常容易。一开始IOTA设置的的机制是不需要Pow的,即添加新交易,只需要确定前两笔未确认的交易(下图中:黄色块新交易要添加进网络必须确认同一路径中末尾两个蓝色块unconfirmed)即可,换言之不需要质押不需要买矿机,只要不停地用电脑发送交易,这样就很容易让发起的交易总数达到总交易数的50%以上,就可以发起攻击。这属于漏洞一样的存在,后期IOTA也发现这个问题,要求提交新交易需要再增加一个PoW值,所以虽然是无交易费,但是IOTA的用户相当于自己做了矿工该做的事情。改进后的IOTA使用了一个中心化的Coordinator(COO),用户定期验证DAG的交易以确保网络安全,但长期来说会影响IOTA的可扩展性,所以实施一年后IOTA基金会拟计划取消这个COO,并增加100倍带宽。但是经过计算,只需要700台S9的算力就可以完成双花。综合来看Tangle机制并不能让网络持续良好的运行。

image

图片来源:http://pdf.dfcfw.com/pdf/H3_AP201812271279983589_1.pdf

总结

DAG的图形区块链的优势是可以让交易速度变的非常快,拓展性强,并发越高的越容易达成共识。劣势是交易时长不可控制,不支持强一致性(异步记录机制无法给全局排序,在后续运行智能合约时会有偏差)。对于安全性来说,要取决于具体项目使用的共识方式。所以DAG是个好的区块链模式,但具体共识机制才是确认交易和安全性的基础。所以总的来说DAG模式对于传统链状区块链是比较新颖,然而在确定一致性方面,对共识机制有更高的要求。

参考文献:

ZHANG Chang-gui, ZHANG Yan-feng, LI Xiao-hua, NIE Tie-zheng, YU Ge. Survey of New Blockchain Techniques:DAG Based Blockchain and Sharding Based Blockchain[J]. Computer Science, 2020, 47(10): 282–289.