原文:《Rollup, Validium, Volition — Where is Your Data Stored?》by StarkWare

编译:StarkNet 中文社区

概要

  • StarkWare 提供一系列数据可用性(DA)模式供用户根据优先级进行选择
  • STARK 证明的数据可用性有三种方式,都已在生产中可用:

        Rollup:账本直接发布在区块链上

        Validium:数据可用性协会 (DAC) 确保账本安全,只有哈希值保存在链上

        Volition:应用程序可用让用户自己选择每笔交易的 DA 模式,Rollup 或 Validium

  • 无论使用的哪一种 DA 模式,所有的交易有效性都会由 STARK 有效性证明保障

到 2022 年 11 月,StarkEx 已经在以太坊上结算了超过 7500 亿美元的交易量和超过 2.7 亿笔交易。在 NFT 领域,StarkEx 为 ImmutableX 和 Sorare 等应用程序提供支持,NFT 铸造量已超过 8500 万,铸造费用比直接在以太坊上铸造便宜 1000 倍。STARK 技术早已成功已应用于扩展以太坊性能。比如,StarkEx 的一周交易量是以太坊的 1.6 倍(StarkEx 为 1200 万,以太坊为 750 万),同时占用的区块空间不到以太坊的 0.1%。而这一切,同时为用户保证直接在以太坊上结算同等安全级别。

StarkWare 是如何做到的?

用户在 L2(StarkEx 和 StarkNet)上发送交易,这些交易被分批发送给 STARK 证明器。该 STARK 证明器知道这些交易处理前后的账本状态。证明器生成一个 STARK 证明,证实在这些交易执行后账本新状态的有效性。新状态和 STARK 证明将发送至链上 STARK 验证器。该证明通过以太坊上的不可篡改的智能合约自动验证。

这种架构提供了两全其美的优势,既可以拥有低交易成本,同时还让以太坊作为中立仲裁方。以太坊作为仲裁方不仅是锦上添花,还为终端用户提供了至关重要的安全性。用户可以确信自己的资金受到以太坊的保护,并且交易一旦在以太坊上得到验证就不可更改。用户还可以完全自行保管其资金。自托管非常重要,因为这确保了用户无需依赖任何第三方,可以随时使用资金。

在哪些地方需要数据可用性?

了解数据可用性之前,先了解证明可以做什么以及不可以不做什么很重要。证明证实了新状态的有效性,但并不会告诉你新状态是什么。为此,数据可用性就派上了用场。如果我们只有证明,那么区块链知道提交的内容是有效的,但并不知道新状态是什么(比如账本余额)!数据使用者包括在这些证明中进行交易的用户。如果用户想要在以太坊上提取资金,则不需要信任 L2 运营商便可获取此类数据,实现用户完全自托管资金。

可以类比为高中老师要求你证明 x 等于 x,这很容易。更难回答的是,x 实际上等于什么?这需要一条单独的信息,x 可能等于 5,也可以是其他任何数字。同样,在区块链上,可以将 STARK 证明提交给 STARK 验证器智能合约进行验证,并且验证器可以验证该证明是有效的(即 x 等于 x),但还需要一个单独的输入告诉你 x(新账本余额)是多少。

数据可用有以下三种方式。

Rollup 模式

Rollup 模式确保账本的状态与证明一起存储在以太坊上。目前 dYdX 和 L2 公共网络 StarkNet 都是使用 Rollup 模式。好处显而易见,可以仅通过与以太坊交互来重新创建账本状态。这意味着,作为终端用户,可以无需信任地与以太坊上的相关智能合约进行交互,即使 L2 系统关闭也可以提取资金。

Validium 模式

在 Rollup 模式下,大部分以太坊 gas 成本用于数据可用性上,而不是验证证明。因为在区块链上存储数据非常耗费 gas。在 Validium 模式下,账本信息不会发送到以太坊,而是由数据可用性委员会 (Data Availability Committee, DAC) 存储在链下,以太坊仅存储此账本信息的哈希值。该 DAC 由法定人数的独立成员组成,负责监督状态正确更新,并保留已处理数据的副本。每个 StarkEx 实例都可以创立自己的委员会。负责 StarkEx 上运行的现有应用程序数据可用的委员会成员包括 Consensys、Nethermind、Iqlusion 和 Cephalopod 等实体。

Validium 的好处也是显而易见,无需支付以太坊 gas 费用即可将账本信息存储在链上,存储在以太坊上的只有账本信息的单个哈希值。如果你想通过与以太坊交互,从 L2 无需信任地提取资金,只需要 DAC 中一名成员的数字签名。委员会成员用密码学来证明你拥有这笔资金的所有权。

Validium 数据可用性的另一个隐藏好处是,对于查阅区块链的人保密。在 Rollup 模式下,公众可以查阅到每个证明提交时每个帐户的余额。而使用 Validium,这些数据都被隐藏了,只有 DAC 知道,因为数据保存在链下。这种保密级别支持各种实用案例,其中对于混淆交易数据来说很重要。

Volition 模式

Volition 是一种数据可用性架构,可供在交易层级从 Validium 和 Rollup 模式之间选择。它通过将一个账本保存在链上,另一个账本保存在 DAC 中来实现这点。用户可以在每个单笔交易中选择用 Validium 或 Rollup 模式进行保存。

想象一下,你在 StarkEx 上运行的应用程序上购买了非常昂贵的 NFT,比如 BAYC 或 CryptoPunk,你就会想用 Rollup 模式来保护该 NFT 的数据,因为需要在以太坊上存储该特定交易的记录。然而,你也可能会购买一些非常便宜的 NFT,比如链游里的小道具,在这种情况下,使用 Validium 来节省成本就是很明智的选择。