第16讲:下一代区块链新技术:侧链、分片、有向无环图
 1959

试听180第16讲:下一代区块链新技术:侧链、分片、有向无环图

倍速播放下载收听

00:00
14:15


购买所属专辑,收听更多内容

你好,我是朱嘉伟,欢迎收听由虫洞社区和火币集团共同打造的《从0到1,全面学透区块链》V3.0最新版。

 

上一课,我们学习了以太坊的几个典型的竞争对手,他们分别是NEO、Ontology、QTUM、Zillqa、IOST和AELF。当然,以太坊还有更多新的竞争对手,感兴趣的同学可以自己去研究,也期待将你的研究分享给大家。

 

今天我们一起来聊聊在区块链2.0时代,已经产生的下一代区块链技术都有哪些代表。

 

我们知道,区块链,尤其是公链技术,想要真正落地、实现产业化发展,最关键的就是要解决可扩展性的问题。目前提高可扩展性的主流技术手段包括:侧链(sidechain)、分片(sharding)和有向无环图(Directed Acyclic Graph,DAG)。本节课程我们就围绕侧链、分片和DAG谈谈区块链可扩展性问题,希望能为大家思考区块链的未来提供新的思路。

 

首先我们一起思考一个问题:区块链为什么需要侧链、分片和DAG等技术?

 

我们可以想象一下:一条繁忙的高速公路,如果只有一个收费口会怎样?对,必然导致拥堵,因为所有的车只能排队等待通过这唯一的收费口。那解决办法呢?可能增加辅路的数量、修建高架桥、增加收费口的数目等都是值得尝试的办法。

 

目前的区块链,尤其是公链,便像这条繁忙的高速公路。侧链类似给高速路增加多条辅路,分片技术类似增加收费口,DAG类似不开高速坐地铁。几种技术目的都是为了减少拥堵,提高运转效率。下面我们依次了解这三项技术。

 

先看侧链

 

侧链协议可以让资产在比特币区块链和其他区块链之间实现互转。而侧链是遵守侧链协议的所有区块链的统称。

 

在区块中,我们把最早的一条区块链称为“主链”,其他链称“侧链”或者“子链”。侧链通过“双向挂钩”的方式与主链相连,资产可以通过“双向挂钩”在主链和侧链之间以预定的速度进行互换。

 

“双向挂钩”是如何运行的呢?用户首先将主链上的token发送至一个输出地址,此后这部分token将被锁定,用户无法使用。传输完成,等待主链区块确认后,相同数目的token将在侧链中被释放,允许用户在侧链上使用。Token从侧链回归主链的情况,则恰好与此相反。

 

在侧链协议中,每条侧链对自己的安全负责。如果某条侧链缺乏足够的算力保护,它的确可能会被黑客入侵。但是由于每条侧链都是独立的,即使它被入侵或被破坏,损害将被局限于此条侧链,不会影响到主链。相反,如果主链遭到攻击,虽然侧链仍然可以运作,但主链和侧链间的“挂钩”机制将失去其价值。

 

目前比较知名的侧链项目是比特币的根链(RSK)。根链与比特币区块链有着双向互动的联系,并通过合并挖矿的方式激励“矿工”。根链可以为比特币区块链增添智能合约,也可以提高比特币的支付速度。

 

借助侧链协议,我们可以实现不同数字货币间的相互转化。侧链为整个体系的运转增添了灵活性,允许开发者在将软件(Dapp)推上主链前,可以先在侧链上完成测试。如果侧链技术的安全性能够得到保证,它的确是提升区块链可扩展性的好办法。

 

我们再来看分片(sharding)

 

分片技术是基于数据库分片传统概念的扩容技术。它将数据库分割成多个碎片,并将这些碎片放置在不同的服务器上。在区块链网络中,分片指的是将网络中的区块分割成多个子区块链,子区块链中可以容纳交易数据,并最终重新组成区块。

 

Vitalik Buterin在BeyondBlock区块链技术交流大会上讲到:

每个分片都像是个独立的宇宙,它具有自己的账户空间。使用者可以在某个宇宙中拥有一个账户,该用户发起的交易也只会对交易相关的宇宙产生影响。

 

以以太坊的分片为例:简单地说,分片技术将区块链网络中的每个区块变为多个子区块链,子区块链中可以容纳若干(目前为100个)打包了的交易数据的“校验块”,这些“校验块”最终组成在主链上的某个区块中;由于这些“校验块”是整体作为区块存在的,所以其数据必定是全部由某个特定的矿工所打包生成,本质上和现有协议中的区块没有区别,所以不再需要增加额外的网络确认。这样,每个区块的交易容量就大概扩大了100倍。

 

分片的确可以提升区块链的可扩展性,但却也降低了区块链的安全性。从数学上不难证明,将某个具有“恶意”节点的分布式网络分成若干份后,局部的安全性必然不如整体的安全性。如果分片中的节点数目过少,那么攻击者就会更容易控制它。在《A Secure Sharding Protocol For Open Blockchains(公有区块链的安全分片协议)》中,作者证明当每个分片的节点数量不低于600个时,安全性和效率才能够得到较好的平衡。

 

比较知名的分片项目是Zilliqa。Zilliqa是一个高吞吐量的公链平台,已经在AWS EC2服务器上证明了2488tps的运行能力(6个分片,3600个节点)。同时它也证明:链上节点越多,越具备更高的tps值。Zilliqa的分片含多个层面,包括网络分片、交易分片和计算分片(network sharding, transaction sharding, and computational sharding)。其中最重要的是网络分片。其他分片机制都建立在网络分片之上。因其证明了分片技术的可行性,Zilliqa被CrushCrypto选为2018年3月份的”Crusher of the month”项目。

 

分片技术已经被数学和实例证明确实能提高区块链的吞吐量,但在真正实践过程中仍存在如何更好地创建分片、分片节点过少时安全性如何保证以及不同分片间难以交互等问题。如果这些问题都能如愿解决,分片技术在开拓区块链的未来上必将大放异彩。

 

最后一部分,我们来谈谈突破区块链主流架构的DAG

 

DAG是一种使用拓扑排序的有向图形数据结构,常常用来解决与数据处理、调度、寻找最佳导航路线和数据压缩有关的问题。 我们知道,在数学中,图分为有向图和无向图两大类,在无向图中进一步进行约束形成了DAG。由此可见,DAG已经突破了以往区块链使用数论的数学方法的主流架构。

 

在中本聪的白皮书中,“区块”(block)和“链”(chain)这两个词一道出现。那时它只是叫作“a chain of blocks”,后来被人称作区块链(blockchain)。但事实上,“区块链”并不等于“分布式账本技术”(DLT),区块链只是DLT中的一个类别。

 

2013年,在区块链中引入DAG概念作为共识算法被以色列希伯来大学学者提出,也就是GHOST协议。我们知道,比特币的效率一直比较低,基于工作量证明共识下的出块机制是一个原因,由于链式的存储结构,整个网络中同时只能有一条链,导致出块无法并发执行。DAG的提出从根本上摒弃了区块概念,交易直接进入全网中,达到所谓的“无区块(Blockless)”效果,网络中的交易就可以扩容N倍。

 

第一个使用DAG的社区是NXT,社区的成员大多集中在东欧和俄罗斯。

 

具体而言,DAG有四个特点:

 

其一,交易速度快,交易速度远远高于基于POW和POS的区块链交易速度。

 

其二,无需挖矿:DAG把交易确认的环境直接下放给交易本身,无需由矿工打包成区块后同意交易顺序。所以DAG网络中没有矿工的角色。

 

其三,无手续费:交易发起只需要做简单的POW工作量证明,整个网络中的POW都是发起交易者自己做的,而不是交给矿工。发起交易无需手续费。

 

其四,需要见证节点:DAG需要见证人机制的存在。超越DPOS、POS、PBFT,最终实现在效率与安全性的一种平衡。

 

以IOTA为例:

 

IOTA是一种专为物联网设计的新式的交易结算和数据传输层,具有革命性意义。它以一种新型的分布式账本——Tangle——为基础,该分布式账本不仅克服了当前区块链设计技术的低效性,同时还在去中心化的点对点系统(即P2P系统)中引入了一种达成共识的新办法。

 

IOTA网络由一个 DAG(有向无环图),也称之为 Tangle(缠结)组成。每笔交易代表一个区块,所有交易构成了IOTA的DAG结构。在IOTA中,每一个交易都会引用过去的两条交易记录Hash,这样当前的交易需要证明过去两条交易的合法性,继而间接证明之前所有交易的合法性。由于不需要所有节点共同验证交易,网络的效率将大大提高。

 

在IOTA中,由于缺乏区块奖励和手续费,矿工”无利可图“,整个网络可能面临拒绝服务攻击和粉尘攻击的可能。其次,为了对全网交易进行检查(比如,防止双重支付),IOTA引入了中心化的组件Coordinator。Coordinator检查交易的同时,也为网络带来安全隐患。

 

DAG具有成为区块链 3.0的潜力,从图论拓扑模型宏观看,从线状进化到网状、从单点跃迁到并发写入,区块链的可扩展性能得到显著提升。DAG采用的是顶层理论设计和数学方法上的创新。但作为全新的技术,安全性和性能还有待时间的检验。

 

总结一下,本节课我们从解决公链落地的可扩展性谈起,一起学习了侧链、分片和DAG三种旨在尝试提高区块链可扩展性的技术。每条路径都有其创新和突破,但也会带来安全性等问题,需要后续实践来检验。

 

好,最后留给大家一道思考题:在今天介绍的三种提高可扩展性技术中,你最看好哪项技术未来的发展前景,原因是什么?对于可扩展性问题,你还有什么好办法?

 

最后,恭喜你完成《从0到1,全面学透区块链》第16讲的学习。从下一节课开始,我们将从「区块链2.0时代」的学习进入「区块链产业生态」学习,第17讲:区块链产业生态(1):矿机、矿池。


评论

    还没有评论,快来发表第一个评论!

打开喜马拉雅,发表评论