关于拓展性的讨论,一直是加密社区讨论的前沿。可拓展性一直是各大区块链项目重点解决的问题之一。如果你不清楚什么是可拓展性,可以简单地理解成TPS,即每秒钟处理交易的数量。
关于这一问题,一般会有三种解决方案,分别是分级、分层和分片。完成这三种解决方案的难度也依次递增。
什么是分级?简单来说就是让一些交易在区块链下进行。典型的分级方案是比特币的扩容方案——闪电网络。
闪电网络的运行逻辑是这样的:主链充当结算层,处理大额交易,而闪电网络充当支付层,处理小额交易。在闪电网络里处理的交易并不需要主链去验证,同样在主链中发生的交易也不需要闪电网络去验证。主链和闪电网络仅仅在必要时进行一些交互。
什么是分层?简单说就是把主链承担的一些功能分离出来,交给侧链来处理,从而减轻主链的压力。由此可见,侧链和主链承担的功能是不一样的。
比如比特币的侧链方案RSK就是承担了比特币的智能合约功能。而比特币主链的核心功能是UTXO的转账和账本的更新与维护。理论上,主链和侧链不需要相互关心,因此,相互间的交互比分级会更少。
需要注意的是,分级和分层有显著的区别。分级是指规模上进行区分而功能的本质上却相同,而分层是指功能上完全不同,两层间相互独立。
什么是分片? 简单说就是把处理交易的方式由串行改为并行,即由同一时间只能处理一笔交易改为同一时间可以处理多笔交易。
它的运行逻辑是这样的:主链被分割成一系列被称为分片的分区,其中包含自己独立的状态片及交易历史记录。在这种系统中,特定的节点只为特定的分片处理交易,从而允许在所有分片中处理的交易吞吐量比在单个分片中处理所有交易(像现在的主链一样)要高得多。
这种方案也是难度最大的一种,它对协议的修改程度要大很多,目前还没有完全实现。
实际上,不论是分级、分层还是分片,要解决区块链的可扩展性问题都不得不面对这样一种理念:去中心化和安全性是解决可扩展性问题必须要考虑的重要因素。不能一味地为了提高可拓展性而无条件牺牲去中心化和安全性。
如何打破这种三难的局面,应该是解决可扩展性问题的关键所在。
以上为我对拓展性问题的一些思考。
网友评论