跳到主要内容

为什么需要 Rooch?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

方案2虽然实现了应用的隔离,但要自己负责安全,启动成本比较高,同时依然有 Layer1 的扩容难题。

方案3虽然有成熟的应用模式,也没有扩容难题,但如何和链结合是一个难题。

所以如何支撑 DApp 在区块链生态的构建,实现应用的隔离,并降低应用的启动成本,是当前 Web3 基础设施的主要任务,这也是 Rooch 的目标。