Validium 是使用链下数据可用性和计算的扩展解决方案,旨在通过在以太坊主网外处理交易来提高吞吐量。 与ZK Rollup一样,Validium 发布零知识证明以便在以太坊上验证链下交易。 这样可以防止无效的状态转换并增强 Validium 链的安全保障。“有效性证明”可以有 ZK-SNARK(零知识简洁非交互式知识论证)或 ZK-STARK(零知识可扩展透明知识论证)等形式。
属于 Validium 用户的资金由以太坊上的智能合约控制。 恰如ZK Rollup一样,Validium 几乎可以提供即时提款;在主网上验证提款请求的有效性证明后,用户可以通过提供默克尔证明(Merkle-proof)提取资金。 默克尔证明验证用户的提款交易是否包含在经过验证的交易批次中,从而允许链上合约处理提款。
但是,Validium 用户可以冻结他们的资金并限制提款。 如果 Validium 链上的数据可用性管理器不给用户提供链下状态数据,就会发生这种情况:无法访问交易数据,用户将无法计算证明资金所有权和执行提款所需的默克尔证明。
Validium 和ZK Rollup之间的主要区别在于:它们在数据可用性范围内的位置不同。 两种解决方案处理数据存储的方式不同,这会对安全性和去信任产生影响。
Validium 是建立在现有以太坊链上的扩容协议。 虽然它在链下执行交易,但 Validium 链由部署在主网上的一系列智能合约管理,包括:
验证者合约:验证者合约验证 Validium 运营商在进行状态更新时所提交证明的有效性。 该合约包括证明链下交易正确性的有效性证明和验证链下交易数据存在的数据可用性证明。
主合约:主合约存储区块生产者提交的状态承诺(默克尔根),并在链上验证有效性证明后更新 Validium 的状态。 该合约还处理 Validium 链上的存款和提款。
在父链验证其有效性之前,无法完全确认在 Validium 上执行的交易。 所有在 Validium 上进行的业务最终都必须在主网上结算。 以太坊区块链还为 Validium 用户提供了“结算保障”,这意味着一旦提交到链上,链下交易就不能逆转或改变。
作为结算层的以太坊也保证 Validium 上状态转换的有效性。 在 Validium 链上执行的链下交易通过以太坊基础层上的智能合约进行验证。
如果链上验证者合约断定证明无效,则交易被拒绝。 这意味着运营商必须满足以太坊协议执行的有效性条件,然后才能更新 Validium 的状态。
二层网络扩容项目(例如Op Rollup和ZK Rollup)通过将部分交易数据发布到一层网络,牺牲了纯链下扩容协议(例如 Plasma)的无限可扩展性来换取安全性。 然而,这意味着Rollup的可扩展性属性受到以太坊主网上数据带宽的限制(因此,数据分片提议要提高以太坊的数据存储容量)。
Validium 实现了可扩展性,它将所有交易数据保存在链下并且在将状态更新传送到以太坊主链时仅发布状态承诺(和有效性证明)。 然而,有效性证明的存在为 Validium 提供了比其他纯链下扩容解决方案(包括 Plasma 和侧链)更高的安全保障。 通过减少以太坊在验证链下交易之前必须处理的数据量,Validium 设计极大地提升了主网上的吞吐量。
递归证明是一种有效性证明,它验证其他证明的有效性。 这些“证明的证明”的生成方式如下:通过以递归方式聚合多个证明直到创建一个可验证所有先前证明的最终证明,即递归证明。 递归证明通过增加每个有效性证明可以验证的交易数量来提升区块链处理速度。
通常,Validium 运营商提交到以太坊作验证用途的每个有效性证明都会验证单个区块的完整性。 而一个递归证明可用来同时确认几个 Validium 区块的有效性 — 这是可能的,因为证明线路能够以递归方式将几个区块证明聚合成一个最终证明。 如果链上验证者合约接受递归证明,则所有底层区块都会立即最终确定。
优点:
缺点:
节选文章: