您当前位置: 首页> 资讯> 十分钟看懂区块链的跃迁技术——DAG

热门标签

热门动态

十分钟看懂区块链的跃迁技术——DAG

作者:链大全 日期:2018-10-12 18:16:57


传统的主流区块链如比特币、以太坊技术均基于块状链实现:他们在底层结构采用的是区块+链的数据结构。这种结构存在一些先天性的局限。如果区块太大,整个区块链系统,数据量将迅速膨胀,普通用户将无法运行全节点,将会造成中心化的问题。

 

而DAG 技术是区块链的跃迁,简单类比可以说是并发多线程的区块链。

 

DAG——Directed Acyclic Graph,中文意为“有向无环图”。有向无环图是一种存储数据的方式。“有向”指所有数据顺着同一方向存储;“无环”指数据结构间不构成循环。就是像条毛线织的围巾,可以一直编下去。
 

 


 

 

也可以这样理解:区块链是每个区块记多笔交易,而DAG是每个区块存一笔交易,所以它们的本质相同。

 

其实这很像让一个孤儿自己选择养父母。DAG是孤儿的世界,每笔交易天生是孤儿,但养父母不能随便乱选,他们必须根正苗红,否则孤儿自己就不会被下一代选为父母,不被选择意味着从此消失。

 

如果一笔交易不被后来的交易验证,它就会变成真正的孤儿,从此在账本里失去合法性。交易发起者的验证就是订书钉,可他们用什么方式验证交易呢?答案就是我们熟悉的工作量证明:POW。

 

交易发起者自己选择两笔合法交易,花2秒钟找出一个随机数,让“随机数+信息”的哈希值符合系统要求。验证所需的工作量与前手交易权重成正比,交易权重相当于验证难度,难度越高验证时间越长。

 

所以,如果你担心验证完两笔正确交易却没人来验证你,那这种担心是多余的,因为验证新鲜交易更容易,如果验证靠前的陈旧交易,工作量会指数级地翻上去:本来2秒钟能验证完的交易,现在要花2小时。

 

可能你还会问,DAG下为什么不能只验证一笔交易,必须是两笔或两笔以上呢?

 

因为如果只往前验证一笔,网络会被大算力操控。

 

算力强者很容易抬高交易权重,拉长尾巴,以堵死后面的验证通路,让随后的诚实交易不得不屈从大算力;可验太多交易又会耗时过长。

 

所以,验两笔能兼顾安全和效率。

 

于是,发起者一边提交自己的交易,一边验证别人的交易,以此编织这一个去中心化网络。

 

可是DAG下会不会发生双重支付呢?
 

答案是会。

 

 

 

 

DAG下是如何保证账本安全的?

 

 

 

以基于DAG技术的XDAG为例,用通俗易懂的方法讲解,大家会更好的理解:

 

假如我转你价值100万元的XDAG,你非常高兴,确认后把100万元货物交给我,但此刻我心生歹念。我靠算力发起攻击,用一笔权重更大的交易验证合法交易之前的交易。只要超过主体诚实的DAG,随后的交易都会接在我的DAG后面生长,这样就可以赖掉之前的交易,白白从你手里拿走100万元的货。

 

最主要的问题是,要汇聚多少算力才能实现双重支付呢?

 

需要全网34%的算力。

 

在网络还没成熟时先找个协管员看场子,这名协管员就是一台名叫Coordinator的服务器。所有交易是否合法,暂时全由这位协管员拍板,拍板后告诉其他节点,该验证哪些交易。

 

影响账本安全的另一个因素是数字签名,因为攻击者无法使用他们没有的私钥签出和你一样的数字签名,而保障这件事的是哈希算法,它具有一个特征:哈希不同文本能得出不同结果。如果哈希不同文本出现同样的结果,这种情况称为“碰撞”。

 

 

结语

 

 

DAG是一种数据存储结构,从它被发明的30多年来一直都有人使用,本身并没有问题。但是它和区块链的区别在于DAG没有传统意义上的共识,每笔交易的可信与否取决于相信这笔交易的人数。

 

建议:千万别眼红那些跑步进场、月赚10倍的朋友,他们可能有惊人的浮盈,但由于跑步进场这个动作本身就是未经深入思考的结果,于是在迈出腿的一瞬间,就已经注定了大概率的结局。

 

投资大神乔伊·格林布雷(Joel Greenblatt)有个著名的类比:

 

买了股票但不知道买了什么,就如同手持火把穿过一个炸药工厂,你可能活下来,但你依然是一个傻子。

 

所以,拿出你的储备知识,启动你的逻辑链条,把思路里的缠结整理成区块,烘干认知偏差,时刻让自己的投资逻辑保持干爽。