公链网络堵塞怎么破?扩容3大方案看过来

摘要

比特币,以太坊等先有的公链,网络堵塞问题日益严重。简单介绍公链扩容的三个方案:Sharding,State Channels和Plasma。

核心限制

比特币,以太坊等已有的公链,网络堵塞问题日益严重。去年12月份,一款名为cryptokittes(加密猫)的游戏在以太坊网络上火爆起来,一只猫甚至被卖到了几十万美元。以太坊网络交易量的30%一度被这款游戏占用,直接导致以太坊网络的拥堵。

大家最直观的感受就是,交易很长时间才能确认,交易费用高,交易容易失败。

究其原因,主要由于公链的设计,其每笔交易都会广播到全网中的每个节点,并需要它们进行共识确认。

扩容解决方案成为公链突破限制的一大重点。现在,我们来看下当前的三个解决方案。

Sharding(分片)

区块链网络由主链和分片(shards)链组成,分片链上交易处于自己独立的空间中,可以独立处理交易。其核心思路是并非每个节点都需要处理所有的交易。分片之前整个网络的处理取决于单个节点的处理。分片后,只有同一片内的处理是同步的、一致的,不同分片之间则可以是异步的。这种属于底层解决方案,因为它是在区块链本身的基本协议中实施的。

State Channels(状态通道)

状态通道是一种技术,其核心思想是,允许执行off chain (“脱链”)交易,只需要将其通道开启和关闭时状态的记录在区块链上。同时,在一个状态通道内发生的事情仍然保持着非常高的安全性和最终性;如果出现任何问题,仍然可以选择回溯到主链上。

比如:A要给B转1000笔小额的BTC,其工作方式大概是:首先在A和B之间打开一个付款通道, 并把通道的开放记录在区块链上。通过这个支付通道, 可以在任何时间、数天、数周或十年内保持开放状态,然后进行1000次的交易。只需在A和B想要关闭通道的时候,把这个通道上产生的交易的最终状态写在区块链上。

这种技术已经存在好几年了,去年该技术通过闪电网络在比特币上实施。

Plasma

去年8月份,继比特币扩容后,以太坊的V神和“闪电网络”的Poon发布了Plasma项目( http://plasma.io/ )的工作草案。Plasma是通过允许创建附加在“主”链上的“子”区块链来实现扩展性。参考下图:

总结

这三个方案主要从两个方向上提高公链的可扩展性。一个是建立分层结构(Layer 2),把不必要的交易从最底层的主链分离到附属结构上,State Channels和Plasma属于此方向。分片技术(Sharding)属于另一个方向,着眼于改进主链本身的协议来提高它的性能。

方案一:Sharding

特点:

1. 分片链的共识依赖于主链;

2. 已存在的主链,实现时会修改其底层协议,需要硬分叉

方案二:State Channel

特点:

1. 交易参与者的隐私保护;

2. 在很长一段时间内交易参与者会交换许多状态更新时,它们特别有用;

3. 具有即时终结性,只要双方签署状态更新,它就可以被认为是最终状态;

4. 局限性:依赖于交易网络的可靠性。

方案三:Plasma

特点:

1. 交易在子链执行,较低的执行手续费;

2. 子链可以有自己的共识算法;

3. 局限性:不能灵活的在交易方处理资产。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180224G0Y21P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券