主页 > 比特币 > 正文

Marlin:Layer 0的可扩展之道

2020-12-11 16:25

关于公链的可扩展之前聊过很多次,不过多数时候探讨的是Layer 1和Layer 2的可扩展,比如分片、Plasma、ZK-Rollup、Optimistic Rollups、状态通道、侧链等。而今天蓝狐笔记关注的是Layer 0。

通过Layer 0的可扩展性会给以太坊等区块链带来什么?

Layer 0与可扩展性

节点是构成区块链网络的基础。节点记录交易、参与验证、提议区块、获得奖励等等。而这些节点要达成共识,需要保持一致性、可用性,需要相互沟通。节点之间沟通时间的长短对区块链的可扩展性具有实质性的影响。

Layer 0是节点之间传递信息的通信层。信息沟通的构建方法跟达成共识的效率直接相关。而共识的达成速度则与区块链的可扩展性和安全性相关。从这个角度,为提升区块链的可扩展性,Layer 0也是可以做出贡献的。

区块链网络跟中心化网络不同的一点是,区块链网络是无须许可的,它要考虑来自互联网本身的限制。如果是中心化企业,可以采用私人线路,通过CDN和SD-WANs等提高网络性能。而对于去中心化的网络来说,这是不现实的。

此外,在如今的加密激励体系中,挖矿节点之间存在竞争关系。一个矿工向其邻近节点共享所开采区块后,而邻近节点有动机不进一步传播该区块,因为这样可以获得一些优势。也就是说,这样的激励机制,不但没有激励某些节点加速传播其已知信息,还存在延缓信息传播的可能性。这也不利于可扩展性和安全性。

那么,上述的这些问题有没有机会解决?

Marlin的Layer 0

Marlin是枪鱼,据说是世界上游得最快的鱼。Marlin是服务于区块链的通信层,它希望在其推动下,区块链网络的速度越来越快,宛如枪鱼一般。Marlin希望通过Layer 0为区块链可扩展性的发展贡献出自己的方案。

(枪鱼据说是游速最快的鱼,Marlin.pro)

为提升区块链的TPS,一般来说,从链上角度,有两种方法,一个是增加区块容量,一个是缩短出块时间(这里暂不考虑横向的分片)。

如果采用大区块的方法,节点需要花费更长时间来验证收到的信息,这会延缓区块广播的速度;如果缩短出块时间,提高出块的速率,会面临分叉问题,其中一个原因也是受制于区块传播的速度。要想提高出块的速度,需要加速区块的传播。而目前的区块传播速度不利于提高出块速度。当人们将比特币的区块大小从1M上限修改为32M甚至2G时,或者将出块时间从10钟左右缩短到更短时间时,确实可以提高可扩展性,但是它带来更大的问题,比如全节点掉线,无法同步数据的情况增多,甚至出现区块需要重组等情况。一旦区块过大,出块时间过快,网络的一致性或可用性就出现问题,其中很重要的原因之一,就是全节点受到网络和硬件的物理条件限制,无法及时验证和广播。

相关阅读