StarkWare根据客户优先事项的不同,提供了一系列数据可用性(DA)模式供客户选择。
用于STARK证明的数据可用性有三种方式,在实际操作中可以按需选择:
— Rollup:账本直接在区块链上发布。
— Validium:由一个数据可用性委员会(DAC)保障账本安全,只在链上存储一个哈希值。
— Volition:有多个app可以让用户为每一笔交易选择DA模式——Rollup还是Validium。
无论使用哪种DA模式,所有交易的有效性都由STARKs保证。
截至2022年11月,StarkEx已结算交易超过7500亿美元,已结算以太坊上交易2.7亿笔。在NFT领域,StarkEx为ImmutableX和Sorare等应用程序提供支持,已铸造NFT超过8500万个,价格比直接在以太坊上操作便宜1000倍。基于STARK的技术正在扩展以太坊。例如,仅在一周内,StarkEx运行的交易数量是以太坊的1.6倍(StarkEx上1200万笔,以太坊上750万笔),而占用的以太坊区块空间还不到0.1%。与此同时,它还为用户提供了与直接在以太坊上结算相同级别的安全性。
用户在L2(StarkEx或StarkNet)上发送交易,这些交易被批处理并发送给STARK验证器。STARK验证器知道这些交易被处理之前和之后的账本状态。证明者生成一个STARK证明,证明在执行这些交易后账本的新状态是有效的。新的状态和STARK证明被发送给链上STARK验证器。该证明的验证通过以太坊上的不可篡改的智能合约自动进行。
这种架构提供了两全其美的结果:我们既可以拥有较低的交易成本,又可仍然让以太坊作为中立仲裁员。有以太坊作为仲裁员是很好的,更重要的是还为终端用户提供了至关重要的安全保障。进行交易的用户现在可以安心交易了,因为他们的资金是受以太坊妥善保护的,一旦在以太坊上验证后,交易就是不可篡改的。用户对其资金也有完全的自我托管权。自我托管很重要,因为它可以确保用户在任何时候都可以使用自己的资金,而无需依赖任何第三方。
重要的是要强调这个证明做了什么,没做什么。该证明证实了新状态的有效性,但它并没有说明新状态是什么。所以,你需要数据可用性。如果我们只有证明,那么区块链所知道的是提交的交易是有效的,但它并不知道新的状态是什么(例如账户余额)!此数据的使用者包括这些证明所涉交易的用户。如果他们想在以太坊上提取资金,而不需要信任L2运营商,就应该向他们提供这些数据。这使用户能够完全自我托管其资金。
这里有一个类比,你的高中老师让你证明X=X,这根本无需证明。和“X实际等于多少?”这个问题相比,哪个更难回答?为此,你另需其他信息,比如X=5,或者其他值都可以。同样,在区块链上,可以将STARK证明提交给STARK验证器智能合约进行验证。验证器可以证实证明是有效的(即X=X)。但是你需要一个单独的输入告诉你X(新的账户余额)是多少。
有三种方式可以使这些数据可用。
Rollup模式确保账本的状态与证明一起被存储在以太坊上。目前使用Rollup模式的有dYdX和StarkNet L2公共网络。这里的好处很明显:人们可以只通过与以太坊区块链交互来重新创建账本的状态。这意味着,作为终端用户,你可以在以太坊上与相关的智能合约进行无需信任的沟通,即使L2系统停机,你也可以提取你的资金。
在Rollup模式下,大部分以太坊gas成本都流向了数据可用性,而不是证明验证。这是因为在区块链上存储数据是非常消耗gas的。在Validium模式下,账本信息不发送到以太坊,而是被存储在链下数据可用性委员会那里。以太坊存储这个账本信息的一个哈希值。这个数据可用性委员会由法定人数的独立成员组成,他们负责监督正确的状态更新,并保存所处理数据的副本。每个StarkEx实例都可以有各自的法定人数。StarkEx上现有应用的法定组成包括Consensys、Nethermind、Iqlusion和Cephalopod等实体。
相应的好处是显而易见的。那就是不需要支付以太坊gas费在链上存储账本信息,存储在以太坊上的唯一东西是账本信息的一个哈希值。如果你想通过与以太坊通信从L2上无需信任地提取资金,你只需要获得数据可用性委员会成员之一的数字签名即可。委员会成员将使用密码学来证明你拥有这些资金的所有权。
Validium数据可用性的另一个不那么明显的好处就是对读取区块链信息的人保密。在Rollup模式下,在提交证明时,账户余额是公开的。使用Validium模式,这些数据对区块链是隐藏的——只对数据可用性委员会可知,因为这些数据被保存在链下。这种级别的保密性支持着广泛用例,在这些用例中,交易数据模糊化是很重要的。
Volition这一数据可用性架构在交易层面可让用户在Validium模式和Rollup模式之间做选择。它在链上维护一个账本,在链下通过数据可用性委员会维护另一个账本。用户可以为每笔交易选择Validium或Rollup模式。
我们来设想一下,假如你在一个运行在StarkEx上的app里购买了一个非常昂贵的NFT,如Bored Ape或Cryptopunk。你可能想要使用Rollup模式来保护该NFT的数据安全,因为你希望将该特定交易的记录存储在以太坊上。然而,之后你还可能会购买一个非常便宜的NFT(例如某区块链游戏中的角色斗篷),在这种情况下,你会很愿意使用Validium省些钱。
如果你对STARK证明所实现的规模颇感兴趣,那么请来STARK上进行开发吧。