您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[国盛证券]:区块链行业-通往Web3.0的入口:零知识证明与EVM - 发现报告
当前位置:首页/行业研究/报告详情/

区块链行业-通往Web3.0的入口:零知识证明与EVM

信息技术2022-04-30国盛证券缠***
区块链行业-通往Web3.0的入口:零知识证明与EVM

Web2.0通向Web3.0征程中,有哪些实用的入口技术? 在Web2.0向Web3.0演化的过程中,数据、资产账户互通和应用程序的互操作是两个尤为关键的问题。前者涉及到不同生态之间的共识传递,这里包括了链上、链下共识传递;后者则是程序应用部署过程中的务实问题。虽然Web3.0世界如星辰大海般的浩渺,Web2.0向Web3.0进化过程中需要在实用技术、信用传导机制方面不断探索。 目前,零知识证明和EVM是当下非常实用的的两种技术,成为Web2.0向Web3.0演化的两个重要入口。零知识证明提供了一种方便实用的验证方法,使得在Web3.0之外(链外)的数据/账户能够方便取得链上验证,获得Web3.0生态的信任,为数据/资产互通提供可能。同时,目前所谓的Web3.0生态,主要基于以太坊构建,对接以太坊生态流量成为进入Web3.0世界的重要入口。因此,EVM成为极为实用的基础设施和技术。 Web2.0生态也可以通过兼容EVM,尝试与以太坊对接,实现应用程序的互操作。 零知识证明可以分担计算功能,链上只负责安全和验证。将零知识证明和区块链的一致共识结合起来,则可以降低网络成本,一台设备即可运行计算,链上用密码学的方法验证其可靠性而非重复参与计算,并且在成本昂贵的区块链网络上,验证计算的正确性要比重复计算便宜得多。因此,区块链只负责网络的共识和安全,而一些计算的工作则可以交给零知识证明,在区块链网络外部完成。整体上,不仅提升了扩展性,这种方法依旧有着区块链网络的安全性和共识。这一点在我们的《Web3.0程序该跑在哪里?》报告中有所详述。零知识证明应用方面的代表项目包括zkSync、Mina等。 由于以太坊强大的生态,其他公链来若想部署原以太坊生态应用(如DeFi应用协议),部署EVM则成为最快捷的路径。以太坊的资产账户、合约程序执行、ERC系列代币(包括ERC20标准代币和ERC721标准的NFT)等都依赖于EVM。一个部署了EVM的平台,则在代币标准、合约程序等方面对接了以太坊。这意味着,原以太坊生态应用协议可以无缝平移到新的公链部署,对于其用户来说,EVM也是的在其他公链体验Dapp是无感的,与在以太坊上操作差不多。可以这样说,部署EVM成为大多数公链的标配。 对于实际应用程序部署,EVM不光为非以太坊公链提供了一个“偷懒”而实用的入口,同时,我们不禁设想,Web2.0生态能否通过部署EVM,在数据状态、资产账户和合约程序等方面与以太坊无缝对接?能否想象这样的场景,股票交易所通过部署EVM,实现与以太坊甚至其他Web3.0生态之间的资产转移和互操作?类似Synthetix、Mirror、UMA这种区块链合成资产平台,相当于在Web3.0世界制造Web2.0资产的影子、映射。能否通过EVM,使得Web2.0资产直接、正面进入Web3.0世界?例如,直接通过邮箱、手机号直接获得Web3.0世界的通行证?无论如何,EVM都是一个非常务实的基础设施应用。 风险提示:区块链商业模式落地不及预期;监管政策的不确定性。 1.核心观点 当前,国内对Web3.0的关注度日益提高,除了认识到其开放、共享、隐私等特征外,如何基于现有的应用场景和开发能力向Web3.0迁移成为重要议题。Web3.0并非空谈,而有很多底层的逻辑和技术需要理顺。 在Web2.0向Web3.0演化的过程中,数据、资产互通和应用程序的互操作是两个尤为关键的问题。前者涉及到不同生态之间的共识传递,这也包括了链上、链下共识传递;后者则是程序应用部署过程中的务实问题。虽然Web3.0世界如星辰大海般的浩渺,Web2.0向Web3.0进化过程中需要在实用技术、信用传导机制方面不断探索。 目前而言,零知识证明和EVM是当下非常实用的的两种技术,成为Web2.0向Web3.0演化的两个重要入口。零知识证明提供了一种方便实用的验证方法,使得在Web3.0之外(链外)的数据/账户能够方便取得链上验证,获得Web3.0生态的信任,为数据/资产互通提供可能。目前所谓的Web3.0生态,基本上是基于以太坊构建的,对接以太坊的生态流量成为进入Web3.0世界的重要入口。因此,EVM成为极为实用的基础设施和技术。 Web2.0生态也可以通过兼容EVM,尝试与以太坊对接,实现应用程序的互操作。 2.通往Web3.0的入口 毫无疑问,在通往Web3.0的路上,Web2.0价值生态和数据会长期共存,并不断融合。 那么,Web2.0通往Web3.0的入口是什么?这里有两个关键问题:首先,明显壁垒存在的情况下,两个生态之间信用如何传递?例如,Web2.0生态数据获得Web3.0链上的一致共识?Web2.0资产如何与Web3.0账户打通?其次,两个生态之间的程序如果需要实现互操作,在实际应用部署中,不同的程序语言环境会带来很大的部署困难,这是落地过程中一个非常务实的问题。 图表1:通往Web3.0的两个关键问题 零知识证明为第一个问题提供了一种简单有效的解决方案,零知识证明为Web2.0数据状态(可以推广到一切链外的数据状态)和Web3.0数据共享提供有效的状态证明;也就是说,通过零知识证明,Web2.0和Web3.0之间可以彼此信任,来自前者的数据状态可以有效地获得后者链上的共识。这一点类似我们在《Web3.0程序该跑在哪里?》报告中提到的链上链下共识传递。 在目前所谓的Web3.0生态中,以太坊生态是绝对的主力。对接Web3.0生态,往往可以从对接以太坊生态入手。大量的非以太坊公链通过部署EVM从而分享以太坊是生态流量。 对于实际应用程序部署,EVM不光为非以太坊公链提供了一个“偷懒”而实用的入口,同时,我们不禁设想,Web2.0能否通过部署EVM,在数据状态、资产账户和合约程序等方面与以太坊无缝对接?能否想象这样的场景,股票交易所通过部署EVM,实现与以太坊甚至其他Web3.0生态之间的资产转移和互操作?类似Synthetix、Mirror、UMA这种区块链合成资产平台,相当于在Web3.0世界制造Web2.0资产的影子、映射。能否通过EVM,使得Web2.0资产直接、正面进入Web3.0世界? 零知识证明、EVM是Web3.0生态中,非常实用的两种技术,也是有望在Web2.0、Web3.0之间架起“传送门”。 3.Web3.0两个实用技术:零知识证明和EVM 本章节分别就零知识证明和EVM做了介绍,零知识证明典型的案例包括zkSync、mina等项目,EVM几乎成为非以太坊公链的标配,最近兴起的包括Cosmos生态的EVMOS和分布式存储项目Filecoin的FVM虚拟机,FVM作为基于存储公链的虚拟机,还有着其他不一样的特点。 3.1.零知识证明(Zero-Knowledge Proof) 零知识证明(也叫做最小泄露证明)无疑是近段时间最热门的区块链行业词汇之一,零知识证明最早由MIT教授和密码学专家于上世纪八十年代首次提出。零知识证明具体是指证明者可向验证者证明某个申明的真实性而不泄露任何其他信息。如今零知识证明主要被应用于区块链领域。其出色的数学特性可以被用在很多不同的场景中。零知识证明技术仍处在非常早期的阶段。 此生动的例子可以简单阐述什么是零知识证明:假设A有一个带密码锁的盒子,他想在不告诉B真正密码的情况下,又让B相信A知道这个盒子的密码。那么他要怎么做呢? A让B写了一个全世界只有B自己知道的秘密,B写下了一张“我的小狗叫Bob”的字条放入盒子中。A通过正确的密码打开盒子后获取了此信息并告知B。在这个交互过程中,B并没有得知任何此前自己不知道的信息(盒子的密码),但A还是成功的让B相信了A知道密码。 最初人们认为证明是人们面对面沟通中的一种交互行为。随机性可以用来证明某件事听起来很反直觉。一个理想的证明不应该存在随机性和不确定性。零知识证明是对传统概念里“证明”的一次彻头彻尾的颠覆。在传统证明中,随机性完全有悖于证明者所努力的目标。证明者会努力公开全部信息流。但是一但颠覆观念,不再试图去暴露信息流,随机性所带来的负面影响就成了正面的,随机性可以被利用去隐藏想要隐藏的信息。 3.1.1零知识证明(Zero-Knowledge Proof)原理 零知识证明(Zero-Knowledge Proof)是麻省理工学院研究人员在20世纪80年代提出的一种加密方法,是可信计算广泛使用的密码学算法之一。零知识证明或零知识协议是一种基于概率的验证方法,包括两部分:宣称某一命题为真的证明者(prover)和确认该命题确实为真的验证者(verifier)。 顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄漏出去,即给外界的“知识”为“零”。零知识证明有三条性质: (1)完备性。如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方; (2)合理性。没有人能够假冒证明方,使这个证明成功; (3)零知识性。证明过程执行完之后,验证方只获得了“证明方拥有这个知识”这条信息,而没有获得关于这个知识本身的任何一点信息。 零知识的形式定义必须使用一些计算模型,最常见的是图灵机的计算模型,而作为图灵完备的以太坊来说,与零知识证明结合就催生了zkSync这样的L2应用。 3.1.2零知识证明(Zero-Knowledge Proof)的意义 从应用角度来说,零知识证明有两个非常重要的方向: 1)隐私性:零知识证明可以满足消息的隐私性。例如在区块链交易中,如果你需要证明你拥有某种尚未使用的资产,但同时又不想暴露资产的详细来龙去脉,零知识证明技术可以解决常见的区块链网络中因透明性所带来的消息泄露,例如地址和资产额度。 隐私计算是零知识证明的一个重要的应用领域。隐私是信息泄露所导致的问题,若想保护隐私,则必须通过密码学的解决方案对链上数据进行加密,让链上的不同交易之间找不出关联性。零知识证明可以验证计算而不会暴露有关输入和计算本身的任何信息,保证链上数据隐私。 在Web3.0中至关重要的一点是用户自身真正掌握身份和数据所有权。但当前区块链上所有的信息都是公开的,通过一些手段可以轻易得获取用户的信息(当然这本身也是区块链网络共识的特性)。虽然目前区块链用户尚没有广泛且强烈的隐私意识,但随着发展,这种需求在未来一定是更加迫切且长期存在的。所以要实现Web3.0的愿景,用户必须要有权力拥有自己的链上隐私。因此可以说隐私未必是必选项,但一定是可选项。 2)拓展性:若常用的区块链平台中产出新区块的验证时间很长,可直接更改为一人(节点)验证并生成证明,网络中的其他参与者都掌握快速验证该证明的方法,而不需要每个参与者都花费大量的时间来直接进行验证。 这涉及共识的成本问题,从经济学角度来看,例如以太坊,比特币等区块链网络交易成本高昂的原因在于:共识必须是昂贵的,廉价的共识一定程度上是不可信的。而其中的成本主要来自于区块链的一致共识下,若干台设备的重复计算。例如POW共识机制(如比特币、以太坊等)网络中,1000台机器做重复的计算工作,效率不会大于一台计算机的效率,但成本可以简单认为是在一台设备上处理同样计算任务的1000倍。这是所有的主流共识协议,无论是POW还是POS,为确保去中心化的共识所必须付出的成本。也就是不可能三角的束缚。 将零知识证明和区块链的一致共识结合起来,则可以降低网络成本,一台设备即可运行计算,链上用密码学的方法验证其可靠性而非重复参与计算,并且在成本昂贵的区块链网络上,验证计算的正确性要比重复计算便宜得多。 因此,区块链依旧负责网络的共识和安全,而一些计算的工作则可以交给零知识证明,在区块链网络外部完成。整体上,不仅提升了扩展性,这种方法依旧有着区块链网络的安全性和共识。这一点在我们的《Web3.0程序该跑在哪里?》报告中有所详述。 3.1.3零知识证明(Zero-Knowledge Proof)的技术及应用 zk-SNARKs