dag冷知识(DAG的前世今生一)
dag冷知识(DAG的前世今生一)今天,我们请来Soteria 的创始人Mr. Ming Guo,为我们分析一下DAG 的前世今生。DAG 曾经风靡一时,然而因为它缺乏共识,所以热度很快就过了。那么,如何在DAG 的基础上改进,以实现共识和去中心化的理念呢?让我们带着这些问题和分享嘉宾Mr. Ming Guo 一起探讨一下DAG 的最新发展。有请Mr. Ming Guo …… 其实,世界上有非常多不同的团队在区块链基础设施的研发上,进行了很多创新,例如我们之前见到的Libra,大家认为它既不是链也没有块。然而,它确实是引入了部分去中心化的理念。2. Soteria DAG 如何把区块链(blockchain)扩展成区块图 (blockDAG)Claire:刚才【魔笛手社区】有资深研发大牛建议我搞一个论坛,讨论一下为什么区块链行业落地难的问题。昨天我也跟投资人很深入地讨论了这个问题。
比特币把我们带入到去中心化时代,但是本身面临性能扩展的瓶颈。很多区块链项目落入到通过牺牲去中心化这个区块链最重要的特性来追求性能的陷阱里。Soteria DAG把区块链blockchain扩展到区块图blockDAG,让比特币式的挖矿更具包容性,突破性能可扩展性瓶颈。我们的目标是在捍卫比特币带给我们的去中心化特性的基础上来继续增强区块链领域的创新和应用。
Soteria 是传承中本聪共识的pow高性能公链,基于BlockDAG其特点是具有高吞吐量,巨数据隐私保护和安全智能合约。
【内容简介】
1. Soteria DAG 和IOTA比较
2. Soteria DAG 如何把区块链(blockchain)扩展成区块图 (blockDAG)
Claire:
刚才【魔笛手社区】有资深研发大牛建议我搞一个论坛,讨论一下为什么区块链行业落地难的问题。昨天我也跟投资人很深入地讨论了这个问题。
其实,世界上有非常多不同的团队在区块链基础设施的研发上,进行了很多创新,例如我们之前见到的Libra,大家认为它既不是链也没有块。然而,它确实是引入了部分去中心化的理念。
今天,我们请来Soteria 的创始人Mr. Ming Guo,为我们分析一下DAG 的前世今生。DAG 曾经风靡一时,然而因为它缺乏共识,所以热度很快就过了。那么,如何在DAG 的基础上改进,以实现共识和去中心化的理念呢?让我们带着这些问题和分享嘉宾Mr. Ming Guo 一起探讨一下DAG 的最新发展。有请Mr. Ming Guo ……
Ming Guo:
大家好,我是Soteria公链项目创始人 Ming Guo.
首先我来介绍一下Soteria的来历。Soteria 是希腊神话里的安全、保护和拯救的女神 — Σωτηρία Soteria 苏缇雅
Soteria 为下一代区块链项目,有望成为“内生去中心化经济体”(SSDE - Self Sustainable Decentralized Economy)的基础设施技术。由比特币开启的区块链革命已经在我们的生活中留下了不可磨灭的印记 - 但是直到今天仍未释放出其全部潜力。
Soteria 的愿景是将区块链革命提升到一个新的水平 - 创造一个基于个人数字主权的全方位自我可持续的去中心化经济体—缺乏这样的经济体是区块链领域发展和应用市场落地遇到瓶颈以及极端波动性和混乱炒作的罪魁祸首。
Soteria正在开发一套整体解决方案,以解决当前一代区块链的一些紧迫问题,同时为其预想的去中心化经济体提供足够的功能集 - 例如基于区块图(BlockDAG)的可扩展的吞吐量以及链数据存储,通过内存进行的平等挖矿,保护巨数据安全的隐私计算和富表达的非图灵完备、无GAS的轻链重应用智能合约。
Soteria团队位于硅谷,其团队成员是具有思科、EMC、雅虎以及斯坦福大学、卡内基梅隆大学、麻省理工学院等背景的资深工程师。
今天的直播分享主要通过Soteria公链的第一个特性集 — Soteria DAG,来梳理一下区块链领域里各种DAG实现方式。
Soteria DAG 是对比特币区块链的扩展。
比特币把我们带入到去中心化时代,但是本身面临性能扩展的瓶颈。很多区块链项目落入到通过牺牲去中心化这个区块链最重要的特性来追求性能的陷阱里。Soteria DAG把区块链blockchain扩展到区块图blockDAG,让比特币式的挖矿更具包容性,突破性能可扩展性瓶颈。我们的目标是在捍卫比特币带给我们的去中心化特性的基础上来继续增强区块链领域的创新和应用。
那么,什么是DAG?
DAG是英文Directed Acyclic Graph的缩写。中文叫有向无环图,特点是任意一条边有方向,且不存在环路。DAG是一个有向图,它具有拓扑顺序,顶点的序列使得每个边在序列中都是由前到后定向的。
以上就是一个DAG — 有向无环图
我们回到比特币区块链
在区块链中,每一个块都是链接到前一个块,一直延伸到Genesis (创世块)。经常会有些小的分支(side-chains)出现,但是最终会被剪掉。在区块链技术中,有向无环图意味着块与块之间的链接会更加自由,一个块可以有不止一个父辈(parent block),父辈还可以在不同的区块高度 (height)。
在Soteria项目中,我们称BlockDAG为区块图
就是说,在Soteria DAG 的有向无环图里,图的节点是区块,这是很重要的一个设定,因为后面我们会讲到,其他一些区块链DAG的实现里,图的节点不是区块,而是交易。
区块图长什么样子?
下面是一个很活跃的区块图,Genesis Block就是最下方没有颜色的块,tips是最上面的块(没有任何其他的块链接“到”这个块)。在这个例子中,不同miner产生的块被染成不同的颜色,以便直观的看到每一个miner对网络的贡献。
Soteria的测试网(testnet)有一个对外开放的soterdash application,可以显示测试网的实时状况。比如:http://134.209.56.88:5072/
上图就是测试网的实时区块图
那么Soteria DAG 采用区块图,有什么优势呢?就是说:
为什么我们需要区块图(blockDAG)?
区块图(blockDAG)是中本聪共识的延续,在原有的特性基础之上,提供了更强的包容性 安全性 可扩展性。
包容性:
在区块图的设计理念中,所有有效的区块都会被接受,被连接到blockDAG。对比起区块链,区块图会接受所有有效的区块,而区块链只保留最长的链,所有侧链上的区块都会被抛弃。
通过接受更多的区块到整个网络,会有更多的人参与到网络建设,比如mining。比较小的miner也可以从网络中获取利益,区块图还可以使用一种比现有SHA256(bitcoin use it) 更公平的POW算法,具体算法我们将在以后的章节中讲解。
既然我们会接受所有有效的区块,一个区块的合法性就变得非常重要,尤其是从整个网络的视角来看,以防止恶意攻击(比如双花)。
实际上,区块图的状态,就是比特币网络里的实时状态,比特币的区块链是达到共识后的状态,并不是网络的实时状态
扩展性
在Soteria DAG的设计中,整体网络吞吐量的瓶颈不再被共识协议层所限制。通过调整区块大小和出块速度 我们可以灵活的设计网络的性能和吞吐量。交易的吞吐量不再是一个被协议所限制的常量,而是一个可以根据不同需求和具体应用场景变化的参数组。
安全性
Soteria DAG 优化了基于 Phantom 的“染色”算法,为区块图blockDAG 提供了可确定性的排序,有效的避免了网络中常见的“双花”问题。Soteria DAG还引入一系列的行为分析机制,针对区块和交易的时间序列进行异常检测,以防止其他的未知攻击。
总结:Soteria DAG 实际上是比特币中本聪共识算法的扩展,使其具有包容性,并在保证安全性的基础上提供了灵活弹性的可扩展特性。
关健是Soteria DAG 在保证可扩展性的同时严格遵循了中本聪共识。
现在我们来比较一下其他的DAG实现方式
目前DAG项目有3类
其中两类是“交易DAG”,即DAG的节点是交易Transaction,不是区块block.
交易DAG 的第一类有 IOTA,xDAG Raiblock (NANO)等,他们可以认为是“没有”严格共识的“交易DAG”,特点是没有确定的“终局性” — Finality 也就是没有共识。
交易DAG的第二类有 Hashgraph | Avalanche 他们实现分布式系统的“经典共识”,即“拜占庭容错共识”。
上面说的这两类“交易DAG”的共同点就是他们都不是区块链。
还有一类就是我们Soteria DAG的区块图“Block DAG”(blockDAG) 实现的是严格的“中本聪共识”,是比特币协议的扩展,区块图是中间状态,Finality是要收缩成一条区块链的。
所以要再次强调的是,Soteria DAG 是区块链,而且是根正苗红的“中本聪共识”区块链。
第一类交易DAG里,大家比较熟悉的是IOTA,所以我来分析一下IOTA.
IOTA不是区块链,它的网络的交易形成一个DAG,每一个新的交易必须通过确定两个之前的交易来连接到网络的这个DAG里。
这个连接要有一个POW的计算。
但是IOTA的POW计算的难度是固定的,这么做的原因是为了适应所谓的物联网的比较低级的硬件。但是固定的POW计算难度使得IOTA的DAG不具有可扩展性,而且易于被洪水攻击—spamming.
洪水攻击造成的后果就是整个网络无法确保共识终局性Finality,表现出来就是经常一个交易好些天都不能确定。
所以基本上IOTA的网络不具有共识终局性,而一个连共识都不能确定的“账本”,是不能和区块链账本相比的。
所以IOTA采用了中心化的”协调节点” — Coordinator 和 “快照” — Snapshot 的方式来强制达到共识,但是在洪水攻击的情况下,经常连Coordinator也不能达到可以收敛的共识终局性,所以我们会看到IOTA网络会“停机”好几天。
这样IOTA就连分布式系统的基本的“可持续性” — Liveness 整个基本要求也达不到了。
IOTA还有别的一些问题,由于和DAG无关,我就不展开讲了。
现在来说说第二类交易DAG,Hashgraph 和 Avalanche,它们也不是区块链,但是它们试图达到分布式网络系统的“经典共识”,比如“拜占庭容错共识”。
它们也具有“拜占庭容错共识”的一类特征,即通过优化节点(交易)的通讯成本来提高可扩展性。
但是如果作为去中心化数字货币账本的应用,其实用性是有问题的,因为去中心化网络里的节点是可以随时加入,随时离开的;那么同步这些节点需要的通讯量的优化就很难保证性能和可扩展性。
这也是“中本聪共识”相比“拜占庭容错共识”的重大优势,即节点达到共识的通讯成本可控。
在这一点上,比特币和我们的Soteria DAG都是严格的“中本聪共识” — 即去中心化,防审查以及“无信任”的信任。