Starcoin:为什么我们需要 Layer 2

Published at December 2, 2022 By Starcoin.

img

区块链行业经过这些年的发展,已经在加密货币(Cryptocurrency)以及去中心化金融(DeFi)方向上取得了初步的验证,各种应用的雏形已经具备,但如何让区块链技术被大规模用户采用,是当前业界最需要解决的问题。

我们进一步拆解这个问题,可以得到两个问题:

  1. 区块链如何支撑大规模用户?也就是区块链的扩容难题。
  2. 区块链如何支撑应用的构建?也就是区块链和应用的关系。

区块链如何支撑大规模用户

区块链的最关键目标是实现去中心化,保证无准入(Permissionless),实现一个“自举”的软件系统,作为基础设施无差别服务于所有人,我们把这样的系统称为 Layer 1

Layer 1 的关键特性是“自举”,它的**最终确定性(Finality)**只依赖自己内部的共识系统,不依赖外部的裁判,这种设计同时也带来了扩容难题。

当前解决扩容难题的关键思路有两个:

  1. 采用新的技术,尝试构建新的 Layer 1,比如改进共识,分片,多链框架,并行执行等,在去中心化,安全,扩展性三方面做不同的取舍。
  2. 将交易的执行从 Layer1 迁移到其他层,从而实现扩容。进一步演化出模块化区块链的思路,将区块链从一个单体的架构拆分成多个职能模块,由不同的系统来提供。

关于区块链的“层(Layer)”应该如何划分,业界并没有达成共识。

但我们这里可以给一个广义上的定义:

Layer 2 是指通过 Layer 1 来实现最终确定性,从而保证安全的区块链扩容技术方案。它可以包含自己内部的共识机制,也可以依赖外部系统来实现共识,关键是它的执行结果可以在 Layer 1 上通过仲裁机制被推翻。

而以上两个方向探索的成果是可以结合的。

区块链如何支撑应用的构建

如果我们解决了区块链的扩容难题,还需要丰富的应用来吸引大规模的用户进入去中心化的世界,这也是业界从 CryptoCurrency 叙事转向 Web3 叙事的主要原因。

Web3 和区块链的关系业界尚有争论,但我们认为如果 Web3 的应用是去中心化应用,它一定需要区块链提供的结算和仲裁能力。

而去中心化应用(DApp)如何构建在链上,业界主要有几个探索方向:

  1. 应用直接通过智能合约实现,运行在通用的智能合约 Layer 1 上,从而也可以迁移到 Layer 2 的执行层。
  2. 应用通过一条专门的应用链实现,在链上实现应用逻辑,内部包含一套共识机制。
  3. 应用构建在 P2P 网络上,表现为一个去中心化协议,并且使用已有的 Layer 1 作为共识层。

方案1中所有应用运行在同一个全局智能合约世界中,应用之间没有隔离,容易保证组合性,但会竞争同一个 Layer 1 的容量。

方案2虽然实现了应用的隔离,但启动成本比较高,依然有 Layer 1 的扩容难题。

我们认为最终的 Web3 应用会以方案3的方式构建出来,而 P2P 网络和链结合有两个难点:

  1. Layer 1 的异步确认机制,很难直接给 P2P 网络提供结算能力。
  2. 生态下,应用直接构建在 Layer 2上会造成应用生态的割裂。

Starcoin 的 L2 解决方案设计

基于上面的分析,我们发现当前需要这样一个L2的协议:

  1. 它是一种分层模块化的扩展方案。
  2. 它通过一层抽象,弥合多之间的差异,为 Web3 应用提供统一的执行环境和结算协议。

而这就是 Starcoin 的下一个阶段 L2 的目标。