数据可用性模式

‌ StarkEx支持两种数据可用性模式:ZK-Rollup和Validium。 每个应用程序都可以选择自己更倾向的模式。 下面,我们将描述这两种模式,并讨论每种模式的优缺点。

ZK-Rollup

在ZK-Rollup模式下,所有相关数据用于恢复L2余额Merkle Tree并作为调用数据发布在链上。 这是由Cairo程序强制执行的; ZK-Rollup模式下的Cairo程序输出,除了已证明的新状态外,还包括在先前状态下,用户的余额变动的完整列表。

为了减少调用数据使用量(从而减少Gas),StarkEX不会发布所有已完成的链上交易,而只是发布余额更改。 例如,如果Alice转移给了Bob 500 USDC,然后又从Charlie 那里获得了200 USDC,那么我们将只发布Alice的新保险库,与以前的状态相比,负数为300USDC。 当大做市商仅使用几个保险库进行大宗交易时,这种优化在现实场景中非常有效。

ZK-Rollup模式的优点是免信任性逃生事件中收回用户资金所需的所有数据都在区块链上-没有其他额外的信任假设。

注意:免信任会产生额外的成本:在ZK-Rollup中,每个保险库的成本在批次中已更改(调用数据的Gas成本)。 实际上,这意味着对于更改了几千个或更多个保险库的批次,状态更新事件中花费的大部分Gas都将花费在ZK-Rollup数据可用性解决方案上,而不是在证明本身的验证上。

‌Validium

在Validium模式下-用户余额不会在链上发布,而是发送给几个知名且受信任方,也称为委员会成员。 仅当至少达到法定人数的委员会成员来签名状态更新时,状态更新才有效并在链上被接受。 具体来说,他们签名表明他们知道所有新的保险库余额,以此他们确定新状态,正如可用性验证器所执行的。

Validium的一个优点是它的成本:使用此模式无需支付链上数据的费用。 状态更新仅需验证证明的费用。

另一个优势是隐私:用户的余额信息是由受信方委员会秘密存储的,而不是公开存储在区块链上的。