JeffZhou:DAG高速异步区块链技术
2018-01-02 15:03:00     [查看原文]

随着区块链技术的快速发展,去中心化、高速传输、不可篡改、共识算法成为构建未来网络空间的关键技术。DAG(有向无环图)是不同于主流区块链的一种分布式账本技术,是区块链行业的一次较大的创新,DAG技术给高并发的交易提供了最具前景的解决方案,把区块链二维的模式提升到三维,把同步记账提升为异步记账。2017年12月28日,由澳大利亚TrustNote基金会发起的“全球DAG区块链技术联盟”筹备会在北京成功召开并圆满落幕。

论坛上,TrustNote创始人JeffZhou发表主题演讲“DAG-高速异步区块链技术”,表达了高速区块链公有链项目的未来价值不可估量,TrustNote是使用最新DAG技术,同时支持PoW挖矿的高速公有链,具有创新的双层共识机制,面向游戏娱乐、数字通证发行和社交媒体等场景。TrustNote宗旨是“极轻、极速、极趣”,围绕这一目标构建完善的技术架构和生态体系,让新奇特的想法在TrustNote上流畅运行,不仅能提供安全保障还具备可玩性,让使用TrustNote成为一种生活方式。基于DAG技术的TrustNote,或将成为2018年区块链行业一匹黑马!

DAG区块链技术或将给各行业带来变革

Peerreferenceconfirmation,getpartialorder

DAG全称是“有向无环图”,没有区块概念,不是把所有数据打包成区块,再用区块链接区块,而是每个用户都可以提交一个数据单元,这个数据单元里可以有很多东西,比如交易、消息等等。数据单元间通过引用关系链接起来,从而形成具有半序关系的DAG(有向无环图)。DAG的特点是把数据单元的写入操作异步化,大量的钱包客户端可以自主异步地把交易数据写入DAG,从而可以支持极大的并发量和极高的速度。同时,使用DAG技术的TrustNote还支持声明式智能合约,声明式的智能合约要表达的意思是可以直接按照用户想要的结果去写、去描述,以很简单的语言,让大家都能看懂的语言去描述他要干的事情。

截止到2017年年底,“高流量应用”越来越多,除了主流电商平台外,还有直播平台、P2P理财、今日头条、陌陌等崭露头角,如果“高流量应用”与DAG区块链技术结合,将会给行业带来哪些变革呢?除区块链自身的特点去中心化、分布式账本、不可篡改之外,DAG区块链技术不但可以支持高并发,结合双层共识机制,使用工作量证明共识算法,还能够防止“双花”问题。

那么,DAG如何支持高并发的呢?第一,数据不像比特币和以太坊一样强同步,而是弱同步,允许节点在同一时刻数据不一样,数据可以有一些微小的差别。第二,可以通过数据单元之间的引用来完成交易的确认,就是后面发生的单元去引用前面的单元,这样不需要我们把数据传给矿工,整个过程都是由自己去完成的,这个过程很快。DAG是解决高并发比较优美的方法,比起之前的闪电网络,还有其他一些方面,DAG有其先天优势。

SelectMainChain,gettotalorder

再来看看DAG是如何防止“双花”?在有向图里如果能选出一个MainChain,这个时候会发现所有图里面的节点都可以用一种方法来给它做排序,把这个序号连接起来在一排,这张图将会变成跟区块链一样的序列结构,就是排完序的节点,而且每个节点是一个交易,而不是一个区块。所以,确定了主链,通过主链,可以形成全序。最后达到的结局就是在某一个逻辑状态里,交易还是被排序了,这是DAG最关键核心的部分。

“高流量应用”是随着节点数和交易数的增加平滑扩展,当这个节点数超过1亿或交易数超过并发100万时,DAG的特性刚好是交易越多越快,节点越多越快。

典型区块链软件栈结构无法解决“阻塞”问题

在传统的区块链里,问题在于做共识时,需要一个区块一个区块的往上垒,在生成这个区块之前,需要给所有的交易做一个交易池,也就是说需要做一个TransactionPool,由矿工在里面挑出要打包哪些交易,才能作出一个区块来,然后再把它放到这个链里。当在Transactionpool里用Transactions生成Block时,如果没有挖到新的Block,没有被广播出去,这个Transaction是属于不定态的,是没有被确认的。这实际上是一个阻塞了数据的排队写入,即为阻塞问题。

以交易为单位的异步写入区块链高速畅通

我们来看看DAG是如何解决“阻塞”问题的。第一,记帐的单位变得颗粒化更细了,记帐单位不是区块,而是Transaction。如果Transaction一发生,马上就会写入,比传统的跟其他交易一起等这个块完成了再写的模式要快。第二,DAG发挥了钱包客户端里面点对点互相校验的能力,这个校验是并行的,假设在这个世界上同时有1万笔Transaction发生,1万笔Transaction相互之间是可以通过Transaction的关系并行校验,如果这个数正在产生分叉,同时会在这个世界上有不同的钱包往不同的叉上记帐不同的Transaction。这实际上导致一个问题,它只能partialorder,不能排出总序。要排出总序需要确定主链,目前DAG里面,比如IOTA和Byteball,通过各自不同的方式选出主链。所以DAG记账就是先把数据记下来,而不检查双花,其实在记帐里会知道有一定的比例,比如1%的人在doublespending,忍受doublespending存在2-3秒,接下来选择MainChain的时候,MainChain确立了,就可以把双花检测出来剔除。在确定MainChain以前它是一个并行验证的操作,而且是并行往数据结构上放,然后再回溯去检查数据结构,去挑出坏的交易。所以DAG是以交易为单位的异步写入区块链。

另外,DAG还有一个特点,因为它是靠节点相互间参考关系来加速验证的,如果在整个网络当中交易数量越多,钱包数量越多,能支撑的变化量越大。所以,它是随着节点数量增长而增加。

针对IOTA和Byteball存在的问题TrustNote的优势

选“主链”时,不仅需要速度,还需要公平。因为partialorder是通过P2P之间的信任为参考。totalorder不行,它是由一个孤立于大众的一些服务节点去做的,所以MainChain的选择一定要回溯区块链的架构,这时需要使用共识算法,通过可信的机器去选。在现实生活中,大多数交易实际上是自动的互相间检查一下,可以把主链的任务想象成为“抓窃贼”。

IOTA和Byteball在共识上存在一些中心化或弱中心化的现象。首先IOTA现在市值100多亿,但是看它的白皮书也好、看它的实践方案也好,其实就是一个中心化的东西,用协调者来确定数据单元的最终顺序,而协调者目前还没有开放。

上一页12下一页

本栏目中的所有页面均系自动生成,自动分类排列,采用联索网络信息采集、网页信息提取、语义计算等智能搜索技术。内容源于公开的媒体报道,包括但不限于新闻网站、电子报刊、行业门户、客户网站等。使用本栏目前必读