有效性证明与欺诈证明的反击

介绍

最近几个月,人们对基于防欺诈(FP)的可伸缩性框架Optimistic Rollup(OR)产生了浓厚的兴趣。StarkWare我们正在实施有效性证明(VP),因为它们比FP更安全。这篇文章指出了VP相对于OR的一些其他好处,并纠正了有关VP以及对StarkEx(StarkWare的基于STARK的VP可伸缩性引擎)的常见误解。

特别是,与OR相比,VP是:

  • 从根本上讲更安全
  • 提款的资金效率提高1000倍
  • 更具扩展性(链上)
  • 在计算上至少同样有效

安全

在我们之前的分析中,我们将VP(其中状态转换严格在有效状态之间发生)与OR(允许任何状态转换(因此:乐观))进行比较,参与者可以提交欺诈证明,即无效状态转换。我们的分析实质上是一项安全性分析,并指出了对OR的明确定义的攻击,这种攻击导致所有资金从OR中被盗(其他可能的攻击继续进行审议)。为区块链提供的基础架构解决方案必须具有足够的弹性,以承担金融世界的全部负担,在金融世界中,每天都会交易$T。VP和OR如何完成这项任务?由于从OR窃取资金的成本与赏金的大小无关,因此一旦有实质性价值,理性的代理商就必定会破坏该系统。相比之下,无论赏金多大,VP都不能被转移到无效状态,资金也不能被盗。对于大价值金融系统,VP是坚固的,否则可能会破裂。

还可以根据数据的作用及其不存在的含义来分析安全性。在OR中,数据所起的作用比在VP中要危险得多。在没有数据的情况下,OR中的资金可能会被盗-因此,当前的设计中心化在链上DA。在VP中,使用链上数据(即ZK-Rollup),资金与第1层本身一样安全。在带有链下数据的VP中,资金只能被冻结,而不能被盗。

资本效率

加密货币流动性的一个痛苦问题是与资金提取相关的延迟。在OR中,标准提款窗口为〜1周 -提交欺诈证明的预期持续时间(安全参数)。在VP中,标准撤回窗口约为10分钟(可能还要少得多,需要额外的软件和硬件改进),这是产生证明最新计算完整性的证明的持续时间。因此,OR的标准提款窗口比VP的标准提款窗口长1000倍(1周/ 10分钟〜1000)。无论使用资本效率还是期限来衡量,使用OR时都必须支付这1000X的罚款。

我们之前曾描述过一种不信任的快速提款机制,其中,想要迅速提款的用户,向流动性提供者签署了有条件的付款(即IOU)以用于链下资金,然后又以网络速度同样地付款了。从流动性提供商的“ cookie罐”智能合约中提取链上金额。流动性提供者可以定期用其链外余额中增持的资金补充其“饼干罐”。

快速提款可用于VP和OR。但是对于OR,流动性提供者需要在其“ cookie罐”中增加1000X的资本,因为它需要处理在窗口长1000倍的时间内收到的请求。该比率与我们在确定“饼干罐”所需的流动性的算法中所做的任何假设无关:它是基于预期的提款额,还是仅基于提现减存款额;它是基于峰值流动性需求还是仅基于某种平均/可能的情况。

不幸的是,快速取款并不总是可行的选择。当处理不可替代资产(或简单的较小的可替代性集合)时,它们是不可能的(或者可能会更昂贵):

  • 不可替代令牌(NFT):正如Vitalik首次描述的那样,如果将有价值的加密货币猫叫她的Mitzi存放在链下,则其所有者不能要求在链上接收它,因为其中只有一个Mitzi。世界。
  • 屏蔽交易:在某种程度上,零现金式的承诺也是不可替代的。为了在将被屏蔽的代币移回主链(要保持被屏蔽)时激活快速取款,用户必须向流动性提供者披露特定的承诺。

在这些情况下,如果无法使用“快速提款”,则用户将恢复到标准提款窗口,VP的速度比OR快1000倍。

可扩展性(链上)

在本节中,为了将苹果与苹果进行比较,我们将仅考虑汇总系统,根据定义,这些数据在链上可用:或vs. STARK ZK-Rollup(StR)。任何将数据存储在链上的解决方案都具有链上资源消耗随汇总交易量线性增长的不良特性。链上数据包括一些状态(例如交易明细)和见证人(例如证明交易双方同意的数字签名)。OR和StR之间的区别在于,OR见证人与交易数量成线性比例,而StR用单个证明替换所有这些见证人,而单一证明则与交易数量成对数比例。重要的是,对于足够大的批次,StR的链上数据足迹明显小于OR。

更详细地讲:在StR中,见证人可以证明汇总运算符所做的检查(例如,所有数字签名均已验证),因此每批计算都需要见证人(例如,zk-proof),从而避免了在每笔交易中都附上见证人。幸运的是,在现代zkp系统中,证明的大小实际上是固定的(嗯,正如我们上面所说的,是对数关系的)。因此,随着批次的增长,证人每笔交易的摊销成本将减少。

在OR中,每笔交易都需要见证人,以使验证者能够确保正确性,因此,较大的批次没有摊销收益。此外,OR中的见证人比事务要大得多:例如,OR见证人需要包括所有用户签名¹,而VP中的见证人可以被删除(因为证明将证明他们是在链外检查的)。在透明支付中,见证人比支付本身大3到5倍;在更复杂的应用程序中(例如,受保护的交易),见证人通常比状态大10倍,有时甚至更多。

总而言之,OR会消耗更多的链上资源,因此将在StR之前达到可扩展性的上限。

通用计算开销(STARK随着年龄的增长而变得更好)

VP和OR之间经常进行一次比较,这与它们的计算开销有关:要对给定的计算在链外进行,每种方法需要多少工作量?我们将重点介绍StarkWare的STARK功能,因为这是我们当前正在实施的VP框架。

或:OR经常引用的数字是100X,因为希望有100个验证器相互监视,以确保计算正确。为了进行验证,这些验证器中的每一个都需要进行实际计算,因此需要100X。

请注意,验证者的集合越小/越预先确定,它们越容易串通,或者使局外人更容易行贿/攻击他们。

斯塔克:在这里,只有一个实体(证明者)需要进行大量计算,因为验证在计算上是微不足道的。多么琐碎?今天,人们可以使用简单的智能手机验证大量计算的证明,因此我们可以忽略验证成本。由于生成证明需要计算量,经常被证明为证明者开销的数字是10,000X。StR的现实情况是,此开销实际上约为100倍,因此与OR处于相同的水平。它只有100倍,原因如下:

  • 对于算术/代数运算,我们的计算开销已经小于100倍。我们当前使用的Pedersen哈希函数仅比本地计算贵20倍:STARK证明Pedersen哈希比直接计算Pedersen慢20倍。
  • 对于SHA-256这样的操作,确实存在相当大的开销,但是我们打算将这些哈希函数替换为STARK友好的哈希函数。我们是由以太坊基金会(Ethereum基金)资助的,并希望选定的学术密码分析专家委员会在2020年第一季度发布其建议。我们希望选定的STARK友好哈希函数比有效哈希证明慢大约100倍(例如SHA-256)计算。

最后,经常引用支持OR的一个论据是它适用于一般计算,并且将支持EVM代码,而VP则不支持。我们对用于常规计算的STARK持乐观态度。

提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢