最初比特币区块大小上限为32MB,区块链大小上限过高容易导致计算机资源的浪费以及容易发生DDoS攻击。因此比特币区块大小上限被设置为1MB。由于当时的用户量少,交易量不大,并不会造成区块拥堵。而如今随着比特币价格上升,用户增多导致比特币网络拥堵,出现了大量冗余现象,降低了网络的性能。因此,为了既能提高区块的吞吐量,又能保障区块链的安全,良好的区块链扩容技术是十分必要的。
分布式拒绝服务攻击(DDoS)通过使用恶意流量淹没网站或网络资源,从而导致网站或网络资源无法正常运行。攻击者发出大量实际上并不需要的互联网流量来耗尽目标资源,造成正常的流量无法到达目的地。区块链大小上限过高容易导致空余空间过多,容易给恶意攻击者可乘之机,使得区块被淹没无法正常运作。
比特币扩容主要分为链上扩容和链下扩容。
即Layer 1扩容,主要是通过提高区块链本身的区块容量来实现扩容。典型的扩容方案有:扩大区块和隔离见证(Segregated Witness)。
这种扩容方式比较直接,但是比较难一步到位,需要不断地适应更高性能需求的应用场景。同时,所有交易仍需在区块链这一分布式系统中进行数据同步,整个网络的性能瓶颈取决于单台服务器的处理性能(短板效应)。
在每一个区块当中,数字签名信息是和交易数据一起被打包起来存储的,其中签名数据最多可占用一个区块的65%。而隔离见证的目的就是要把数字签名信息拿出来,放到一个新的数据结构当中。这使得更多的交易数据能存储在单个区块中,在不增加区块大小限制的情况下增加有效区块的大小,从而增加网络交易的吞吐量。
交易的发送人必须使用数字签名来证明他们已经转移了资金。矿工在打包区块时需要用数字签名来验证每一笔交易,确认无误后才会将这笔交易记录在区块里。
即Layer 2扩容。主要思想是将原本 Layer 1的交易放在链下(Layer 2)执行,减轻 Layer 1的负担,并且 Layer 2定期与Layer 1通信,将Layer 2的交易批量提交到 Layer 1 。典型的扩容方案有:闪电网络(Lightning Network)。
闪电网络的主要是实现是,支付的双方在链下建立一个"通道",双方可以在这个“通道”多次进行支付交易,在需要结算时,关闭通道即可。当支付的双方没有直接的"通道"时可以借助第三方节点进行中转。
与比特币链上交易相比,闪电网络有几个好处:
更低的交易费用,对小额交易非常友好,由于比特币链上交易需要用户之间相互竞价,比特币上一笔交易手续费通常在几美金,巅峰时期这需要几十美金,对于小额的交易,手续费往往比转移的金额还要多,闪电网络上通道费用是动态的,通常按转移的BTC数量的万分之几收取。
在闪电网络协议下每秒可以发生的支付数量没有基本限制,仅受每个节点的容量和速度限制。
更好的隐私,闪电网络支付的细节不会公开记录在区块链上。闪电网络支付可以通过许多连续的通道进行路由,每个节点运营商都可以通过他们的通道看到支付,但如果不相邻,他们将无法看到这些资金的来源或目的地。
同时,闪电网络也有一些限制:
3.RSK