实际上,目前区块链无法大规模使用的主要原因,一个是大家普遍关注的性能和效率问题,另一个是预言机(Oracle)。这篇文章先聊聊区块链性能和效率问题的解决方案。
性能和效率问题也就是大家通常所说的TPS,这也是大多数公链面临的问题,我们可以发现,以太坊之后的大多数公链都是在往这个方向去努力。
由此也产生了很多的解决方案,我选择了以下四种主流的解决方案。
一、分片技术(Sharding)
主链上的共识机制和记账方式,往往决定了区块链的TPS就是确定的。比如比特币网络规定每十分钟出一次块,算上计算哈希、全网广播、账本同步等等。
一种解决方案就是分片技术(Sharding),比如Zilliqa和QuarkChain,简单来说就是通过把数据随机分散到多个节点,多个节点之间可能管理不同的账本,通过节省矿工数量,来提升性能,同时每过一段时间,这些数据会在节点之间随机交换一次,防止恶人了解到某些数据存在哪几个节点并发动攻击,理论上来说,分片越多速度越快。
二、侧链(SideChain)
侧链是由Blockstream公司提出的,它允许主链上的Token或其他数字资产在另一个单独的区块链中安全的使用,然后在需要的时候移回原始区块链。
侧链旨在实现双向锚定,让某种加密货币在主链以及侧链之间互相“转移”。实现的核心原理是双向挂钩(2WP),我们以比特币为例,当发生一笔交易的时候,这笔交易的BTC在比特币区块链上被暂时锁定,而同时在侧链上有相同数量的等价BTC被解锁。当等量的BTC在侧链上被再次锁定时,原先的BTC就会被解锁。这实质上就是双向挂钩所要实现的功能。
所以,严格意义上来讲不能说是转移,而是上段所说的双向挂钩的模式。通过这种方式降低了主链上进行大量转账的压力。
三、状态通道(State Channels)
这种解决方案一般都是在原有的公链上提出的解决方案,像是比特币的闪电网络(Lightning Network)、以太坊的雷电网络(Raiden Network),他们主要解决的是支付的问题。
但是以太坊智能合约的效率问题还是很难解决,后来V神和闪电网络白皮书作者Poon共同发起了Plasma,争取解决扩容问题。
Plasma是一种全新的设计模式,一种新技术。通过使用许多子区块链来实现这一点。系统通过某种称为“欺诈证明”的东西将“子”区块链与“主”区块链连接在一起。
Plasma是一种用于进行离线交易的技术,同时依靠基础主链来维持其安全性,该技术可以递归地用于产生子链,创建链条树。其结果是我们可以在子链上执行许多复杂的交易,因为交易不需要整个以太坊区块链处理,所以它们会更快且收取更低的交易费用。
四、二层网络(Layer 2)
Layer 2是今年才逐渐火起来的一种解决方案。它倡导的是将复杂的状态放到链下来完成,再将关键结果上链。
打个比方,我们玩一个游戏,如果放在链上,可能会非常慢,尤其是以太坊,可能每做一个动作,都需要等待十几秒的确认时间。
那如果放到Layer2去完成这件事,就简单多了。首先双方来玩游戏,等游戏结束并结算之后,再将最终的结果状态上链。
要解决的问题就是这个二层网络是否可信,有些也会在二层网络做一个共识,比如设置奖惩机制。
对了,刚才发现,EOS可能也算是一种特殊的解决方案,就是EOS的超级节点,只选取21个超级节点来记账,通过牺牲一定的去中心化,减少节点的数量,进而缩短共识的时间,提升了速度。
以上是对于区块链可拓展性解决方案的一些简要分析。如有不正确的地方也希望大家指正。
网友评论