ISC:zkVM:比zkEVM更普适的通用扩容方案

本文将对比zkEVM和zkVM在技术上的差异,并介绍RISCZerozkVM及其即将推出的Bonsai网络。关于RISCZero,它是一个通用zkVM,RISCZerozkVM是一台可验证的计算机,其工作方式类似于真正的嵌入式RISC-V微处理器,使程序员能够像编写任何其他代码一样编写ZK证明。支持Rust和C++编写ZK证明,并支持任何编译为RISC-V的语言。

背景

随着当前智能合约的复杂性增加,dapp越来越先进,区块空间越来越稀缺,运行链上代码的成本也在增加。换句话说,如果你的DeFi逻辑变得计算昂贵,或者你的链上游戏逻辑需要额外的计算能力,你应该考虑使用zkVM或zkEVM,将复杂的应用逻辑移到链外。

在这篇博文中,我想解释在这种情况下,一个字母所能带来的不同。我将从EVM的概述开始,然后是zkEVM,再接着是zkVM。zkEVM允许你在链外传输Solidity应用程序,而RISCZero的zkVM和即将推出的Bonsai网络允许你使用Rust编写可扩展的、与链无关的代码。

Matter Labs将对时间戳、编号和哈希值在zkSync Era上的行为方式进行重要更改:8月8日消息,Matter Labs开发者关系工程师Antonio在Github表示正在对 block.timestamp、block.number 和 blockhash 在 zkSync Era 上的行为方式进行重要更改。目前 block.timestamp、block.number 和 blockhash 分别是返回 L1 批次的时间戳、编号和哈希值,此次更新完成后,将分别返回 L2 区块的时间戳、编号和哈希值。

Antonio 表示,许多应用需要更高的时间 fidelity,这可以通过引用 L1 批次来实现。通过这些更改,合约将能够在 L2 区块级别计时(约每隔几秒生成一次),这些信息已经在 API 上提供,但随着新的更改,开发人员将能够直接在智能合约中进行访问。当前我们正在开发此更改,将在转移到测试网和最终主网之前在内部测试更新过程。[2023/8/8 21:32:37]

快速了解EVM:

zkSync:将在未来几天和几周内重新启动LIBERTAS OMNIBUS NFT的发行:7月17日消息,zkSync 发推称,LIBERTAS OMNIBUS NFT空投对象的资格标准是地址至少与前100多个zkSync NFT收藏中的一个有交互。然后严格根据上述资格标准以编程方式生成所有179,365名收件人。然后按字母顺序对名单进行排序,为批量分发做好准备。由于排序的原因,第一批的地址打分都是以0x0开头。由于是自动选择,179,365份名单对是随机的。但是,zkSync承认使用“随机”一词来描述初始分发批次是不准确的。对于造成的混乱,深表歉意,并感谢指出该问题的社区成员。zkSync将在未来几天和几周内重新启动LIBERTAS OMNIBUS NFT的发行,并在巴黎EthCC上测试IRL铸造。

此前消息,zkSync称NFT空投针对主网的前1万名用户,剩余用户将有资格在EthCC之后获得。[2023/7/17 10:59:05]

EVM是EthereumVirtualMachine的缩写,你可以把它看作是执行Ethereum上所有交易的软件。

zkTube主网模拟测试已启动,并完成PayTube钱包功能升级:据zkTube Labs官方消息,zkTube主网模拟测试已于8月21日启动,并完成PayTube钱包功能升级。此前PayTube钱包支持Layer 1与Uniswap V3闪兑,新版本增加了Layer 2转账功能,并开启Dapp合作申请通道,计划下一版本在PayTube钱包中将支持NFT与GameFi协议。

此外,为了本次主网模拟测试活动的顺利进行和钱包功能的优质体验,已安装PayTube钱包的用户,需重新下载最新版本,详情见官方推特内容。[2021/8/21 22:28:36]

Findora将基于腾讯云提供零知识分类帐产品“zkLDB”:7月2日消息,去中心化金融公链项目Findora宣布与腾讯云建立合作关系,Findora将很快基于腾讯云提供零知识分类帐产品“zkLDB”。该产品将支持加密交易(encryptedtransaction)和资产发行、处理、验证和存储。Findora的zkLDB还包含一套完整的合规隐私保护审核工具。另外,腾讯和Findora将合作提供多种API和SDK,以满足银行、投资管理和游戏等行业的需求。

注:Findora是一个基于密码学的金融公链,由计算机密码学专家和美国斯坦福大学校产基金首席执行官组建,旨在支持众多应用,包括开放式银行、资产证券化、交易和点对点贷款。不仅为企业提供数据隐私服务,同时允许审计以符合财务规则。(MarketWatch)[2020/7/2]

每个节点通过运行这个软件来参与以太坊网络。在以太坊中,交易是由代码表示的,其格式称为EVM字节码,代表EVM的指令。大体上,这些指令面向数学计算,来获取区块链信息,以及交换金钱。世界上有许多虚拟机,每一个都有自己的专长。以太坊的虚拟机很关键,因为它更适合应用于去中心化的金融。

ETH 2.0项目负责人称阶段0预计很快推出 V神明确反对zk-STARKS应用:ETH 2.0项目负责人Danny Ryan近日在reddit上解答ETH 2.0有关进展和功能时表示,ETH 2.0的开发当前集中在“信标链”的构建上,这是ETH 2.0的基础。但是阶段1的开发正在逐步进行,该阶段引入了用于与信标链连接的“分片”的分片链,并且阶段0发布预计将很快推出。此外,Ryan还表示,团队的目标是让整个以太坊社区参与进来,并与尽可能多的客户建立联系。

而针对有人提出的量子保护隐私保护技术“ zk-STARKS”的“ Etherium 3.0”的想法,Vitalik Buterin本人在reddit上明确表示不支持。V神称,目前,希望以太坊的基本结构在ETH 2.0发布后不会改变。(注:zk-STARKS是一种区块链隐私解决方案,该方案能够将大量信息压缩成名为starks的小样本并使用零知识来保护信息的隐私。)(Coinpost)[2020/6/1]

什么是「zk」,为什么每个人都把它放在其他词的前面?

最近最酷的趋势之一是把「zk」放在单词的前面,这两个字母代表零知识证明。维基百科上有很多例子。如果你对它们不熟悉,我建议此时花几分钟时间读一读零知识证明的例子。

长话短说,零知识证明能够实现可验证的计算。你可以把它看作是一种确保哪些计算被完成,以及计算结果是正确的方法。计算机就计算结果达成一致的一种方式是让每台机器运行相同的代码并比较结果。根据不同的计算,这对资源有限的系统来说可能很昂贵。通过使用像RISCZero这样的零知识证明框架,机器可以通过检查证明的数学有效性来确保计算的正确执行,而不是重复运行相同的代码。

在RISCZero,我们把这些证明称为「收据」,在博客的其余部分,我将使用这个术语。每张收据都包括一个加密标识符,表明进行了哪项计算,以及计算的任何公共输出的日志。虽然这可能看起来是一个简单的概念,但它意味着机器可以生成收据来「证明」计算已经完成。

那么,当你把zk放在EVM前面时会发生什么?

术语zkEVM是用来描述在EVM字节码引擎上运行智能合约的软件,并为特定的计算生成收据。这个软件通常可以证明两个或多个收据是有效的,并生成另一个收据。通过使用这种机制,zkEVM可以运行许多交易,并使用一个收据来表示它,这被称为「Rollup」。用Solidity编写的项目可以使用zkEVMs来扩展交易,而不是在链上进行所有计算,在区块链上发布一个单一的收据来代表许多发生在链外的交易。zkEVM有很多类型,如果你想了解它们,你可以在这篇文章中阅读更多。

zkVM:通过放弃E来解锁可验证的计算

在RISCZero,我们实现了一个零知识虚拟机,而不是一个zkEVM。两者之间的区别在于,「VM」,即「虚拟机」,比EVM更通用。

在zkVM上,你可以运行几乎所有在计算机上运行的软件,而不是任何可以在以太坊上运行的软件。这种计算机使用RISC-V架构,这是一套用于通用计算的指令。这意味着RISC-V并没有内置钱包地址或其他区块链结构的概念。该指令集主要由在内存位置之间移动数据和对数据进行数学运算的运算符组成。虽然这个指令集可能看起来过于笼统,但并不要求程序员知道如何用汇编语言编程,以便为这个zkVM编写程序。

与EVM相比,这个底层的RISC-V模拟器允许程序员用Rust、C/C++和Go等语言为zkVM编写程序。这意味着zkVM的程序员可以使用别人在该语言的生态系统中开发的相关库。一个例子是,我们可以运行玩Wordle或Where’sWaldo等游戏的程序。然而,我们并不局限于简单的游戏:你可以运行许多其他编译为RISC-V的程序。

运行RISC-V程序有什么用?

如果你想了解更多帮助你写出更好的DeFi应用的框架,你可能会想知道为什么我们正在研究RISCZero这样一个通用的计算框架。

通过允许用户使用通用语言编写程序,我们打开了在Solidity库之外编写代码的可能性。这意味着应用逻辑不需要局限于可以用Solidity表达的内容,并允许你写出与链无关的代码。像Rust这样的通用语言允许开发者比那些为特定目的而设计的语言更容易编写不同类型的程序。例如,你可以用Rust编写一个简单的算术计算器,它接受一个数学表达式作为输入,运行数学计算,并将解决方案作为输出返回。如果你增加这个计算器的复杂性,以支持常见的编程语言结构,如变量、循环和函数,你就实现了一个简单的语言解释器,将程序作为输入,运行程序,并将解决方案作为输出返回。这些程序可以被编译成RISC-V并在RISCZero的zkVM上运行。有了Rust,你可以使用现有的crates来为你的应用程序编程,而不是从头开始编写一切。

一个这样的库是Rust上的revmcrate。这个crate是用Rust编写的EVM的一个实现。通过使用这个crate,我们可以在zkVM上运行一个EVM字节码解释器。这意味着你可以在运行在zkVM上的EVM字节码解释器上运行solidity合约!通过这样做,zkVM会产生一个收据,代表运行智能合约的EVM的执行。这在Odra的这篇博文中已经进行了探讨,并被zkPoEx团队用来提高bug赏金。

如何扩展区块链

随着当前智能合约的复杂性增加,许多人发现他们维护的链上代码只会随着他们的开发而增加成本。换句话说,如果你的DeFi逻辑逐渐变得计算昂贵,或者你的链上游戏逻辑需要额外的计算能力,RISCZero的zkVM和即将推出的Bonsai网络允许你使用通用编程语言编写可扩展的链上代码。我在这篇博文中列举了几个例子,我们正处于真正可扩展的计算网络的最开始。

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

地球链

[0:15ms0-0:837ms