目录
导语
区块链的可扩展性问题
因此,遇到这种情况,我们会陷入瓶颈。我们可以将区块链视为发车间隔固定的火车服务。每个车厢座位有限,乘客必须通过竞价确保获得一张车票。如果所有人都想登车,票价自然水涨船高。同理,被未确认交易阻塞的网络会要求用户支付高昂的费用,以便优先处理其交易。
以太坊的创造者Vitalik Buterin提出了可扩展性的“三元悖论”,论述区块链面临的挑战。他认为,协议必须在可扩展性、安全性和去中心化之间进行权衡。三者互相矛盾,如果过度强化任意两项,第三项势必大打折扣。
什么是链下扩展解决方案?
链下扩展是指支持交易执行,但不让区块链扩容的方式。入链协议支持用户收发资金,但交易不会立即在主链出现。在这方面,我们将深入探讨两项最显著的进展:侧链和支付通道。
侧链介绍
什么是侧链?
侧链是独立的区块链,但不是独立平台,在某种程度上与主链挂钩。主链和侧链可以互操作,即资产可以在主链与侧链自由流动。
侧链的工作原理
假设我们的朋友Alice拥有五枚比特币。她希望以此交换比特币侧链中的五枚等价货币(我们称为“侧链币”)。我们讨论的侧链双向挂钩,用户可以将其资产从主链转入侧链,反之亦然。
Alice已将所持比特币转换为侧链币。她也可以逆向操作,将侧链币转换为比特币。在侧链拥有资产后,她现在可以在这条独立区块链自由交易。如同主链一样,她可以发送或接收他人的侧链币。
例如,她可以向Bob支付一枚侧链币,购买币安的连帽衫。当她想换回比特币时,可以将剩余的四枚侧链币发送至一个特殊地址。交易确认后,四枚比特币将会解锁并转入她在主链控制的地址。
为什么使用侧链?
您可能想知道为什么要使用侧链。Alice只使用比特币区块链不行吗?
但我们不得不承认,日常的小额支付可能根本不需要这么高的安全等级。如果Alice去买咖啡,她肯定不会苦等交易确认。如果是这样,她的交易会一直在队列中,待到交易确认,恐怕咖啡已经凉透了。
有趣的是,即使侧链严重出错,也不会影响基础链。这样一来,它们可以作为实验平台,推出本应占据多数网络共识的功能。
如果用户对链下交易感到满意,侧链可能是有效扩展不可或缺的一步。主链节点不需要存储侧链的所有交易。Alice可以通过单次比特币交易进入侧链,执行数百笔侧链币交易,然后退出。就比特币区块链而言,她只完成了两项操作:一进一出。
支付通道介绍
什么是支付通道?
支付通道在可扩展性方面的作用与侧链相同,但二者本质不同。与侧链相似,支付通道将交易与主链分离,防止区块链无限扩容。然而,与侧链的不同之处在于,它们不需要依托独立的区块链,
支付通道的工作原理
假设二人均向同一地址存入10枚比特币,该地址的余额为20枚比特币。他们能够轻松确定初始余额,即Alice和Bob各自拥有10枚比特币。如果Alice需要转给Bob一枚代币,可以将账本更新为:Alice拥有9枚比特币,Bob拥有11枚比特币。他们不需要将交易发布至区块链,即可更新余额。
最终完成所有交易后,假设Alice拥有5枚比特币,而Bob拥有15枚。他们可以创建交易,将这些余额发送到各自的地址,对其签名并在链上广播。
Alice和Bob本可以在账本中记录几十、几百甚至上千笔交易。但在区块链层面,他们只执行了两项链上操作:一项是初始资金交易,另一项在完成交易后重新分配余额。除了上述两点,其他所有交易均在链下进行,没有手续费并且几乎即时成交。双方无需支付矿工费用,也不必等待区块确认。
支付路径
对于频繁交易的双方来说,支付通道显然更加方便快捷。这种方式也在日臻完善。这些通道的网络可以不断充实与优化,让Alice可以向没有直接联系的收款方付款。如果Bob与Carol开通了支付通道,只要容量充足,Alice便可通过该通道向Carol付款。她可以首先通过Bob的支付通道付款,由Bob将资金转入Carol的通道。如果Carol与另一位参与者Dan相连,也可以进行相同的操作。
这样的网络结构最终演变成分布式拓扑,所有人均可连接多个对等节点。付款通道很多,用户可以自主选择最有效的通道。
总结
在上文中,我们讨论了两种可扩展性方案。二者均支持在不增加基础区块链负担的前提下完成交易。侧链和支付通道尚不够成熟,但越来越多希望规避基础层交易缺陷的用户正在接纳这两项技术。
假以时日,用户不断加入网络,维持去中心化至关重要。为了实现目标,可以限制区块链容量的增长,以便随时加入新节点。链下可扩展性解决方案的支持者认为,随着技术发展,主链在未来只会服务高额交易,或者仅用于接入/断开侧链以及开放/关闭支付通道。