撰文:FoxTechCTO林彦熹,FoxTech首席科学家孟铉济
前言
Prover和Verifier之间的计算代理思想是零知识证明的核心内容之一,是调节证明者和验证者工作量于复杂度之间取舍的工具。不同的零知识证明算法本质的不同在于不同程度的计算代理;高度的代理虽然会使验证的计算容易,但是却可能使得证明的复杂度高,从而导致证明耗时长,或是生成的证明大小较大;反之,低程度的代理会使得验证者的开销较大。
图1:零知识证明的计算代理程度影响
Upbit将上线MINA:7月11日消息,据官方公告,韩国加密交易平台Upbit将上线MINA,支持BTC市场交易对,充值将于三小时内开始,仅支持Mina网络中的存款。[2023/7/11 10:47:08]
计算代理是什么
随着以太坊上应用和用户的扩展,以太主网上的拥堵程度不断提升,使用zkRollup进行Layer?2的扩容成为一个很有吸引力的方案,FOX就是专注于使用FOAKS算法进行zkRollup的项目。而zkRollup的可行性,本质上在于使用的零知识证明算法的原理可行性。简单来说,零知识证明算法实现的功能是使得证明者向验证者证明某件事,但又不透露任何关于这件事的信息。zkRollup的构造就是利用了这个性质,使得Layer?2的节点可以执行原本在Layer?1进行的计算,同时向Layer?1节点提供计算正确性的证明。
2亿枚DOGE从未知钱包转移到未知钱包:金色财经报道,Whale Alert监测数据显示,2亿枚DOGE (价值约2087万美元) 从未知钱包转移到未知钱包。[2022/11/28 21:05:57]
从更广义的角度来说,上述的过程我们可以理解为,由于验证者计算能力有限,所以将这部分的计算代理给了证明者来执行,证明者完成了这个任务,需要返回结果给验证者。从这个角度来说,我们可以说,零知识证明算法使得保障正确性的“计算代理”得以实现。从宏观上这种计算代理的例子可以表现为zkRollup这种形式的应用,具体到零知识算法当中,这种计算代理的思想也有各种应用。
本文主要介绍FOAKS使用的在Orion当中提到的Code-Switching所做的令证明者帮助验证者执行的验证计算过程,以及FOAKS如何应用这种技巧进行递归。从而减少了证明的大小以及验证者的开销。
“港股元宇宙第一股”飞天云动今起招股,拟发行2.715亿股股份:9月30日消息,飞天云动今日开始招股,即将成为港股“元宇宙第一股”。此次IPO发行规模不超过1亿美金,每股价格区间2.21-2.88港币,基石投资者包括浙江安吉国资、商汤科技、Tradego捷利交易宝等。飞天云动本次总计发行2.715亿股股份,招股区间为每股2.21港元至2.88港元,以此招股区间上限计算,飞天云动的募资规模至多为7.82亿港元(不计超额配售权)。
根据公告,资金用途方面,约40%预计将用于增强研发能力及改进服务及产品,约25%预计用于提升销售及营销职能,约15%预计将用于选定合并、收购和战略投资,约10%将用于未来12至36个月开发公司的飞天元宇宙平台,约10%预计将用作运营资金及一般公司用途。(蓝鲸财经)[2022/9/30 22:41:47]
为什么需要计算代理
过去一周,USDC的总供应量减少了1亿美元:金色财经报道,过去一周,USDC的总供应量减少了1亿美元,Glassnode的图表还显示,USDC的存款在周日触及16个月低点。8月初,USDC在44个Tornado Cash相关地址中冻结了超过75,000USDC,以响应美国财政部对基于以太坊的加密货币混合器的制裁。根据CoinMarketCap的数据,自宣布冻结Tornado Cash相关地址以来的两周内,USDC的市值下降了20亿美元。加密货币分析师@TheLondonCrypto上周指出,在宣布冻结后,他看到超过16亿美元已从USDC转移到其竞争对手稳定币Tether(USDT)。迄今为止,USDT尚未宣布将冻结与Tornado Cash相关的地址或任何对制裁的公开回应。[2022/8/22 12:40:27]
从系统的实用性角度来说,很多情况下计算节点的算力是有限的,或者说计算资源是很宝贵的。例如在Layer?1链上的所有计算都需要经过所有节点的共识,并且用户需要为此支付高昂的手续费。所以,在这种情况下,将本来由共识节点来处理的计算“代理出去”交给链下节点来完成,就是一种自然的想法,避免消耗链上资源。而这也正是FOX所专注的链下计算服务。
CryptoPunks:CryptoPunks NFT系列知识产权协议现已生效:8月16日消息,CryptoPunks在官方推特上表示,Crypto Punks NFT系列知识产权协议现已生效,相信此协议可以给Crypto Punks持有者带来无尽的创造力和可能性。此外,YugaLabs仍保留对此协议进行更改的权利,以保证其始终可以为社区提供最好的服务。[2022/8/16 12:28:24]
从密码学理论角度来讲,在GMR模型当中限定了证明者拥有无限计算能力,验证者拥有多项式计算能力。如果验证者也有无限能力,则零知识证明的基本性质无法满足。所以自然地,将计算向证明者一方倾斜,让证明者承担更多的计算就是很多零知识证明算法设计都会考虑的问题。
当然,为了实现这一点,我们需要特别的技巧。
CodeSwitching
这一节介绍Orion当中使用的CodeSwitching技巧。Orion和FOAKS都使用了Brakedown作为多项式承诺方案,而CodeSwitching是在Orion当中命名的有证明者代替验证者执行验证计算的过程。
在《一文了解FOAKS当中的多项式承诺协议Brakedown》一文当中我们曾经介绍过,验证者的验证计算为以下的过程:
现在如果令证明者承担这部分计算,则证明者除了执行这些计算,还要附上证明值来证明自己的计算是正确的。
做法是将上述等式同样写成R1CS电路:
之后使用Virgo算法进行验证。
FOAKS当中的计算代理
在FOAKS当中同样使用类似的技巧完成计算代理,值得一提的是,FOAKS由于使用了Fiat-Shamirheuristic技巧实现了非交互式证明。想要了解更多,读者可以参考《如何将交互式证明改造为非交互式?Fiat-ShamirHeuristic!》。所以FOAKS的挑战生成和Orion所使用的CodeSwitching方法不同,电路当中也需要加入新的等式:
这样之后FOAKS当中的证明者同样生成了代理验证者进行验证的计算证明。而对于验证证明的过程,FOAKS利用算法自身进行迭代,这也是FOAKS实现递归的关键内容。具体内容见《如何设计出一种精妙绝伦的证明递归方案》。
通过一定次数的迭代可以使得证明的大小被压缩,从而极大降低验证者的计算负担以及通信复杂度。这就是FOAKS这个零知识证明方案对FOX这条zkRollup的重大意义。
结语
zkRollup中使用的零知识证明算法的计算代理程度需要被精心设计,必须恰到好处才能使其整体达到最佳效率。而FOAKS算法通过自身迭代的递归实现了可以调节的计算代理,是为专门为zkRollup所设计的零知识证明算法。
参考文献
1.Orion:Xie,Tiancheng,YupengZhang,andDawnSong."Orion:Zeroknowledgeproofwithlinearprovertime."AdvancesinCryptology–CRYPTO2022:42?ndAnnualInternationalCryptologyConference,CRYPTO2022,SantaBarbara,CA,USA,August15?–?18,2022,Proceedings,PartIV.Cham:SpringerNatureSwitzerland,2022.
A.市场观点一、宏观流动性货币流动性改善。市场等待?5?月?4?日美联储议息会议,预计加息?25?个基点,大概率是最后一次加息。美国银行危机继续加剧,货币政策转向或加快,年内有望实现降息.
1900/1/1 0:00:00DeFi数据1、DeFi代币总市值:469.59亿美元 DeFi总市值及前十代币数据来源:coingecko2、过去24小时去中心化交易所的交易量19.
1900/1/1 0:00:00政策公告中央财经委员会会议:要把握人工智能等新科技革命浪潮坚持以实体经济为重据新华网报道,中共中央总书记5月5日下午主持召开二十届中央财经委员会第一次会议.
1900/1/1 0:00:00最近,NFT交易市场Blur宣布了一项针对NFT的新借贷协议BlurLending,又名Blend,让NFTfi市场又搅起了波澜.
1900/1/1 0:00:00原文标题:《Time,slots,andtheorderingofeventsinEthereumProof-of-Stake》原文作者:GeorgiosKonstantopoulos、Mike.
1900/1/1 0:00:00文|Juny??编辑|VickyXiao进入2023年以来,科技界里彷佛没有了大事,只剩下了人工智能.
1900/1/1 0:00:00