ALI:我们研究了 ZK 的技术史,发现下一个千亿应用蕴藏其上

作者:R3PO

加密世界的焦点经历了比特币、以太坊、DeFi、NFT、元宇宙和Web3的多次变迁,唯独缺少对加密技术本身的关注,除了比特币的椭圆曲线加密算法还算有一点大众认知度,其他加密算法基本停留在研究员和开发者的自嗨中。

R3PO认为这不够去中心化,会严重阻碍Web3的进一步扩展,密码学是区块链的基础件,不应该被少数人掌握,而应走向更广阔的领域。

R3PO希望能用新的书写范式去阐述术语的含义,兼顾专业性和可读性,致力于为机构投资者、项目方发现潜藏在发展中的投资机会、创业方向和切入点,寻找到未被发掘的α收益。

近期大热的零知识证明技术仍是一个不断发展、不断革新的细分领域,但其技术本身又具备足够广阔的应用场景,因此对其进行全景梳理显得十分重要。

零知识证明技术并非新概念,细细梳理可知,迄今已经经过40年的发展,诞生出多种模型和应用。

进入Web3时代,早在2017年,V神便已经注意到ZK技术在以太坊上的使用潜力,而最近Starkware获得1亿美元的融资使其总融资额度达2.25亿,这代表机构是以公链级别的估值和潜力来看待ZK技术。这将是一个长期鏖战的领域,会暴露出更多的投资机会。

向后推演20年,R3PO认为ZK发展至少具备一个甲子的生命长度,因此描绘整个ZK的发展历程需要追本溯源,以更好地厘清其发展逻辑,寻找到下一步的潜在机会。

本系列首篇将会从零知识证明起步,超越ZK只能应用于L2领域的固有观念,带给大家全新的系统性认知。

微策略:目前为止我们还没有出售任何比特币:金色财经消息,微策略公司表示,目前为止我们还没有出售任何比特币。[2022/8/3 2:55:07]

零起步:ZK的组装过程

1982:财不外露,便分高低?

对于财富的追求自古有之,项羽就说过:“富贵不还乡,如衣锦夜行”,但太多的财富会引人觊觎,有没有一种办法,在既不暴露财富数量的同时又比较出财富的多寡呢?

1982年,后来的图灵奖得主姚期智便设想过这个问题,这就是著名的百万富翁问题,省略其数学过程,其大致运作模式如下:

Alice和Bob选择代表自己财富数量的数字i和j,取值区间在1-10之间;

Alice对i进行单向加密,并将加密后的结果k发送给Bob,Bob得到一个与i相关的新值;

Bob对k进行运算后会得到一个新值m,并将其传递回Alice此时,Alice可以判断m和i的关系。

这个过程可以继续推演,双方可在不完成信息暴露的前提下最终完成比较。

当然,以上过程并不全面,但足以说明一个问题,我们确实可以在两方之间,并且在不暴露信息的前提下进行计算,如果将两方扩展至多方,将区间扩展至更大范围,那么这就是典型的多方安全计算MPC(SecureMulti-partyComputation)问题。

百万富翁问题是ZK讨论的一个起点:

在不暴露财富信息的前提下,符合零知识的定义;

在不借助第三方进行评估的条件下,考察的是两者或者参与方之间的直接交互。

声音 | Stripe创始人:加密货币目前并不是我们商业模式的一部分:Stripe首席执行官Patrick Collison在旧金山举行的WIRED25会议上表示,虽然加密货币有很大的潜力,但这些资产目前并不是他们商业模式的一部分。他对那些坚信加密货币有用的人表示怀疑,认为大多数涉足加密货币的公司仍处于尝试这项技术的阶段。Patrick Collison的观点与他的兄弟、联合创始人John Collison不同。去年在纽约举行的Code Commerce会议上,John声称公司对加密支付的长期前景感到兴奋,并补充说加密货币在那些支付方式还没有完全建立起来的国家可以提供很多帮助。(Beincrypto)[2019/11/11]

1985:零知识证明面世?

1985年,Goldwasser、Micali和Rackoff首次提出Zero-KnowledgeProof模型,准确而言是“交互式零知识证明”模型,简单而言就是允许在多次交互的前提下,通过ZK技术来验证真假、大小。

此处的零知识并不完全准确,以Alice和Bob的互动为例,Alice和Bob可以互为验证者和证明者,但是两者间传递的信息不能和财富数量本身有关,这里的零知识是指相关性为零,而并非不传递信息。

而交互式指的是可以多次进行交互,这个过程可以反复进行,直至得出正确结果。

至此,目前所熟知的ZK技术迈出了成型的第一步,接下来的一切发展,都是在其上的删减增改。

1991:非交互式零知识证明?

当时间来到1991年,ManuelBlum、AlfredoSantis、SilvioMicali和GiuseppePersiano提出非交互式零知识证明,闻名即可知,此次升级重点是进行非交互式的证明过程,也就是在双方之间不进行交互的同时,验证一个定理、假说的真伪性,这看似很反直觉,但是有一个绝妙的例子可以说明:

声音 | 张曦:我们可以把Libra称之为区块链2.0:6月22日讯,今日,在“火讯Facebook Libra周”线上沙龙上,比特空间Co-CEO、上海交大研究生院企业导师张曦表示,回到区块链/数字货币本身,基本现在有一件事情已经很清楚了:区块链/数字货币是一个新世界。通常来讲,通向新世界的道路有两种,一种是“革命”,revolution,一种是改良,evolution。我们可以把Libra称之为区块链2.0。与密码朋克激进的“革命路线”的区块链1.0不同,Libra采取了相对温和的改良主义路线。当然,说“革命”或者“改良”都是从旧世界的视角来看。如果从革命者的视角来看,Libra就是修正主义。“改良主义”还是“修正主义”,其实是一码事儿。[2019/6/22]

Alice和Bob财富自由后变身数学家。Alice离开web2去环游web3,期间Alice继续ZK研究。

我们假设Alice能够在发现一个新定理的证明时,给Bob写一张明信片,证明她在研究中取得了新进展。

这是一个非交互式的过程,准确的说,它是一个单方向的互动:只从Alice到Bob。即使Bob想回答,他也不可能。因为Alice没有稳定的地址,在任何邮件能到达她之前就会搬走。

我们约定,只要Bob收到邮件,我们不需要查看邮件内容,就可以确定“Alice取得了研究上的新进展”这个命题为真。

非交互式零知识证明将交互次数减少到最多一次,可实现线下验证和公开验证,前者为Rollups奠定了有效性基础,后者耦合区块链的广播机制,可避免多次计算带来的资源浪费。

声音 | 野村综合研究所研究理事:区块链等新技术开拓了我们新的金融手段:据新浪财经报道,4月25日,普惠金融国际高峰论坛在北京举行,野村综合研究所研究理事桑津浩太郎出席论坛演讲表示,日本的普惠金融的体制不能原原本本的照搬到中国来,中国是一个非常广大的国家,而且中国的数字化已经远胜日本的发展程度,大数据、AI、区块链,这样的新技术开拓了我们新的金融手段,可以说已经完全超过了日本的发展情况。[2019/4/25]

至此,我们目前见到的ZK便已经成为成熟理论模型,但此时的ZK更多是数学和密码学领域的研究对象,和区块链并无太多关联,而在比特币出现后,加密技术+区块链才成为研究的方向,而ZK无疑是其中的佼佼者。

值得注意的是,中本聪本人并不排斥ZK技术在比特币网络的使用,更多的是当时的ZK技术不成熟,因此最终选择了较为安全的ECC算法,而ZK本身可以直接应用到Layer1区块链上,Zcash、Mina,以及以太坊的伊斯坦布尔升级都涉及到了零知识证明的相关领域。

一相逢:SNARK介入区块链

2010-2014Zcash:?SNARKs(Zero-KnowledgeSuccinctNon-InteractiveArgumentofKnowledge)实用化场景?

在比特币网络出现后,安全和隐私成为人们对区块链的最初认知。市场上出现了一系列基于隐私的公链和应用,如Zerocash/Zcash使用的SNARKs,以及在Monero中使用的子弹证明Bulletproofs等。

2010年,Groth实现了首个基于ECC算法的,O(1)常数级的ZK。也即ZK-SNARKs或者ZK-SNARGs。

北大教授蔡剑:区块链警醒了我们 计算机要改变:北大教授蔡剑11日参加了清华大学加密经济学研讨会,他在会上表示,区块链并不是单纯的金融技术,它警醒了我们,计算机要改变,区块链设计是去中心的,但是这个概念在社会网络上绝对不是去中心的,概念反而成为社会当中热点的中心。蔡剑也提到,政府有办法让比特币一夜之间打回原形。[2018/3/12]

SNARGs:?SuccinctNon-InteractiveArguments

SNARKs:?SuccinctNon-InteractiveArgumentsofKnowledge

从应用角度来说,此次改进在于“简洁”Succinct功能上,具体而言,SNARK致力于压缩信息本身的大小,在ZCash中,程序电路是固定的,因此多项式验证也是固定的,这使得设置只需执行一次,交易后续只需改变输入便可复用。

在2013年,Pinocchio协议提升效率至分钟级别证明,以及毫秒级别的验证时间,开销控制在300字节以内,这也是ZK-SNARKs技术真正首次落地到区块链领域。

这证明了ZK技术可以在隐私场景上发挥作用,R3PO判断后续的隐私路线会具备脱离L2单独存在的潜力,Aztec证明了隐私DeFi路线的可行性,而在tornado被制裁后,链上金融隐私仍旧是强烈的刚需,这个方向的投资机会仍未被广泛发掘,值得后续期待。

此外,隐私币项目Zerocash进一步改进了相关算法,使用的是SCIPRLab优化后的zk-SNARKs算法,在理论条件下,可以做到既隐藏付款来源、接受者和金额,并且交易可以控制在1KB以内,验证时间在6ms之内。

Mina:递归ZK压缩数据?

Mina不同于以太坊L2,其是一条L1级别的高性能公链,其运行节点只有22KB,而之所以能做到如此之小,在于其大幅度利用递归来证明ZK确认的有效性,即每一条信息都带有之前的确认结果。

Step1:zk-SNARKs证明节点有效性,只需要保存其证明结果;

Step2:通过递归调用,确保节点有效性的正确传递和检索,不需要保留所有历史数据,实现极致压缩数据的效果;

传递结果的有效性,而非保存全节点数据,这是Mina证明行之有效的手段,而在以太坊L2,ZK-Rollup可以通过打包多次交易数据,结算一次的方式完成有效性证明,而进一步推演,L2之上可以叠加L3,或者Dapp应用,这些都是ZK可以发展的细分赛道,比如dYdX目前运行在Starkex之上,以及架构在Starkware之上的L2ImmutableX,都证明ZK的使用潜力,这个赛道的价值目前仍未被全部挖掘,仍留有长期的投资价值。

至此,ZK-Rollup涉及所有的技术要件就已经基本齐备了,我们已经装备好足够的ZK基础知识,并且可以总结ZK的以下特点:

非交互式:不需要多次验证,只需一次验证就可以广播至全网;

零知识:不需要透露信息本身的特征,可在全网进行公开传播;

知识:知识不是公开、易得的信息,必须具备独特的价值,比如经济价值、隐私价值等;

证明:证明由数学手段确认,安全性经过多年研究和实践检验;

如果将这些技术特点组合起来,我们可以发现,ZK天然适合L2扩容,并且又不局限于L2,ZK技术的其他应用会在后文中持续发表,欢迎大家继续关注。

双龙会:STARK终将取SNARK而代之

ZK-STARK:开发难度以10年计的种子选手?

对比二者的差异,主要在于STARK中的S是Scalability之意,面向的是更加大型数据的复杂使用场景,但其整体上仍旧是一个正在发展中的技术路线。

本文不过多涉及具体L2之间的区别,但有一点很明显,除StarkWare之外,其他的L2项目,包括zkSync、Aztec、Loopring、Scroll等都采用的是SNARKs技术路线。

究其原因,在于STARK的开发难度过大,目前只有StarkWare有能力进行自研,但其好处也十分明显,相较于SNARK,其可承载的运算量也会更大,在运行大型数据时,其安全性会更高,比如游戏、社交、NFT等方向。

其次,STARK路线具备抗量子攻击的特性,这在未来十年具备颠覆行业格局能力的可能,比特币采用的ECC算法并不能完全具备抗量子破解的可能,如果加入zk-STARKs技术,其安全性会显著提高。

可以总结以太坊L2的格局,短期OptimisticRollup,5年后zk-SNARKs路线,10年后zk-STARK路线终将会胜出。

ZK-Rollup:数据的上探,信息的下钻?

介绍完zk-STARKs之后,L2扩容的全部技术特征便已完备,只缺少对Rollup的介绍,实际上,Rollup利用的是ZK的验证机制,而摆脱其对数据量的需求:在L1负责共识和结算的前提下,由L2负责应用的具体日常运营,用户不需要和L1直接交互,其体验会高度接近于目前的App。

更进一步的说,Rollup在完成信息的打包后,会将验证后的信息加密成知识,随后传递给L1,以攻破安全性、去中心化和扩展性的不可能三角。

总结

我们从百万富翁问题出发,由MPC问题过渡到零知识证明领域,出于经济原因,交互式的零知识证明不完全适用于链上活动,而非交互零知识证明逐渐成为主流。

随着Zcash的发展,SNARKs技术日渐应用到其中,使ZK技术从单纯的密码学研究对象变身为区块链领域中使用的工程手段,在隐私、安全、效率方面发挥自己的作用。

以太坊扩容场景,则使ZK成就了L2,Rollup技术路线战胜其他竞争对手,zk-STARKs也逐渐发展起来,有望激活挖矿、GameFi、NFT等更为普遍的使用场景。

在以太坊之外,越来越多的新模式已经逐步涌现,比如可定制模块化Rollup路线,又如刚完成1500万美元融资的Eclipse,其路线图会支持Move语言和Solona网络,以及完成3000万美元融资的Scroll,其希望建立EVM等效的ZK-Rollup。

新故事背后的驱动力是对ZK技术的认可,广泛来说,ZK是一个“大而全,长而远”的领域,大额融资消息的不断传出也说明市场对其接受度在逐步走高,但总体而言,这还是一个新领域,即使仅论其技术路线,也有“内卷”的流派,而其中的投资机会则长期存在,无论是内嵌入底层基础设施,还是落地于具体应用场景,需要我们不断去发掘。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:93ms0-0:482ms