简介
dYdX最近推出了基于ZK-Rollup模式下的StarkEx可扩展性引擎的永续合约平台。StarkEx既能为用户提供可扩展性和更低的gas成本,又能用来构建更好的系统:实现新的业务逻辑,包括需要依靠Layer2方案降低高昂成本的新功能。
在本文中,我们将讨论StarkEx是如何以更加高效安全的方式使用来自价格输入机制的价格信息的。
StarkEx上的价格输入机制
价格输入机制是免许可型区块链的重要组成部分,可以让去中心化应用能够使用链外数据。dYdX也不例外:它利用在其平台上交易的各种资产的喂价来追踪交易者的质押率。
但是,价格输入机制的更新成本很高。可靠的更新会聚集多个来源的数据,因此需要在Layer1上进行很多签名验证和存储操作。这种更新通常需要消耗数百万gas——如此高昂的成本最终由用户承担。
高昂的成本限制了更新频率,从而导致去中心化应用的效率降低。由于成本太高,每挖出一个区块就更新链上的ETH美元价格是不现实的。这意味着,依赖于可靠更新的去中心化应用响应价格变化的速度将变慢。当我们最需要频繁更新价格的时候,这个问题就会更加严重。这往往是人们最想要与Layer1交互、最需要获得最新价格的时候,因此会加剧链上拥堵。不幸的是,拥堵意味着价格更新频率会降低。尽管dYdX的StarkEx系统仅上线两周,但是我们已经有幸经历了一场压力测试:在2021年4月7日上午,密码学货币价格暴跌20%之多——StarkEx在不到一小时内顺利处理了1000多笔清算,每笔清算的成本略高于6000gas。
在StarkEx的帮助下,dYdX可以显著增加信息输入机的数量并提高更新频率,从而更好地保护喂价机制免受价格操控。我们目前正在使用Chainlink的价格输入机网络为我们的Layer2协议提供安全的喂价。Chainlink已与Starkware整合,将Chainlink的价格输入机制功能扩展到高性能的Layer2解决方案上。很快,其它价格输入机制提供商或将应用于部分市场。有了低成本、高频率、可信赖的价格更新,dYdX可以为交易者提供更高的杠杆率。
具体原理
首先,负责向dYdX提供链下价格信息的各方名单的具体细节已经经过哈希计算并存储在dYdX的智能合约中。交易者很快就能在dYdX的网站上看到原像,并决定是否要信任这些实体和门槛要求——具备与Layer1智能合约相同的透明性。
接下来看看我们是如何以较低成本实现高频价格更新的。首先,有资格的喂价方在链下提交经过签名的价格数据。dYdX将这些输入聚集起来,计算价格中位数。
然后,完整的签名集合和价格中位数将被发送至StarkEx。dYdX的Cairo程序会检查以下内容:
输入有效期:签名是有效的,且所有公钥都属于链上名单内有资格的喂价方
时间戳足够新
有效公钥签名的数量达到门槛要求
价格中位数计算正确
假设上述几点成立,Cairo程序就会生成一个STARK证明来证明该程序是正确执行的。这个STARK证明会被发送到链上,如果验证通过,就会在链上存储一个数。需要注意的是,每种资产每上链一批交易都会存储一个价格,与该资产的链外喂价服务提供商数量无关,与每批交易上链期间的喂价频率也无关。
就是这么简单!
该价格可以立即用于后续的链下交易,即使是在STARK证明在链上得到验证之前。这里要强调是,价格更新的正确性由STARK证明保证。这就意味着,如果某个价格与执行的结果不对应,则包含该价格的交易批次以及所有基于该无效价格的交易都将被拒绝。
关于OR和价格输入机制
不同于ZK-Rollup,OptimisticRollup要求在链上发布所有与价格输入机制相关的数据。也就是说,在OR中,gas成本随价格更新频率和链下价格提供商的数量线性增长。
总结
令人振奋的是,随着Layer2可扩展性解决方案变得越来越复杂且流行,这些方案不仅可以扩展现有的Layer1功能,还能解锁全新的功能和业务逻辑。我们希望在不久的将来会有更多去中心化应用整合StarkEx,为用户提供可扩展性更强、更安全、更可靠的实时服务。
原文链接:
https://blog.mycrypto.com/how-to-beat-an-ethereum-based-sweeper-and-recover-your-assets/
作者:??HarryDenley
翻译&校对:?闵敏?&?阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。