「区块链学习」区块链可扩展性技术解析:侧链、分片、DAG

经常关注区块链相关信息的同学,肯定会接触到侧链、分片这样的名词,相信大部分人都一头雾水,不知所云。今天就来简单科普一下这些名词究竟是什么意思。

区块链的可扩展性

首先,我们要了解比特币、以太坊等区块链技术目前发展的一大瓶颈就是网络拥堵。网络拥堵是区块链先天性的缺陷。因为去中心化和全网广播的特点,区块链上的每一个节点都会记录全网产生的交易。这样必然会带来效率的降低。区块链想要做到更深度的普及,关键就是要解决交易的吞吐量和交易的速度问题,这就是区块链的“可扩展性”问题。

目前常见的三大解决方案——侧链、分片、DAG。

区块链可扩展性的核心是解决交易的吞吐量和交易速度两方面的问题。其核心指标通常用TPS(transaction per second)来表达,即每秒事务处理量。例如比特币的TPS是7,即每秒处理7笔交易;以太坊的TPS是30-40,即每秒处理30-40笔交易,可见其效率之低。

从技术实现的角度来看,区块链可扩展性目前主要解决方案可分为三种:侧链、分片、DAG.

一、侧链(sidechains)

「区块链学习」区块链可扩展性技术解析:侧链、分片、DAG

侧链

侧链多用于描述比特币相关的扩容。它的定义是:可以让比特币安全地从比特币主链转移到其他区块链,又可以安全返回到比特币主链的一种协议。简单来说,侧链就像是一条条通路,将不同的区块链互相连接在一起,以实现区块链的扩展,从而解决比特币主链拥堵的问题。

我们常听说的闪电网络就是一种侧链。

闪电网络(lighting network)指的是交易双方可将比特币放到比特币主链下的一个多重签名钱包里进行交易。交易结束后将经过签名且包括最新余额动态的交易广播并写入比特币主链。

在第三方交易中,如A和B、B和C各自建立了支付通道,当A和C想要交易时,就可以通过B来进行转接,整个过程不需要主链确认,只是三方之间的数字转移,因此交易速度回非常迅速。只有当交易完成之后,才会将最终确认的余额写进主链区块。

二、分片

分片(sharing)其实是一种传统的数据库技术,它将数据库分割成多个碎片并将这些碎片放置在不同的服务器上。在区块链网络上的交易将被分成不同的碎片,由不同节点共同处理。因此,每个节点只需负责处理传入自身的那一部分交易,通过与网络上的其他节点并行处理就能完成大量的验证工作。将网络分割为碎片会使得更多的交易同时被处理和验证。节点越多,分割越细,其处理效率也越高。因此,随着网络节点的增多,区块链处理交易的能力也越强。这种属性也称为水平扩容。

举个形象的例子,现在的区块链就像一条繁忙的高速公路,高速公路的收费口只有一个。这样就使得人们必须排着长队等待通过这唯一的收费站。实现一个基于分片技术的区块链就像在高速公路上增加10或20个收费口。它将极大地提高汽车通过收费站的速度。因此,分片技术将显著提高区块链的交易速度。

三、DAG

「区块链学习」区块链可扩展性技术解析:侧链、分片、DAG

有向无环图

DAG是有向无环图(Directed Acyclic Graph)的缩写。DAG意思是有向无环图,所谓有向无环图是指从一个顶点沿着若干边前进(右向),但永远不能回到原点(无环)的图。

DAG严格意义上讲已经不属于区块链了,它属于另一种分布式账本体系。它没有区块概念,不是把所有数据打包成区块,再用链接区块,而是每个用户都可以提交一个数据单元,这个数据单元里可以有很多东西,比如交易、消息等等。数据单元间通过引用关系链接起来,从而形成具有半序关系的DAG(有向无环图)。每个用户既是交易者,又是矿工和验证者。交易直接参与验证,任何一笔交易都会和相邻的几笔交易通过智能合约绑定,交易被另外的交易验证,验证越多,交易的真实性越高。当达到一定临界值时,交易被确认。

DAG的优势是高并发,参与的节点越多,交易确认越快,从而可以支持极大的并发量和极高的速度。


分享到:


相關文章: