区块链(特别是公链)想要真正做到更深度化的应用和普及,关键就是要解决交易的吞吐量和交易的速度问题,这在区块链中也被称作“可扩展性”。下面普及一下常见的三种技术解决方案。
如果你经常浏览区块链相关的信息,你一定知道比特币交易开始变得拥堵,在社区中对于是扩容还是侧链的讨论喋喋不休。你肯定也知道就连以太坊也因《CryptoKitties》这款养猫游戏没能逃掉网络拥堵的命运。
摆在我们面前的,是区块链技术发展到现在终会遇到的一个关键瓶颈——区块链(特别是公链)
想要真正做到更深度化的应用和普及,关键就是要解决交易的吞吐量和交易的速度问题,这在区块链中也被称作“可扩展性”。
幸运的是大多数团队都很有预见性的提出了相应的解决方案,并已开始付诸实施,只不过作为一名非区块链技术领域的萌新小白,在面对侧链、闪电网络、RSK、DAG、分片(Sharing)时经常会搞得一头雾水,不知道是什么意思,更不知道它们之间是一个什么样的关系——猫叔今天简单做了一个梳理,希望大家至少可以从宏观上比较清楚的了解对于区块链可扩展性上的问题,各团队是在如何解决。
如前边提到,区块链可扩展性的核心是为了解决交易的吞吐量和交易的速度两个方面,核心指标通常用TPS(transaction per second)来表达,即每秒执行的事务数量。比如比特币TPS是7,以太坊TPS是30-40等。
从现有技术实现的角度来说,基本分为三种,分别是侧链、分片、DAG,但因一些实现的技术角度和细节不同,各团队给出的命名也不一样。我给出下面这张图你可能就会有一个比较清晰的概念了:
区块链可扩展性解决方案
1.侧链
侧链(SideChains)因为最早是这对比特币提出,所以这个概念后期也更多的是在描述比特币相关的扩容,
它的定义是:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。
我们以闪电网络(Lighting Network)为例:它指的是A和B两人可以把比特币放到一个多重签名钱包中锁定(链下),然后进行交易签名更改双方各自能取回的比特币数量。交易参与方可以随时关闭交易通道,最后一笔经过签名且包含最新余额动态的交易最终将会被广播并写入比特币区块链(回归链上)。
另一种情况是涉及更多的第三方,比如已知C想和A交易,但双方没有建立支付通道,不过A和B、B和C都各自建立了支付通道,这时C就可以通过B和A达成交易,B其实在整个交易过程中充当着一个网关的角色。整个过程实际上不需要在主链确认,因为都是几方之间倒来倒去的”数字游戏“,因此交易速度会非常迅速。只有当关闭交易通道时,才会最终确定各自的余额并写进主链区块。
RSK其实也是侧链的框架,你可以理解为闪电网络解决的是比特币支付问题,而RSK则是通过侧链为比特币创建了一套类似以太坊的图灵完备的智能合约平台。
闪电网络更具体的信息,你可以参考下面视频的前半部分,后半部分融入了作者本人对此技术是否属于”去中心化“的质疑,大家可带着自己的思考自行消化:
2.分片
分片(Sharing)其实是一种传统数据库的技术,它将大型数据库分成更小、更快、更容易管理的部分,这些部分叫做数据碎片 (Vitalik Buterin称它为宇宙Universes) ,不过应用到区块链当中会相当复杂。
以太坊的分片,简单来说就是将区块链网络划分成若干能够处理交易的较小组件式网络,以实现每秒处理数千笔交易的支付系统。
“设置一个区块链,在这个区块链系统中有一百个各自不同的宇宙,每一个宇宙都是一个独立的账户空间。使用者可以在某个宇宙中拥有一个账户,该用户发起的交易也只会对交易相关的宇宙产生影响。”