区块链研习 | DAG网络:Blockless无区块概念将解决区块链交易性能问题-阿里云开发者社区

开发者社区> 北丐09> 正文

区块链研习 | DAG网络:Blockless无区块概念将解决区块链交易性能问题

简介: DAG网络中提出的无区块Blockless概念,将有可能在未来解决区块链交易中由于生成区块而产生的交易时间过长的问题。
+关注继续查看

本文译自BTCManager.com。作为一种计算机领域的拓补数据结构,DAG(Directed Acyclic Graph,有向无环图)在第一次被提出来结合应用在区块链时,是为了解决比特币区块生成效率低下的问题。基于链式的存储结构,比特币网络平均的出块时间在十分钟左右。而变成区块DAG后,在区块打包时间不变的情况下,可以在网络中并行打包区块,在网络中容纳更多的交易同时进行。而在本文中介绍的DAG与Byteball系统结合的提议,则引入了无区块Blockless的概念,称将极大提升交易效率。

即使是对于普罗大众来说,在接触到虚拟加密货币的时候,就能感受到其显现出区块链相关的技术趋势。在其中最为显著的成果是比特币,同时以太坊也因其独特的技术优势获得不少关注,但实际上,区块链的发展前景远远比这辽阔得多。

在比特币在资本市场呼风唤雨之前,已经有几个版本不同的虚拟加密货币诞生了。但是比特币拥有它们所没有的,就是去中心化的伟大梦想。引入了不可篡改等区块链特性的分布式分类账本,比特币在全球范围内迅速风靡,获得了许多推崇。

然而,随着时间的推移,我们的确看到了在比特币和区块链中出现了一些问题。尽管它依然保持了不可篡改和去中心化的特性,一个巨大的问题已然凸显出来:由于区块链先天运作机制而产生的交易时间过长的问题。在Byteball区块链平台上,一项新技术通过在顶层设计中增添新的特性,来为这个比特币中产生的问题提供解决方案。

这个新技术即为Directed Acyclic Graph (DAG)有向无环图组织模型。与区块链的工作机制不同的是,区块链需要矿工来完成工作量证明(PoW)来执行每一笔交易,而DAG能摆脱区块链的限制来完成这样的操作。相反的是,在DAG中一笔交易接着另外一笔,这意味着一笔交易能够对下一笔交易提供证明,由此一直排序下去。这些交易之间的连接就是DAG,就像区块通过哈希值来向整条区块链提供它们的名字一样。

无区块概念与相邻交易验证机制

通过使用这样一个系统,交易时间的将会变得微不足道,比特币也能得到良好的运作环境。在区块链的运营机制中,每笔交易要花费十分钟的时间。而通过DAG,由于每笔交易都与下一笔交易相连,且矿工被排除在外,交易时长会随着越来越多用户加入系统而缩短。

在DAG系统中,剔除矿工的设置能够避免像区块链系统中某一个矿池集合全网50%算力的威胁,与双重攻击的隐忧。那么,DAG是如何规避这样的威胁的呢?没有了区块链中的工作量证明共识机制,DAG的交易指令能够通过这么多起交易向外扩散,正因为每一笔交易都已经极快地扩散通知至全网,大部分双重支付的攻击尝试将会被系统捕捉到并立即拒绝执行。

以防在DAG网络中的并行支路上同时进行双重支付攻击,Byteball系统启用了由可信目击者(trusted witness)来运作的“主链”(main chain)。用户将能够从被验证过的和信赖的“目击者”中进行挑选,而这一条主链的记录会被认证为唯一有效的。

和以太坊相比较,DAG网络虽然不具备智能合约强制执行的特性,但它能为用户提供一个相对简单、清晰易辨的架构,以太坊的系统则要更为复杂许多。这不仅使得用户能更容易去理解他们的虚拟货币什么时候和怎么样进行支付,而非依靠着一个满是程序员和合约的世界。从这个角度来看,可以把DAG网络看出是一个智能合约缺席执行者和旁观者的版本。

如果DAG能得到更为广泛的应用,它在几乎每个级别都能显露出比区块链更优的特性。在目前区块链系统中,随着交易时长这样的问题显现出来,用户可能会尝试选择如DAG这样更为技术超前的系统。这将会是虚拟加密货币交易在未来的发展趋势吗?也许在目前,对这些新兴技术并重开发才最明智。

原文发布时间为:2017-12-25
本文作者:吴阳煜
本文来源:雷锋网,如需转载请联系原作者。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7735 0
ScrollView属性fillViewport解决android布局不能撑满全屏的问题
转:http://blog.sina.com.cn/s/blog_6cf2ea6a0102v61f.html   开发项目中遇到一个问题,布局高度在某些国产酷派小屏幕手机上高度不够全部显示,于是使用了ScrollView嵌套LinearLayout,但问题又出现了,在大屏幕手机如三星note3手机上下面会留白,问题的解决办法是在第一层LinearLayout里面嵌套多个LinearLayout,最重要的是将ScrollView中android:fillViewport设置为true。
1380 0
运行codeblocks时出现的问题解决
When I try running Code::Blocks, I get the following error message: Another program instance is already running.
1309 0
区块链应用 | 以太坊网络交易量超 6 大币种总和
以太坊网络交易量超 6 大币种总和
952 0
+关注
309
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载