中本聪给出的答案是信任。
SNARK恰好踩中了这个雷区。SNARK在进行多项式承诺时,采用了KZG的方法,而KZG承诺需要一个可信设置(TrustedSetup)来生成一串公共参考字符串(CommonReferenceString,CRS),进而生成证明和验证过程中的密钥。
回到我们那个成绩单的例子,家长或者公司之所以看到一个A的平均成绩,就可以判断学生学术水平优秀,是因为我们共同认可学术能力从高到低的排序是A、B、C、D。只有在这个标准下,A的成绩才有意义。
但如果学校的评分系统被黑,学术能力的排序变成了C、A、B、D呢?原本拿C的学生就会被当成优等生被优先考虑。这就造成了误判。
由此我们可以看出,这个被大家共同认可的标准的安全性至关重要。而在遵从黑暗森林法则的加密世界里,这个TrustedSetup就成了巨大的隐患。
明知如此,为什么SNARK还要坚持使用KZG方法呢?这是因为使用KZG得到的最终证明的尺寸太小了。还记得SNARK中的「S」代表什么吗?Succient(简洁)!
小尺寸的诱惑太大了,尤其是在以太坊坎昆升级之前,精简的证明尺寸为SNARK带来更好的实用性和高效性,在很长一段时间里被更多的项目所接受。所以说处处都是tradeoff。
说回来STARK,为了啃下Non-Trusted这块硬骨头,STARK采用了FRI(FastReed-SolomonInteractiveOracleProofs)的方法来进行多项式承诺。
具体来说,FRI方法将多项式进行ReedSolomon编码,以Merkle树的形式储存,并通过Oracle完成验证器和证明器之间的多轮交互,由此实现了可验证性和透明性(transparent,STARK中的「T」)。
(注:需要注意的是,这里的Oracle并不是我们在web3世界中常见的中心化或者半中心化的预言机,而是由验证器和证明器根据协议规则,在本地模拟出来的一个去中心化的虚拟实体,是一种交互证明机制。)
如果还要类比成绩单的例子,我们可以把STARK系统的多项式承诺过程看成是一个构建在链上的评分系统,通过区块链技术保证了整个系统的公正和透明。
此外,STARK证明中,验证器和证明器还可以通过使用一个公共的随机信标(RandomBeacon)来模拟交互过程,并最终打包成一个完整的证明,实现非交互式证明,获得更好的可用性和异步性。
2.3.2可拓展性
STARK的进步还表现在处理大规模复杂运算问题上的通用性和灵活性,以及它的平均证明尺寸会随着证明规模扩大而降低,形成网络效应,即「S」所代表的Scalable。
不同于SNARK采用以R1CS为代表的电路计算方式进行算术化,需要针对不同问题重新设计电路,STARK采用AIR(AlgebraicIntermediateRepresentation)的方法,是一种通用的机器计算方式,通过状态转换方程链接不同状态,几乎可以将任意计算问题抽象成一组多项式约束。
同时,由于STARK使用的FRI方法生成多项式证明时,采用了递归的结构逐渐降低多项式的次数,使得证明尺寸的增长远远慢于问题规模的增长(对数级别)。因此在处理大规模运算时具有显著的优势。
回到成绩和考试的例子中,如果我们算术化的过程比作考试,那么SNARK和STARK就分别像传统试卷和机考。
短期或者对于一所小学校来说,传统试卷便宜迅速,机考则要在软件和硬件方面做准备,看起来昂贵又麻烦。
但对于全球性成规模的考试机构来说,一台电脑可以进行不同种类不同级别的考试,题库的丰富度和随机性不再需要老师为每一次考试出题,节约了大量人力。
从长期看,随着考试人数的累积,软硬件的投入成本也会被大幅摊薄。
2.3.3抗量子攻击
除了「S」和「T」的成就,STARK还通过使用抗量子的哈希函数(如Rescue哈希,一般认为是后量子安全的,而传统的SHA-256哈希函数则被认为可能在量子计算中表现脆弱)、安全性代数问题(证明器需要证明的一些复杂代数问题,目前认为是量子计算机上也难以解决的)等方式,实现了抗量子攻击性。
讲到这里,我们不难发现SNARK是一个必不可少的短期内快速可行的解决方案。
但把时间拉长,随着交易量的增长,计算复杂度的爆发,以及人们越来越清醒的意识到,信任,实际上是加密领域最昂贵的奢侈品时,STARK的优越性会越来越凸显。
这一点目前在工业界也逐渐显露。使用SNARKs的头部应用ZkSync推出的Boojum版本,就已开始探索由SNARK向STARK的逐渐转变。
而以会整活著称的Polygon,也早早转向STARK,今年升级的证明系统Plonky3,便是基于PolygonLabs与StarkWare的最新共同研发的CircleSTARK。
CircleSTARK是基于STARK更新的新一代ZK证明协议,由于巧妙的引入了圆曲线(CircleCurve),成功的将小素数域M31应用到了证明系统中,促使证明效率大幅提升。
在ZK证明系统中,素数域扮演着至关重要的角色。正是在素数域上进行运算,证明才得以实现。
素数域的选择代表着效率和安全性的平衡。素数域越小,所需的运算量越小,效率越高。
另一方面,大的素数域通常代表着更高级别的安全性,这也是为什么过去STARK和SNARK都采用大素数域的原因。
而CircleSTARK的创新性就表现在,通过结合圆曲线的特殊结合使用了M31这种小素数域,在提升证明效率的同时,成功保障了后量子安全性。
StarkWare方面目前推出并开源了基于CircleSTARK的新一代证明器Stwo,预计Stwo的证明效率将达到初代证明器Stone的100倍。
Stwo将与高级Cario完全兼容,当前基于Stone证明器的StarknetPover(SHARPProver),未来也将使用Stwo。届时Starknet生态的开发者和用户将直接受益于Stwo带来的性能提升,而无需进行任何操作。
除了提升证明速度,Polygon的联合创始人BrendanFarmer还提到,CircleSTARK的应用,最終将显著降低费用,并扩展到更多应用证明。
EliBen-Sasson更是乐观表示,CircleSTARK的推出可以视为一个重要的里程碑,最高效的证明系统将会在不远的未来面世,更多的突破和改进也将持续进行。
通过上面的分析,我们可以很清楚的看到,STARK证明系统和它的最新升级版本CircleSTARK是当之无愧的前沿力量和明日之星,作为StarkWare亲儿子的Starknet在ZKRollup的道路上更是前途无量。
但也许是好事多磨,Starknet却在很长一段时间里饱受争议。原因无他,体验和费用。
不过还好,通过StarkWare的持续努力,这些问题正在逐一变成了历史。下面我们将回顾一下Starknet近期的几次重要升级成果,以及根据路线图规划的进一步动作。
StarknetAlphav0.12.0代号量子跃迁,于2023年7月上线主网。这次优化的重点是提升网络性能和优化用户体验。
吞吐量和延迟一般被视为衡量网络性能的标准。通过优化排序器Rust化和升级Cario语言,Starknet的区块执行时间显著降低,吞吐量从v0.11.0版本的3万CSPS(Cairostepspersecond,每秒Cario步数)飙升至22万CSPS,性能得到了极大提高。
一直广受诟病的交互体验问题也得到了解决,曾经为了等待主网确认而平均长达20分钟pending状态将成为历史。
用户端在Layer2确认完成后,就算交易成功,因此交易时间缩短到10秒左右,体验大大提升。
这次被视为里程碑式的升级帮助Starknet的TVL成功突破了1亿美元,单周涨幅超过43%。
2024年1月上线的v0.13.0版本扩大了区块尺寸,计算成本大幅降低50%,数据可用性成本降低25%。
以上就是Starknet研报:Starknet蓄势待发,提升性能的全部内容,望能这篇Starknet研报:Starknet蓄势待发,提升性能可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。