首页 > 世链号 > 「区块链基础概念100」:DAG/缠结Tangle | 009
币网讯  

「区块链基础概念100」:DAG/缠结Tangle | 009

摘要:DAG技术的代表项目IOTA一直备受瞩目,在2017年IOTA的总市值曾经排到过全球第四位,这也从一个侧面证明了DAG是被投资者广泛认可和追捧的。

区块链基础概念100」由火星财经「学习区块链」频道出品,在区块链基础概念之上延展深度阅读,并紧密连接产业,关注产业发展热点和趋势。

1. 基础概念

有向无环图/  Database  Availability  Group  /  DAG

DAG  指有向无环图,是常用于计算机领域的数据结构。DAG  具备独特的拓扑结构,经常被用于处理动态规划,导航中获得最短路径等场景中。在区块链领域,DAG  用来解决扩容性的问题,通过增加区块大小或者区块频率在网络中产生大量分叉,但是攻击者还是需要  51%  的算力才能进行攻击。

缠结/  Tangle

Tangle  是  IOTA  项目创造的一种改革性的去区块化分布式账本,它是可扩展的、轻量级的,还能在无需任何费用的前提下进行价值转移。Tangle (缠结)是基于有向无环图(DAG)的机构,而不是像区块链的连链式架构,它能定期添加区块,从而实现更高的交替吞吐量和零交易手续费。

2. 深度解读

吃显存的DAG是个什么怪物?
 

近来应该有不少矿友遇到或关注到了一个情况 —— 因以太坊 DAG 文件的日益增大,使得 1063 等显卡因显存不足问题无法挖矿

据说这一情况将随着以太坊的发展,在以后的很长一段时间里不停地敦促我们增加显卡的显存。

那么 DAG 到底是什么呢?它的增大为什么会让显卡无法工作?

DAG 是有向无环图的英文缩写,指的是任意一条边有方向,且不存在环路的图。

例如下面这张示意图中 ,我们假设有一条数据需要在 DAG 中传输,它可以从点 1 传到点 2,也可以从点 3 传到点 6 。

但是却没有任何直接或者间接的途径可以再把信息从点 2 传回点1,点 6 传回点 3,这种传递方法确保了数据的唯一性,该技术被广泛地应用在加密领域中。

                                        以太坊DAG

其实从最原始的数据传输模式上来说,DAG 和区块链的区别是非常大的。

区块链的数据传输模式是将各类信息打包成为区块,再通过“链”来进行传输。出于安全考虑,在没有出现分叉等情况的正常状态下,整个网络只能有一条主链。

而 DAG 技术的数据在传输之前并没有打包这一操作,它直接将一个个信息链接成有向无环图,通过信息之间的一些关联性来进行传递,最关键的是有向无环图可以从多个点发送和接收信息,在速度上较传统的区块链有很大优势。

以太坊DAG

传统区块链的单链传输模式除了传输速度缓慢外,还缺乏应对分叉的手段。为了解决这一系列难题,区块链学者们另辟蹊径,将 DAG 和区块链这两种本来不兼容的技术融合在了一起。

例如以太坊在 2016 年 6 月份发布的 Dagger-Hashimoto 算法,其核心内容就是 DAG 有向无环图,而目前以太坊正在使用的 Ethash 算法就是通过 Dagger-Hashimoto 算法改良的。

多点传输方式可以明显地提升区块链的数据传输速度,但是 DAG 和传统区块链在结构上存在巨大差异,为了预防双花、重放等网络攻击,区块链需要一条主链来引导工作,无法直接使用 DAG 那样多个平等节点接发信息的方式。

为了解决这一难题,引入 DAG 机制的区块链专家提出了一个新思路。

不同于之前用上一个区块信息验证下一个区块的方式,使用了 DAG 后,每一个新产生的区块都被链接到之前所有的区块上。新区块的验证信息中包含了之前所有区块的加密信息,这就是大家最近经常听到的“ DAG 文件” 。

以太坊DAG

使用了 DAG 技术之后,矿工在挖矿前需要先到区块链网络上下载该区块链之前所有区块的加密信息,然后才能从这些信息中解答出下一个区块的哈希值。

简单来说,“ DAG 文件”就是区块链提供给矿工们的谜题,而下一个区块的哈希值就是谜底,最快解出谜底的人将获得这一区块的数字货币奖励。

在之前的文章中,老路曾经给大家说过,显卡挖矿使用的是显卡的计算能力,为了能对 DAG 文件中包含的信息进行“解密”,显卡需要把 DAG 的所有内容“放在”自己的显存之中进行运算。

所以想要挖以太坊,显卡的显存首先要大于当前 DAG 文件的体积,这就是为什么近来一些显存较小的显卡无法继续挖取以太坊的原因。

以太坊DAG

以太坊的 DAG 大小自 2016 年 6 月份引入 Dagger-Hashimoto 算法时的 1GB 开始,以每年约 520MB 的速度增大到了现在的 2.7 G,预计 2020 年底以太坊的 DAG 大小将增加至 4G 。届时,显存小于 4G 的显卡都将无法继续用来挖以太坊。

不过矿友们不用慌,还有两年时间呢,不论是进行中的以太坊转POS 计划还是可能的以太坊算法更新,都有望解决这一问题。

虽然现在的 DAG 文件还没达到 3G ,但部分 3G 显存的显卡已经无法继续挖取以太坊了。如果出现此类情况,你就需要了解一下我们的奇迹摩尔系统了。

以 Linux 内核为基础的奇迹摩尔无盘挖矿系统最大程度的节省了操作系统对显存的占用,只要不是 DAG 文件的大小达到或超过您使用的显卡显存,都可以正常使用奇迹摩尔挖矿。

以太坊DAG

  文字/魔路西

  编辑/魔路西

图片/网络

导读:“ DAG 文件”就是区块链提供给矿工们的谜题,而下一个区块的哈希值就是谜底,最快解出谜底的人将获得这一区块的数字货币奖励。

DAG的前世今生
 

Soteria 主题分享:

Ming Guo | DAG的前世今生 (一)

https://github.com/schierlm/private-iota-testnet.git),并对其中使用的IRI(IOTA Reference Implementation)版本更新为了最新的v1.5.0版本。此外,在测试过程中,使用该工具提供的Coordinator模拟工具,定期生成快照对交易进行确认。

使用基于Python的开源负载测试工具Locust(https://locust.io/),以便控的发送出交易数据。在开始测试后,随机向所有私有网络中的节点发送出交易数据。

在节点启动时,增加“--zmq-enabled”参数,以便启动IOTA的ZeroMQ支持,将节点得到的交易数据中通过消息队列方式发送给观测端。在观测端使用ZeroMQ事件解析脚本(https://github.com/lunfardo314/tps_zmq.git)观察节点交易数据情况。

8.2.测试硬件环境

服务器采用亚马逊AWS EC2 C5.4xlarge: 16 核 3GHz, Intel Xeon Platinum 8124M CPU,32GB内存,服务器间为10Gbps局域网网络,通讯延迟(ping)小于1ms,操作系统为Ubuntu 16.04。

8.3.测试场景及结果分析

8.3.1.默认PoW难度值

虽然没有“矿工”等概念,但在发送交易前,IOTA节点仍然需要进行工作量证明,以避免发送大量交易淹没网络。PoW难度值(Minimum Weight Magnitude)与比特币类似,是PoW的结果应得出“9”的位数,其中9在IOTA采用的三进制中为“000”。IOTA难度值可在节点启动前进行设置。

目前对于生产网络,IOTA的难度值设置为14;测试网设置为9。因此,我们首先采用测试网的默认难度值9来进行测试,得到以下测试结果。

区块链技术

由于每个IOTA的交易包(bundle)中会包含多笔transfer,因此实际处理的TPS会比发送速率高。但通过执行解析zmq的脚本可观察到,目前TPS很低。而另一个现象是,每秒可发送成功的请求数量也很低。

经过分析,原因在于测试使用的是VPS,所以在PoW时,主要使用CPU来进行运算,因此交易速度主要受发送速度的影响。

8.3.2.降低PoW难度值

将难度值降低为1后重新进行测试,得到以下结果。

区块链技术

从结果可看到,降低难度后,TPS会有所上升。所以目前IOTA项目的TPS并没有到达Coordinator所在的瓶颈,而主要是发送交易的客户端本身硬件以及网络等方面原因导致。IOTA社区目前在研发基于FPGA的Curl算法实现以及CPU指令集优化等工作。我们的测试结果也印证可通过这一方式继续挖掘DAG平台的性能潜力。

8.3.3.减少测试网络节点数量

由于DAG的特性,平台实际TPS和网络节点数量可能也存在着关系。因此在难度值保持为1的情况下,将网络节点数减为10后重新进行测试,得到以下结果。

区块链技术

从结果可看到,随着节点数降低,实际处理TPS也有所下降,而且低于发送速率。这说明在DAG环境下,维持足够规模节点将有助于交易的处理。

9.参考资料

https://www.iota.org/

https://en.wikipedia.org/wiki/Trilemma

https://blog.iota.org/new-tip-selection-algorithm-in-iri-1-5-0-61294c1df6f1

https://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo

https://byteball.org/

https://www.iotachina.com/iota.html

https://www.iotachina.com/iota_tutorial_1.html

 

火币区块链应用研究院

关于我们:

火币区块链应用研究院(简称“火币研究院”)成立于2016年4月,于2018年3月起全面拓展区块链各领域的研究与探索,主要研究内容包括区块链领域的技术研究、行业分析、应用创新、模式探索等。我们希望搭建涵盖区块链完整产业链的研究平台,为区块链产业人士提供坚实的理论基础与趋势判断,推动整个区块链行业的发展。

超越白皮书系列是火币研究院推出的区块链技术类研究报告。该系列从各类区块链项目的白皮书、黄皮书以及学术论文等文献资料出发,研读分析技术背后的计算机科学原理、适用场景、优缺点以及未来发展潜力等;同时,搭建平台或开发测试工具进行实测,结合技术理论探索与实测结果分析,为行业研究人员、技术开发者等提供专业的区块链技术分析结论与研发指导建议。

联系我们:

​咨询邮箱:huobiresearch@huobi.com

简书公众号:火币区块链研究院

Twitter:Huobi_Research

Medium:HuobiResearch

Facebook:Huobi Research

免责声明:

1.       火币区块链研究院与本报告中所涉及的数字资产或其他第三方不存在任何影响报告客观性、独立性、公正性的关联关系。

2.       本报告所引用的资料及数据均来自合规渠道,资料及数据的出处皆被火币区块链研究院认为可靠,且已对其真实性、准确性及完整性进行了必要的核查,但火币区块链研究院不对其真实性、准确性或完整性做出任何保证。

3.       报告的内容仅供参考,报告中的事实和观点不构成相关数字资产的任何投资建议。火币区块链研究院不对因使用本报告内容而导致的损失承担任何责任,除非法律法规有明确规定。读者不应仅依据本报告作出投资决策,也不应依据本报告丧失独立判断的能力。

4.       本报告所载资料、意见及推测仅反映研究人员于定稿本报告当日的判断,未来基于行业变化和数据信息的更新,存在观点与判断更新的可能性。

5.       本报告版权仅为火币区块链研究院所有,如需引用本报告内容,请注明出处。如需大幅引用请事先告知,并在允许的范围内使用。在任何情况下不得对本报告进行任何有悖原意的引用、删节和修改。

导读:DAG技术与狭义的区块链技术相比,有其创新之处,理论上在不考虑作恶情况下可实现高可扩展性和高去中心化,因此存在一些安全隐患。

DAG(有向无环图)——区块链从容量到速度的一次革新
 

什么是DAG

DAG:Directed Acyclic Graph,中文意为“有向无环图”

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

 

区块链

Blockchain&DAG

 

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

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

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

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

 

传统区块链技术的几个问题

1. 效率问题:传统区块链技术基于Block区块,比特币的效率一直比较低,由于BlockChain链式的存储结构,整个网络同时只能有一条单链,基于POW共识机制出块无法并发执行;例如比特币每十分钟出一个块,6个出块才能确认,大约需要一个小时;以太坊大幅改善,出块速度也要十几秒。

2. 确定性问题:比特币和以太坊存在51%算力攻击问题,基于POW共识的最大问题隐患,就是没有一个确定的不可更改的最终状态;如果某群体控制51%算力,并发起攻击,比特币体系一定会崩溃;考虑到现实世界中的矿工集团,以及正在快速发展量子计算机的逆天算力,这种危险现实存在。

3. 中心化问题:基于区块的POW共识中, 矿工一方面可以形成集中化的矿场集团,另一方面,获得打包交易权的矿工拥有巨大权力,可以选择哪些交易进入区块,哪些交易不被处理,甚至可以只打包符合自己利益的交易,这样的风险目前已经是事实存在。

4. 能耗问题:由于传统区块链基于POW算力工作量证明,达成共识机制, 比特币的挖矿能耗已经与阿根廷一个国家耗电量持平,IMF和多国政府对虚拟货币挖矿能源消耗持批评态度。

区块链

Digiconomist数据图

 

Digiconomist 数据表明:全球挖矿业务总计,每年产生约2.9亿吨碳排放

由于以上问题,所以有人提出疑问:“为什么一定需要区块呢?”,DAG技术被用于尝试解决区块链的上述问题。

 

DAG起源

最早在区块链中引入DAG概念作为共识算法的是2013年,bitcointalik.org上由ID为avivz78的以色列希伯来大学学者提出,也就是GHOST协议,作为比特币的交易处理能力扩容解决方案;Vitalik在以太坊紫皮书描述的POS共识协议Casper,也是基于GHOST POW协议的POS变种。

后来NXT社区有人提出用DAG的拓扑结构来存储区块,解决区块链的效率问题。区块链只有一条单链,打包出块无法并发执行。如果改变区块的链式存储结构,变成DAG的网状拓扑可以并发写入。在区块打包时间不变的情况下,网络中可以并行打包N个区块,网络中的交易就可以容纳N倍。

此时DAG跟区块链的结合依旧停留在类似侧链的解决思路,交易打包可以并行在不同的分支链条进行,达到提升性能的目的。此时DAG还是有区块的概念。

 

区块链

Nxt社区提出的DAG of blocks

 

2015年9月,Sergio Demian Lerner发表了 《DagCoin: a cryptocurrency without blocks》一文,提出了DAG-Chain的概念,首次把DAG网络从区块打包这样粗粒度提升到了基于交易层面,但DagCoin本身是一篇论文,没有代码实现。

DagCoin的思路,让每一笔交易都直接参与维护全网的交易顺序。交易发起后,直接广播全网,跳过打包区块阶段,达到所谓的Blockless。这样省去了打包交易出块的时间。如前文提到的,DAG最初跟区块链的结合就是为了解决效率问题,现在不用打包确认,交易发起后直接广播网络确认,理论上效率得到了质的飞跃。DAG进一步演变成了完全抛弃区块链的一种解决方案。

2016年7月,基于Bitcointalk论坛公布的创世贴,IOTA横空出世,随后ByteBall也闪亮登场,IOTA和Byteball是头一次DAG网络真正技术实现,也是此领域最耀眼的领军者;此时,号称无块之链(Block Less)、独树一帜的DAG链家族雏形基本形成。

一句话来概括:DAG是面向未来的新一代区块链,从图论拓扑模型宏观的看,从单链进化到树状和网状、从区块粒度细化到交易粒度、从单点跃迁到并发写入;是区块链从容量到速度的一次革新。

导读:DAG是面向未来的新一代区块链,从图论拓扑模型宏观的看,从单链进化到树状和网状、从区块粒度细化到交易粒度、从单点跃迁到并发写入。

DAG是加密世界的区块链 2.0 吗?
 

前言:DAG(有向无环图)跟区块链的账本结构不同,它不是线性的,也不是区块相连的链式结构。它试图解决区块链难以解决的扩展性问题、交易费用问题。那么,它有机会解决这个问题吗?目前IOTA、Nano、Byteball等在使用基于DAG的账本结构。DAG会是下一个大的突破吗?目前看,还需要很多的探索。本文作者是Jack Dossman,来源于blog.goodaudience.com,由蓝狐笔记社群“Leo”翻译。

2017年12月,区块链技术走向主流。价格飙升,比特币和其他区块链项目充斥着新闻。人们为区块链的潜力和未来可能性感到兴奋。在2017年11月到2018年1月早期的短短两个月间,整个加密市场增长了400%,看上去只有天空才是这种新技术的极限。

但形势开始直转急下。

比特币和以太坊网络被交易淹没,开始走向大幅放缓。比特币交易费,之前几乎可以忽略不计,但后来曾飙升到50美元,而处理时间延长到数小时,而不是几分钟。

看上去泡沫要破灭了。人们开始质疑他们目睹到的是否是真正的技术革命,它看起来不太可能继续高涨。区块链技术还没有准备好履行自己的诺言,还有其他的因素,导致市场急剧下降。那么,加密世界如何来解决扩展性的问题呢?

现在来看看DAG。

DAG(Directed Acyclic Graph)是有向无环图的缩写,DAG有可能解决比特币、以太坊或其他区块链应用所面临的一些问题。

但事情是:DAG实际上并不是区块链。

所以,当你认为你已经搞清楚什么是区块链的时候,总会有新东西出来。不过不要担心,理解了区块链,可以考虑它们之间的差异。

那么,什么是区块链呢?

为了回答这个问题,我们来看看运行比特币的区块链。比特币是目前最受欢迎的加密货币,在某些方面,最简单也便于理解。

区块链的核心只是一种数据库,用于存储过去发生的事情的信息。它通过复杂的数学(加密)验证,来确保输入的信息不会跟分类账上已有的信息产生冲突。比特币区块链上的信息是存储在组或者叫区块中的,每个区块都有时间戳,并且及时链接到之前产生的区块,从而创建一个线性的区块组成的链,也因此称之为区块链。

 

加密

然而,这也是发生问题的地方。

由于区块链具有线性的特征,交易只能按顺序添加进入区块,区块在链上相连。这会让网络的速度存在瓶颈,导致需求高时会产生交易积压、费用高企的情况。

此外,既然所有区块都链接到链上,破坏任何这些链接都会导致链的无效。这意味着讨论区块大小变得很重要。比特币区块链每天都在增长,截止到2018年9月,它已经超过175GB。

这意味着全世界成千上万个验证节点都需要存储比特币区块链的完整副本来验证交易。这是不小的容量。数千份完整副本持续接入网络对去中心化提出了挑战,因为对于个人来说,很难参与,这需要昂贵的专用硬件。

由于这些限制,比特币在扩展性上遇到问题。一些解决方案,比如闪电网络等还在开发中。可以说,扩展性问题是比特币走向主流大规模采用的主要障碍。

这就是为什么DAG值得关注的地方。

什么是DAG?

基于DAG技术的项目,目前较多人知道的是IOTA。它是一个承诺更快速度和更低费用的交易平台,可用于相连设备间的高速数据交易。

那么,到底什么是DAG?它和区块链有什么区块?我们通过IOTA案例来理解它。

DAG名字听起来让人生畏,但概念很简单。跟区块链一样,它也是一种数据库:以特定方式存储数据或交易的方式。然而,与区块链不同,它不是以线性方式进行存储。

它类似于一个家谱树,图形只能朝一个方向延伸,也就是所谓的定向,但不能进入循环,也就是有向无环图。

加密

 所有进入DAG的信息都必须遵循这些规则。

在IOTA,交易及其所有相关信息(如发送方和接收方,发送的时间和金额)都存储为节点,一组节点组成一个“tangle”。这就是IOTA版本的“区块链”。

当一个新的交易添加进入tangle,它会与现有的两个节点相连,在这个过程中,通过确认它们不与网络中的其他交易产生冲突,由此来验证节点。

加密

 计算机增加新的交易进入网络需要做很小的POW来完成操作,这意味着所有IOTA用户都利于保证网络安全。这样做可以摆脱专用矿工,比如比特币中验证交易的矿工,从而消除网络费用的需求。

随着新增加的交易越来越多,网络实际上会加速。因为每个新增的交易,都会让两个旧的交易得到验证并被网络批准。

跟比特币不同,你也不需要为了添加交易需要完整图。既然,tangle不是线性的,你只需要进入所有交易的一部分,这一部分附加到你的交易,以便于对其进行验证,从而大大减少数据使用。

因此,从理论上讲,DAG应该是始终是轻量级的,并且可以快速处理交易。所以,它是可以大规模扩展的。

DAG的缺点

尽管有这么多优点,但像IOTA这样的DAG系统并非没有问题。由于没有大规模POW计算来保证网络安全,因此IOTA容易受到34%的攻击。

简言之,如果攻击者的计算能力超过网络34%,他们可以发送和批准虚假的交易,控制tangle。IOTA tangle 容易受到这类攻击,网络很小,总的计算能力还较低。为解决这个问题,团队设立了调节员节点,通过它批准交易。当团队认为tangle足够强健,足够抵御攻击时,该节点会被移除。

这有助于防止网络遭受34%的攻击,但也意味着IOTA目前是中心化的系统,直到它的系统足够强大并把协调员节点移除时才是去中心化的系统。因此,它目前容易受到IOTA创始人作出的决定所影响,在走向真正去中心化的道路上还有很长的路要走。

关于去中心化的实现难度是目前DAG系统的主要缺点。DAG技术整体来说,还是非常新的,没有得到大规模实践的证实,因此在IOTA网络证明它能够创建真正的去中心化系统之前,这种疑虑会持续存在。

现在,我们清楚了区块链和DAG是什么,那么让我们看看它们之间的区别:

比特币:

l 完整副本数据量很大

l 需要整个区块链来确认交易

l 当网络活动高,交易就会变慢

l 当网络活动高,交易费用就会增加

l 很难扩展到大规模人群

l 依赖大型、耗费能源的昂贵硬件来挖矿

IOTA:

l 不需要整个Tangle来确认交易

l 用户通过每次交易做少量的工作量证明而成为矿工

l 没有费用

l 随着交易量增加,网络速度加快

l 可轻松扩展到大规模用户

l 开始时中心化的可能性较高

l 易受34%攻击

很明显,DAG技术在向大规模人群扩展方面有很大优势。比特币、以太坊和其他加密项目目前面临的扩展性问题可通过DAG模式来解决。

但是,这种技术也很新,且未经大规模实践验证,因此,它是否足够强健,是否能够经得起市场的考验,还有待观察。DAG技术有很大的潜力,但我们仍然必须等待,看看它们是否能够破局。

导读:DAG(Directed Acyclic Graph)是有向无环图的缩写,DAG有可能解决比特币、以太坊或其他区块链应用所面临的一些问题。

                                                                                                        来源:学习区块链
 

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。