Author

Topic: 侧链、分片、DAG,区块链的扩展性技术简述 (Read 210 times)

member
Activity: 210
Merit: 10
DAG目前还处于概念阶段,第一个DAG币IOTA目前还是中心化的,byteball,Nano也都是。
多谢大神的科普,那个dag概念我看了又看,还是不明白
legendary
Activity: 1098
Merit: 1000
Angel investor.
DAG目前还处于概念阶段,第一个DAG币IOTA目前还是中心化的,byteball,Nano也都是。
member
Activity: 136
Merit: 10
有向无环图,想象不出是什么样子,智商不够用的感觉 Sad
member
Activity: 154
Merit: 10
谢谢楼主分享的干货,发到这里好像不对版块吧?
newbie
Activity: 24
Merit: 0
很棒的分享 Tongue
newbie
Activity: 23
Merit: 0
这些技术厉害了
hero member
Activity: 594
Merit: 500
DAG技术理论上的无限并发和实际是有区别的,感觉分片才是未来。
jr. member
Activity: 53
Merit: 10
区块链技术发展到现在,终会遇到的一个关键瓶颈——区块链扩展性(特别是公链)。想要真正做到更深度化的应用和普及,关键就是要解决交易的吞吐量和交易的速度问题,这在区块链中也被称作”可扩展性“。

幸运的是大多数团队都很有预见性的提出了相应的解决方案,并已开始付诸实施,只不过作为一名非区块链技术领域的萌新小白,在面对侧链、闪电网络、RSK、DAG、分片(Sharing)时经常会搞得一头雾水,不知道是什么意思,更不知道它们之间是一个什么样的关系——今天简单做了一个梳理,希望大家至少可以从宏观上比较清楚的了解对于区块链可扩展性上的问题,各团队是在如何解决。

如前边提到,区块链可扩展性的核心是为了解决交易的吞吐量和交易的速度两个方面,核心指标通常用TPS(transaction per second)来表达,即每秒执行的事务数量。比如比特币TPS是7,以太坊TPS是30-40等。

从现有技术实现的角度来说,基本分为三种,分别是侧链、分片、DAG,但因一些实现的技术角度和细节不同,各团队给出的命名也不一样。


一.侧链

侧链(SideChains)因为最早是这对比特币提出,所以这个概念后期也更多的是在描述比特币相关的扩容,它的定义是:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。

我们以闪电网络(Lighting Network)为例:它指的是A和B两人可以把比特币放到一个多重签名钱包中锁定(链下),然后进行交易签名更改双方各自能取回的比特币数量。交易参与方可以随时关闭交易通道,最后一笔经过签名且包含最新余额动态的交易最终将会被广播并写入比特币区块链(回归链上)。

另一种情况是涉及更多的第三方,比如已知C想和A交易,但双方没有建立支付通道,不过A和B、B和C都各自建立了支付通道,这时C就可以通过B和A达成交易,B其实在整个交易过程中充当着一个网关的角色。整个过程实际上不需要在主链确认,因为都是几方之间倒来倒去的”数字游戏“,因此交易速度会非常迅速。只有当关闭交易通道时,才会最终确定各自的余额并写进主链区块。

RSK其实也是侧链的框架,你可以理解为闪电网络解决的是比特币支付问题,而RSK则是通过侧链为比特币创建了一套类似以太坊的图灵完备的智能合约平台。:

二.分片

分片(Sharing)其实是一种传统数据库的技术,它将大型数据库分成更小、更快、更容易管理的部分,这些部分叫做数据碎片 (Vitalik Buterin称它为宇宙Universes) ,不过应用到区块链当中会相当复杂。

以太坊的分片,简单来说就是将区块链网络划分成若干能够处理交易的较小组件式网络,以实现每秒处理数千笔交易的支付系统。

设置一个区块链,在这个区块链系统中有一百个各自不同的宇宙,每一个宇宙都是一个独立的账户空间。使用者可以在某个宇宙中拥有一个账户,该用户发起的交易也只会对交易相关的宇宙产生影响。——Vitalik Buterin在BeyondBlock区块链技术交流大会的演讲


……是否似曾相识?听上去是不是和侧链很像?



是的,如果说侧链是通过“外部嫁接”到主链,那分片就是将主链进行“内部分割”,显然后者的实现难度要比前者复杂的多!也因此很多人都认为V神把事情复杂了……其具体为何要如此实现V神自有他的道理,不在本文讨论,但基本可以确定的是,即使是分片,也会为效率牺牲一定程度的“去中心化”。顺带一提,EOS也有分片,叫Region。

三.DAG

DAG 是有向无环图(Directed Acyclic Graph)的缩写,这是一种有顶点和边的图结构。它可以保证从一个顶点沿着若干边前进(有向),但永远不能回到原点(无环)。

在IOTA这个项目中,提到的Tangle(缠结)就属于DAG的一种数据结构,真正意义上讲,IOTA已不属于“区块链”,你可以理解为如果比特币、以太坊使用的是底层数据结构是BlockChain,而IOTA的底层数据结构则是DAG,但它依然属于“去中心化”的范畴。

在 IOTA 里发起一笔交易的流程如下:

你需要先找到网络里的两笔交易,验证它们的合法性,然后做微量的POW计算,把自己的交易与它们绑定,再广播到网络。你的交易会被后来的交易以相同的方式验证。

如果验证你交易的其他交易越多,则你的交易的确定性越高。当达到一个临界值时,就认为这个交易被确定了,这和比特币6个区块确定交易状态的思想一致。简单来说,IOTA是把算力作为交易的一部分。只要你想加入这个网络,那必须先成为Mini版矿工,做出微量的POW贡献,也因此它是去中心化的。

DAG的优势可以做到高并发,理论上是无限多的并发,意味着它可以大幅提升交易速度。

以上就是关于可扩展性相关技术的一些简单概括和介绍,实际应用的技术细节和命名方式可能会有很多,但从目前来看,大体都脱离不了侧链、分片、DAG三类的范畴。
Jump to: