Cointime

扫码下载App
iOS & Android

回归算法本质,如何设计一种更好的证明递归方案?

撰文:Fox Tech CTO 林彦熹,Fox Tech 首席科学家 孟铉济

前言:在zkRollup以及zkEVM赛道所遇到的几乎所有难题,其本质都是算法问题。ZKP硬件加速之所以屡屡被提及,主要原因是当下算法普遍较慢。为了避免落入“算法不够,硬件来凑”的尴尬境地,我们应该从本质算法上解决问题。设计出一种精妙绝伦的递证明方案是解决这个问题的关键。

随着智能合约的不断发展,越来越多的web3应用逐步问世,以太坊等传统Layer1交易量迅速攀升并随时可能发生拥堵。如何在保证能获取Layer1提供的安全性的同时获得更高的效率成为了亟需解决的问题。

对于以太坊而言,zkRollup使用零知识证明算法作为底层构件,将原本需要在Layer1上执行的高昂的计算搬到链下,并向链上提供执行正确性的证明。该赛道主要有StarkWare、zkSync、Scroll以及Fox Tech等项目。

事实上,在zkRollup的设计中,对于效率有很着高的要求:希望提交的证明值足够的小,这样可以减轻Layer1的计算量。而为了获取足够小的证明长度,各个zkRollup项目都在改进算法以及架构设计,例如Fox就结合了最新的零知识证明算法开发了自己的证明算法FOAKS,来获得最优的证明时间和证明长度。

此外,在验证证明的阶段,最平凡的手段是线性的生成证明并依次验证。为了提高效率,大家首先想到的是多个证明打包成一个证明,这也就是通常提到的证明聚合(Proof Aggregation)。

直观来讲,对于zkEVM生成的证明进行验证是一个线性的过程,验证者(Verifier)需要依次验证每一个生成的证明值。但是这种验证方式的效率比较低,通讯开销也比较大,对于zkRollup的场景,更高的验证者端的开销就意味着更多的Layer1层的计算,也就会导致更高的Gas fee。

我们先看一个例子:Alice想要向全世界证明自己在本月的1号至7号都去了Fox公园。为此,她可以分别在1号至7号的每一天都拿着当天的报纸在公园拍一张照片,这7张照片打包就成为一个证明。

图1:一般意义的证明聚合方案

上面例子里把7张照片直接放入一个信封就是直观意义上的证明聚合,这在实际情况中对应的是将不同证明连接在一起并依次线性验证,即先验证第一个证明,再验证第二个证明以及随后的证明。问题是这种做法既不会改变证明的大小,也不会改变证明的时间,与一个一个去证明并验证的效果一样。如果要实现对数级别的空间压缩,那就要使用下面提到的递归证明(Proof Recursion)。

Halo2以及STARK所用证明递归方案

为了更好的说明什么是递归证明,我们回到上面的例子。

Alice的7张照片实际上是7个证明。现在考虑将它们合并起来,于是Alice可以在1号拍好照片,在2号拿着这张照片和2号的报纸拍照片,在3号再拿着2号拍的照片和3号的报纸拍照片。以此类推,Alice在7号拿着6号的照片和7号的报纸拍下最后一张照片,而其他小伙伴在看到7号的这最后一张照片,就可以验证在1~7号Alice都去了公园。可以看到,之前的七张证明照片,被压缩成了一张。而在这个过程中的一个关键技巧,即是“包含照片的照片”,相当于将之前的照片以递归的形式嵌套进了之后的照片当中。这跟把很多照片放一起再拍个照片是不同的。

zkRollup的递归证明技巧可以大幅压缩证明大小。具体来讲,每一笔交易都会生成一个证明,我们设原始的交易计算电路为C0,P0为C0的正确性证明,V0为验证P0的计算过程,证明者(Prover)将V0也转化为对应的电路,记作C0’。此时,对于另一笔交易的证明计算过程C1,就可以将C0’和C1的电路合并,这样一来,一旦验证了合并后的电路的正确性证明P1,就相当于同时验证了以上两笔交易的正确性,也就是实现了压缩。

而回顾上述过程可以发现,其实压缩的原理在于将验证证明的过程又转化为了电路,然后生成“对于证明的证明”,所以从这个角度来说,是一种可以不断向下递归的操作,因此也被成为递归证明。

图2:Halo2与Stark所使用的递归证明方案

Halo2与STARK所采用的Proof Recursion方案能够并行生成证明,并将多个证明进行合并,使得验证一个证明值的同时可以验证多个交易执行的正确性,那就能够压缩计算的开销,从而极大的提高系统的效率。

然而,这样的优化仍然停留在具体的零知识证明算法之上的层次,为了进一步提高效率,我们需要更底层的优化和创新,Fox设计的FOAKS算法通过将递归的思想应用在一个证明的内部做到了这点。

FOAKS所使用的证明递归方案

在Fox Tech是一个zkEVM-based的zkRollup项目。在它的证明系统中,同样使用递归证明的技巧,但是内涵与上述递归方式有不同之处,主要的区别是Fox是在一个证明的内部使用了递归(Recursion)的思想。为了表达出Fox所使用的递归证明的那种不断将要证明的问题约化,直到约化后的问题足够简单的核心思想,我们需要再举一个例子。

在上面的例子,Alice通过拍照证明自己在某天去了Fox公园,于是Bob提出了不同的建议,他认为证明Alice去过公园的问题可以被约化为证明Alice的手机去过了这个公园,而证明这件事又可以被约化为证明Alice手机的定位在公园的范围里。因此,为了证明Alice去过这个公园,她只要在公园的时候用她的手机发送一个定位就行了。如此一来证明的大小就从原本的一张相片(一个很高维的数据)变为一个3维的数据(经纬度和时间),有效的节约了成本。这个例子并不完全恰当,因为也许有人会质疑Alice的手机到过Fox公园不代表Alice本人到过,但是在实际的情况中,这个约化过程是数学形式上严格的。

具体而言,Fox的递归证明的用法是在电路层面的递归。在进行零知识证明的时候,我们会将要证明的问题编写成电路,接着通过电路计算出一些需要满足的等式。而与其展示这些等式是满足的,我们再次将这些等式编写成电路,如此往复,直到最后要证明满足的等式变得足够简单,我们便能轻松的直接证明了。

从这个过程当中我们可以看出,这么做更贴近“递归”的含义。值得一提的是不是所有算法都可以使用这个递归技术,假设每一次递归会将复杂度为O(n)的证明变为一个O(f(n))的证明,而这个递归过程本身的计算复杂度是O(g(n)),则递归一次后总计算复杂度就变为O1(n)=O(f(n))+O(g(n)),两次后就是O2(n)=O(f(f(n)))+O(g(n))+O(g(f(n))),三次后就是O3(n)=O(f(f(f(n))))+O(g(n))+O(g(f(n)))+O(g(f(f(n)))),...,以此类推。因此,只有在f和g两个对应算法特性的函数满足对某个k有Ok(n)<O(n)时,这样的递归技术才能有效发挥作用。在Fox当中便有效的使用了这个递归技术压缩证明复杂度。

图3:ZK-FOAKS所使用的递归证明方案

结语

证明的复杂度一向是零知识证明应用中最重要的关键之一,证明复杂度这个性质随待证明的事情越来越复杂会变得越来越重要,特别是在像zkEVM这样的巨型ZK应用场景中,证明的复杂度会对产品的性能与用户的体验造成决定性的影响。而在众多降低最终证明的复杂度的方法中,对核心算法的优化最为重要,Fox在最前沿算法的基础上设计出了精妙绝伦的递证明方案,并利用这项技术打造出最适合于zkEVM的ZK-FOAKS算法,有望成为zkRollup界的性能担当。

参考文献

  1. https://blog.csdn.net/weixin_44383880/article/details/126338813
  2. https://blog.csdn.net/freedomhero/article/details/126727033
评论

所有评论

推荐阅读

  • TON基金会:已开启Open League第二赛季

    TON 基金会在 Telegram 官方频道宣布在 5 月 2 日开启 Open League 第二赛季。第二赛季的参赛项目为:KINGY、PUNK、STON、DFC、RAFF、FNZ、JETTON、GRAM,以及新加入的 JVT、ANON、WEB3、REDO、BTC25。所有参赛者可获最高 25K Toncoin LP 奖励。 第二赛季的规则更新包括:赛季缩短至 2 周;排行榜简化为应用程序、代币主要和次要联赛。

  • 某地址五小时前从Maker多签地址处收到750枚MKR随后全部充值进币安

    据链上数据分析师@ai_9684xtpa监测,地址0x1cC...A5825五小时前从Maker多签地址处收到750枚MKR(价值208万美元),随后全部充值进币安。该Maker多签地址曾在03.17-04.21期间通过Wintermute以均价3280美元出售9043枚MKR,总价值2966万美元。

  • FTX前高管Ryan Salame同意放弃价值590万美元的巴哈马房产作为赔偿金

    5月3日消息,FTX Digital Markets 前联合首席执行官 Ryan Salame 同意转让自己位于巴哈马的数百万美元财产,作为其在一起刑事案件中认罪协议的一部分。 根据 FTX Trading Ltd 及其关联债务人于 5 月 1 日向美国特拉华州破产法院提交的一份动议,Salame 已同意放弃他在巴哈马价值 590 万美元的房产。 Salame 于 2023 年 9 月对刑事指控认罪,该认罪协议要求其向债务人支付 560 万美元的赔偿金。Salame 提议将自己拥有的一处住宅转让给 FTX Digital Markets Ltd.,而不是支付现金,以满足赔偿要求。 此前消息,FTX 前高管 Ryan Salame 在承认刑事指控后将于 5 月 28 日在纽约法庭被判刑。据悉 Ryan Salame 于 9 月承认共谋非法政治献金以及共谋经营无证汇款业务的罪名。

  • Bitwise BITB持仓市值跌破20亿美元关口

    Bitwise官方数据显示,截至当地时间5月2日,其现货比特币交易所交易基金BITB持有32,919.95枚BTC,较前一交易日未发生变化;但随着比特币价格下跌,其持仓市值已跌破20亿美元关口,当前触及1,948,327,880.49美元。此外,当前BITB流通份额为60,390,000份,较前一日也未发生变化。

  • 香港交易所公布虚拟资产ETF证券庄家信息,包括巴克莱亚洲、招商证券(香港)等

    香港交易所在发布的嘉实、华夏、博时HashKey三家虚拟资产ETF交易安排最新通告中披露了证券券庄家信息,其中显示: 1、嘉实比特币现货ETF及嘉实以太币现货ETF的证券庄家包括ABN AMRO Clearing Hong Kong Limited、巴克莱亚洲有限公司、招商证券(香港)有限公司、中信里昂证券有限公司、Eclipse Options (HK) Limited 、以及Optiver Trading Hong Kong Limited; 2、华夏比特币ETF 及华夏以太币ETF 的证券庄家包括ABN AMRO Clearing Hong Kong Limited、巴克莱亚洲有限公司、中信里昂证券有限公司、Eclipse Options (HK) Limited、VivCourt Trading HK Limited、以及Optiver Trading Hong Kong Limited; 3、博时HashKey比特币ETF 及博时HashKey以太币ETF的证券庄家包括巴克莱亚洲有限公司(特许证券商:Jane Street Asia Trading Limited)、Eclipse Options (HK) Limited、VivCourt Trading HK Limited(特许证券商:Vivienne Court Trading Pty. Ltd.)、以及Optiver Trading Hong Kong Limited。 按照香港交易所在相关通告中称,有关交易所參与者已获发证券庄家许可证,于同日开始生效,为交易所买卖基金提供庄家活动,有关证券庄家必须遵守证券庄家责任 及交易所规则的证券庄家规例。

  • Dogechain将于6月1日之前关闭其钱包服务

    第2层扩展解决方案Dogechain宣布将于下个月关闭其钱包服务。Dogecoin的开发者之一Mishaboar社交媒体平台X上表示,确保在6月1日关闭之前将DOGE从Dogechain钱包中移出,并保留钱包私钥的副本。

  • DefiLlama创始人:The Block有关“friend.tech将于5月5日空投代币”报道系假消息

    DefiLlama创始人0xngmi在X平台发文表示,The Block似乎被friend.tech官方发布帖子下的诈骗回复所误导,将其当作事实报道。 此前消息,The Block报道称,friend.tech计划在周日向数千名用户空投价值500万美元的FRIEND代币,这比原计划晚了几天。这些代币将于5月5日分发至6000个钱包。

  • BTC突破59500美元

    行情显示,BTC突破59500美元,现报59501.09美元,日内涨幅达到3.67%,行情波动较大,请做好风险控制。

  • Jack Dorsey的Block公司计划购买更多比特币

    Jack Dorsey的支付公司 Block已经开始实施美元平均成本(DCA)计划,以增加其已经相当可观的比特币(BTC)储备。Block公司于4月份开始使用每月比特币相关毛利润的10%购买额外的比特币,并计划在2024年剩余时间内每月都这样做。 根据第一季度的财报,Block 公司的比特币毛利润为 8000 万美元。如果这一利润水平持续到今年下半年,那么根据这一计划,该公司的资产负债表将再增加价值 2400 万美元的比特币。 Block 公司已经持有大量比特币,在 2020 年 10 月购买了 4709 枚比特币,在 2021 年初又购买了 3318 枚代币。按照今天约 5.9 万美元的价格计算,这些比特币现在价值约 47 亿美元。

  • Base宣布将推出Onchain Summer II,提供200万美元奖励

    据官方消息,Base 宣布将推出 Onchain Summer II,邀请构建者、创作者、品牌和艺术家共同参与创建。从 6 月 3 日开始到 8 月结束,Base 及其合作伙伴将提供超过 600 枚 ETH(200 万美元)的奖品、grant 和 gas 积分。感兴趣的用户可提交项目,有机会在 Onchain Summer 上展示。 此次 Onchain Summer 将以为期一个月的在线黑客马拉松拉开序幕,该活动由 Base 及其合作伙伴主办。之后在 7 月和 8 月,Coinbase 将展示简易上链的日常体验。 去年 8 月消息,Coinbase 宣布 Onchain Summer 一系列活动品牌,包括 Coca-Cola、Atari、OpenSea、Pixelmon 和 Showtime 等。Coinbase 副总裁 Max Branzburg 表示,Onchain Summer mint 活动的主题将聚焦于「艺术、音乐、游戏」等方面。