区块链可扩展性的那些技术:侧链、分⽚、DAG,⼦链!
如果你经常浏览区块链相关的信息,你⼀定知道⽐特币交易开始变得拥堵,在社区中对于是扩容还是侧链的讨论喋喋不休。你肯定也知道就连以太坊也因《CryptoKitties》这款养猫游戏没能逃掉⽹络拥堵的命运。
南京特摆在我们⾯前的,是区块链技术发展到现在终会遇到的⼀个关键瓶颈——区块链(特别是公链)想要真正做到更深度化的应⽤和普及,关键就是要解决交易的吞吐量和交易的速度问题,这在区块链中也被称作”可扩展性“。
幸运的是⼤多数团队都很有预见性的提出了相应的解决⽅案,并已开始付诸实施,只不过作为⼀名⾮区块链技术领域的萌新⼩⽩,在⾯对侧链、闪电⽹络、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则是通过侧链为⽐特币创建了⼀套类似以太坊的图灵完备的智能合约平台。:
飞车名字大全 合法⼆.分⽚
分⽚(sharding)其实是⼀种传统数据库的技术,它将⼤型数据库分成更⼩、更快、更容易管理的部分,这些部分叫做数据碎⽚ (Vitalik Buterin称它为宇宙Universes) ,不过应⽤到区块链当中会相当复杂。
以太坊的分⽚,简单来说就是将区块链⽹络划分成若⼲能够处理交易的较⼩组件式⽹络,以实现每秒处理数千笔交易的⽀付系统。
设置⼀个区块链,在这个区块链系统中有⼀百个各⾃不同的宇宙,每⼀个宇宙都是⼀个独⽴的账户空间。使⽤者可以在某个宇宙中拥有⼀个账户,该⽤户发起的交易也只会对交易相关的宇宙产⽣影响。——Vitalik Buterin在BeyondBlock区块链技术交流⼤会的演讲
……是否似曾相识?听上去是不是和侧链很像?
几月几号情人节是的,如果说侧链是通过“外部嫁接”到主链,那分⽚就是将主链进⾏“内部分割”,显然后者的实现难度要⽐前者复杂的多!也因此很多⼈都认为V神把事情复杂了……其具体为何要如此实现V神⾃有他的道理,不在本⽂讨论,但基本可以确定的是,即使是分⽚,也会为效率牺牲⼀定程度的“去中⼼化”。顺带⼀提,EOS也有分⽚,叫Region。
DAG 是有向⽆环图(Directed Acyclic Graph)的缩写,这是⼀种有顶点和边的图结构。它可以保证从⼀个顶点沿着若⼲边前进(有向),但永远不能回到原点(⽆环)。
在IOTA这个项⽬中,提到的Tangle(缠结)就属于DAG的⼀种数据结构,真正意义上讲,IOTA已不属于“区块链”,你可以理解为如果⽐特币、以太坊使⽤的是底层数据结构是BlockChain,⽽IOTA的底层数据结构则是DAG,但它依然属于“去中⼼化”的范畴。
有向⽆环图(Tangle)战争小说
在 IOTA ⾥发起⼀笔交易的流程如下:
你需要先到⽹络⾥的两笔交易,验证它们的合法性,然后做微量的POW计算,把⾃⼰的交易与它们绑定,再⼴播到⽹络。你的交易会被后来的交易以相同的⽅式验证。
如果验证你交易的其他交易越多,则你的交易的确定性越⾼。当达到⼀个临界值时,就认为这个交易被确定了,这和⽐特币6个区块确定交易状态的思想⼀致。简单来说,IOTA是把算⼒作为交易的⼀部分。只要你想加⼊这个⽹络,那必须先成为Mini版矿⼯,做出微量的POW贡献,也因此它是去中⼼化的。
DAG的优势可以做到⾼并发,理论上是⽆限多的并发,意味着它可以⼤幅提升交易速度。
说到⼦链,⾸先绕不开的⼀个话题就是墨客MOAC链,MOAC——即Mother Of All Chain的缩写,中⽂翻译成“众链之母”,或是“⼥娲链”。这是⼀个主⽹已经上线了的第三代公链,它率先突破异步合约调⽤、合约分⽚处理和全领域跨链等当前业界难题,对合约的处理速度远远优于当前譬如以太坊等智能合约平台。
⼦链的出现,是⼀个⾰命性的变⾰,如果你考虑墨客MOAC的⽣态,它就好像⼀个开发⽤的GitHub,那么⼦链,可以变成⼀个个功能库,让⼦链之间可以互相分享。⽽各种提供服务的⼦链,因为服务的不同,必须有⾓⾊细分。⽐如提供ipfs的⼦链,重点在存储;提供zksnarks 的⼦链,重点在运算速度。那么怎么可能⽤同样配置的scs来做不同的⼦链⽀持基础呢?怎么可以⽤同样的共识算法,同样的区块速度等等,来做不同的事情呢?所以你需要专业⼈⼠做专业的事情,那么⼦链,就是可以根据你不同的需求来定义与创建。
冰属于什么剂答案当然,⼦链和侧链的区别也很⼤,⼀⽅⾯侧链是为⼩微转账设计的,不可能提供墨客链这种功能库,互相调⽤的功能,另⼀⽅⾯,侧链可以直接打垮,⼦链你⽆法直接攻击,必须攻击母链。双花肯定不会出现,因为母链这⾥解决全局⼀致性,主要就是底层vnode的规模受到币价的挖矿利润限制,但是scs的规模,可以在应⽤推动下,⽆限扩展。墨客MOAC就是解决了V神和BM的争论中,维持了去中⼼化的安全性,⼜提升了可扩展性能⼒。
实事上,墨客是以太坊的补充(complement),是兼容以太坊的。在V神和BM的争论中,V神批评EOS过于中⼼化是正确的,⽽BM批评以太坊缺乏扩展能⼒也是正确的。V神寻求⽤分⽚来解决问题,也是正确选择。墨客,其实就是落实了V神⼏年想做⽽没有做到的事情(当然还有更多的创新),并且证明了可以不需要牺牲去中⼼化⽽解决扩展性问题。
以上就是关于可扩展性相关技术的⼀些简单概括和介绍,实际应⽤的技术细节和命名⽅式可能会有很多,但从⽬前来看,⼤体都脱离不了侧链、分⽚、DAG、⼦链的范畴。
从⽬前来看,⽆论何种技术的解决⽅式都是在从“更⾼的效率”和“去中⼼化”⼆者之间寻⼀个平衡,想要效率就要中⼼化,想要安全就要去中⼼化,也因此,现有解决⽅案也都在引发⼀些“不是去中⼼化”的质疑声。
老师节日的祝福语简短其中争论最激烈的就是⽐特币Core派和BCH派之间,Core派的解决⽅案是侧链,BCH就抨击侧链最终会沦为中⼼化的银⾏。BCH的解决⽅案是⼤区块,Core派就抨击BCH本⾝就是以矿霸为核⼼的中⼼化代表。
有争论才有突破,意味着问题本⾝就还没有唯⼀的答案。这反⽽证明了我们正处于⼀个区块链刚刚起步发展的黄⾦时代,也是区块链现阶段的魅⼒所在,百家争鸣、各抒⼰见……投⾝此间,我倍感庆幸。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论