转发原文标题《ZKP和ZK-Rollups 如何帮助解决可扩展性问题》
在这篇文章中,我们将解释什么是零知识证明技术,并讨论一个流行的区块链项目 — zkSync:zkSync中的交易如何运作以及与以太坊虚拟机(EVM)的主要区别。同时讨论这个区块链的优点和缺点,我们认为它可能有一个充满希望的未来。
ZkSync是以太坊的第二层区块链(Layer 2 — L2),旨在解决以太坊网络的高费用和有限吞吐量(每秒交易数 — TPS)等问题。该平台采用ZK-Rollup技术,利用零知识证明(ZKP)批量处理主网络(L1)之外的多个交易。只有交易正确性的加密证明和它们的压缩数据被发送到L1,大大提高了效率并降低了成本。
由Matter Labs开发,zkSync被宣称为完全开源(100%开源)的产品,由社区管理。据Cryptorank称,该项目已经引起关注,筹集了4.58亿美元的投资。从长远来看,Matter Labs旨在创建一个全面的生态系统。目前,有两个区块链正在运作:zkSync Lite,用于处理以太币和ERC20代币的支付,以及zkSync Era,支持完整的智能合约。未来计划包括推出一个超级链系统(L3),确保高安全性。Matter Labs的目标是将这项技术扩展到一个吸引下一个十亿区块链用户的水平。
zkSync代表了一种解决被称为区块链三难题的可扩展性问题的新方法。这个项目,像其他第二层(L2)解决方案一样,旨在在区块链网络中找到安全性、可扩展性和去中心化之间的平衡。
以太坊专注于安全性和去中心化,强调其作为一个点对点协议,在全球范围内分布节点。有关节点分布的最新信息,请参考NodeWatch。
为了保持网络的去中心化,每个节点必须验证所有交易。这本质上会拖慢网络速度。此外,在网络负载高的情况下,交易可能会变得非常昂贵,并且需要大量时间来处理。
提高以太坊网络TPS而不增加节点负载的主要任务是引入分片技术,结合过渡到PoS(股权证明)共识机制。这涉及将验证者分成子组,处理网络的不同部分,从而减少总体负载并增加吞吐量。然而,社区已经将注意力集中在第二层解决方案上,考虑到它们的快速发展。
除了在以太坊中实施分片技术的想法之外,还出现了其他的可扩展性解决方案,比如:
以及基于零知识证明(ZKP)的技术,包括:
更详细的信息可以找到这里。
尽管分片技术仍在开发中,但Dencun硬分叉计划于2024年初实施Proto-Danksharding。这个中间步骤旨在改进第二层解决方案,使L1上的数据存储更经济。因此,Proto-Danksharding承诺降低L2上的交易成本,作为向全面分片解决方案迈出的一步。
乍看之下,第二层区块链可能看起来相似,因为它们的主要任务是在L1之外增加交易数量,同时将安全保障的角色委托给L1。这类区块链的开发者通常声称他们的解决方案是最快、最可靠和最简单的。但实际上,扩展的每种方法都有其细微差别,以及关于交易速度、安全级别或去中心化程度的不可避免的妥协。完全中心化的解决方案也很常见。所有这些方面都将我们带回到区块链三难题的根本问题。
在本文,提出了评估第 2 层解决方案中使用的协议的关键标准。他们包括:
重要提示!这篇文章是由Matter Labs撰写的,据我看来,某些内容“拉伸”了对zkRollup的支持(因为存在明显的利益冲突),但这并不那么重要,主要是要看到第二层协议之间存在哪些区别。下面我将提供一个表格,并简要描述其内容。
性能方面很直接。每秒交易数(TPS)表示网络的吞吐量,在扩展的背景下,它是最关键的参数。
经济方面:
下面是基于ZKP的主要解决方案的对比表:
为了更详细地了解零知识证明(ZKP),我建议参考我们的区块链百科中的这篇文章,该百科由开发人员为开发人员创建,对证明和深入细节进行了深入探讨。
ZK-Rollups的操作可以在高层次上表示如下:
在zkSync架构的背景下,该过程如下:
在ZK-Rollups中,验证者扮演着关键角色,将交易打包成区块并为其生成零知识证明。该系统的一个特点是,验证者在物理上无法窃取资金。他们可能造成的最重大潜在损害是暂时停止网络的运行。
注意:在zkSync Era中,验证者的角色由运营者来执行。
zkSync的开发人员强调他们架构的以下保证:
在zkSync Era中,交易经历了几个关键状态,与L1中的常规Rollup确认不同:
除了区块编号外,zkSync中的交易还显示了包编号。最初,参数如block.number、block.timestamp和blockhash都是从L1获取的。然而,在更新后,这些值现在将从L2获取。尽管如此,开发人员计划提供访问来自L1的数据的方法。
基于ZKP的L2解决方案与以太坊的兼容性是一个复杂的任务。这是因为以太坊最初并不是为与ZKP的最佳交互而设计的。因此,在开发这样的系统时,必须在性能和可扩展性潜力之间找到一种折衷,同时与以太坊和EVM保持兼容性。Vitalik Buterin的文章“不同类型的ZK-EVMs”详细讨论了这些方面,并突出了不同级别的兼容性。
zkSync选择了其中一条最具挑战性的道路,旨在实现高性能,但与以太坊和EVM的兼容性有限。为了获得与zkEVM兼容的字节码,使用了LLVM项目以及一套专有的编译器和优化器。对于Solidity和Yul,经过标准的solc编译器之后,代码还必须经过几个更多的阶段,才能变成zkEVM字节码。下面的图示展示了这个过程的所有阶段(在这里描述得更详细):
重要提示!zksolc中支持优化。
专门为EVM编译的字节码与zkEVM不兼容。这意味着以太坊和zkSync中相同智能合约的地址将不同。然而,开发人员计划在未来解决这个问题。
这种方法的一个重要优势是不依赖于特定的编程语言。未来,zkSync的开发人员承诺添加对诸如Rust和C++之类的语言的支持。重要的是,高级编译器(例如solc)和平台编译器(例如zksolc)之间的更新和创新集成的延迟是最小的。最初,有一个想法是创建他们自己的编程语言Zinc,但目前团队的重点是支持更流行的编程语言。
zk-编译器与现有的Solidity和Vyper智能合约开发和调试工具的兼容性问题非常重要。目前的开发平台,如Remix、Hardhat和Foundry,在开箱即用时不支持zk-编译器,这给使用它们带来了困难。然而,正在开发的解决方案承诺简化项目迁移和适应新技术的过程。
Vitalik Buterin的文章提到,以太坊可能会努力随着时间的推移,在协议级别改善与ZKP的兼容性。同样,基于ZKP的L2解决方案将调整以更好地与以太坊兼容。因此,将来,这些系统之间的差异可能会变得几乎不可察觉,为开发人员提供更顺畅的集成和过渡。
重要提示!该协议正在积极开发中;请始终参考最新版本的文档!
zkEVM与EVM不同,尽管开发人员努力在“底层”隐藏这些差异,但在编写智能合约时需要考虑一些重要特性:
为了深入了解如何使用zkEVM,建议研究文档,包括“安全性和最佳实践”部分。
在zkSync中,账户抽象相对于ERC-4337具有几个关键优势:
zkSync Era的基础设施正在迅速发展,并已包括数十种协议:桥接协议、DeFi、基础设施协议等等。 (当前列表可以在此处查看)。
另一个优点是与以太坊钱包的兼容性,例如MetaMask或TrustWallet。
zkSync协议的发展始于zkSync Lite的推出,该版本仅针对以太币和ERC-20代币的转账,无法部署完整的协议。这一阶段是发展的重要步骤,但只是zkSync Era的到来之前的前奏——zkSync Era是以太坊的一个完整的L2解决方案,理论上也可以适应其他L1区块链。然而,zkSync的雄心并不止于此,因为开发计划还包括推出所谓的超级链。
超级链,或称“分形扩展”,由ZKP网络组成,每个网络形成自己的区块和证明。然后,这些证明被收集在一起并发布在主要的L1网络上。这些网络中的每一个都是整个系统的完整副本,可以被视为其“分形”。
超级链的独特之处在于它们可以独立创建和部署。为了保持一致性和兼容性,每个超级链必须使用一个共同的zkEVM引擎,作为ZK栈的一部分(其中zkSync Era充当第一个超级链)。这使得超级链能够从L1继承其安全性,确保其可靠性,并消除对额外信任和安全措施的需求。
超级链代表了扩展区块链网络的创新方法,减轻了主要网络的负载并提高了交易处理速度。该方法的关键方面包括:
有关这一切的更多信息可以找到这里。
zkSync协议看起来非常有前景,具有巨大的潜力,尽管目前,在这个区块链上启动仍然涉及一些需要考虑的风险。目前,为zkSync开发相对于与EVM和EVM开发栈更兼容的区块链来说可能更具挑战性。然而,也许在未来,这种差异将变得微不足道,甚至完全消失。
转发原文标题《ZKP和ZK-Rollups 如何帮助解决可扩展性问题》
在这篇文章中,我们将解释什么是零知识证明技术,并讨论一个流行的区块链项目 — zkSync:zkSync中的交易如何运作以及与以太坊虚拟机(EVM)的主要区别。同时讨论这个区块链的优点和缺点,我们认为它可能有一个充满希望的未来。
ZkSync是以太坊的第二层区块链(Layer 2 — L2),旨在解决以太坊网络的高费用和有限吞吐量(每秒交易数 — TPS)等问题。该平台采用ZK-Rollup技术,利用零知识证明(ZKP)批量处理主网络(L1)之外的多个交易。只有交易正确性的加密证明和它们的压缩数据被发送到L1,大大提高了效率并降低了成本。
由Matter Labs开发,zkSync被宣称为完全开源(100%开源)的产品,由社区管理。据Cryptorank称,该项目已经引起关注,筹集了4.58亿美元的投资。从长远来看,Matter Labs旨在创建一个全面的生态系统。目前,有两个区块链正在运作:zkSync Lite,用于处理以太币和ERC20代币的支付,以及zkSync Era,支持完整的智能合约。未来计划包括推出一个超级链系统(L3),确保高安全性。Matter Labs的目标是将这项技术扩展到一个吸引下一个十亿区块链用户的水平。
zkSync代表了一种解决被称为区块链三难题的可扩展性问题的新方法。这个项目,像其他第二层(L2)解决方案一样,旨在在区块链网络中找到安全性、可扩展性和去中心化之间的平衡。
以太坊专注于安全性和去中心化,强调其作为一个点对点协议,在全球范围内分布节点。有关节点分布的最新信息,请参考NodeWatch。
为了保持网络的去中心化,每个节点必须验证所有交易。这本质上会拖慢网络速度。此外,在网络负载高的情况下,交易可能会变得非常昂贵,并且需要大量时间来处理。
提高以太坊网络TPS而不增加节点负载的主要任务是引入分片技术,结合过渡到PoS(股权证明)共识机制。这涉及将验证者分成子组,处理网络的不同部分,从而减少总体负载并增加吞吐量。然而,社区已经将注意力集中在第二层解决方案上,考虑到它们的快速发展。
除了在以太坊中实施分片技术的想法之外,还出现了其他的可扩展性解决方案,比如:
以及基于零知识证明(ZKP)的技术,包括:
更详细的信息可以找到这里。
尽管分片技术仍在开发中,但Dencun硬分叉计划于2024年初实施Proto-Danksharding。这个中间步骤旨在改进第二层解决方案,使L1上的数据存储更经济。因此,Proto-Danksharding承诺降低L2上的交易成本,作为向全面分片解决方案迈出的一步。
乍看之下,第二层区块链可能看起来相似,因为它们的主要任务是在L1之外增加交易数量,同时将安全保障的角色委托给L1。这类区块链的开发者通常声称他们的解决方案是最快、最可靠和最简单的。但实际上,扩展的每种方法都有其细微差别,以及关于交易速度、安全级别或去中心化程度的不可避免的妥协。完全中心化的解决方案也很常见。所有这些方面都将我们带回到区块链三难题的根本问题。
在本文,提出了评估第 2 层解决方案中使用的协议的关键标准。他们包括:
重要提示!这篇文章是由Matter Labs撰写的,据我看来,某些内容“拉伸”了对zkRollup的支持(因为存在明显的利益冲突),但这并不那么重要,主要是要看到第二层协议之间存在哪些区别。下面我将提供一个表格,并简要描述其内容。
性能方面很直接。每秒交易数(TPS)表示网络的吞吐量,在扩展的背景下,它是最关键的参数。
经济方面:
下面是基于ZKP的主要解决方案的对比表:
为了更详细地了解零知识证明(ZKP),我建议参考我们的区块链百科中的这篇文章,该百科由开发人员为开发人员创建,对证明和深入细节进行了深入探讨。
ZK-Rollups的操作可以在高层次上表示如下:
在zkSync架构的背景下,该过程如下:
在ZK-Rollups中,验证者扮演着关键角色,将交易打包成区块并为其生成零知识证明。该系统的一个特点是,验证者在物理上无法窃取资金。他们可能造成的最重大潜在损害是暂时停止网络的运行。
注意:在zkSync Era中,验证者的角色由运营者来执行。
zkSync的开发人员强调他们架构的以下保证:
在zkSync Era中,交易经历了几个关键状态,与L1中的常规Rollup确认不同:
除了区块编号外,zkSync中的交易还显示了包编号。最初,参数如block.number、block.timestamp和blockhash都是从L1获取的。然而,在更新后,这些值现在将从L2获取。尽管如此,开发人员计划提供访问来自L1的数据的方法。
基于ZKP的L2解决方案与以太坊的兼容性是一个复杂的任务。这是因为以太坊最初并不是为与ZKP的最佳交互而设计的。因此,在开发这样的系统时,必须在性能和可扩展性潜力之间找到一种折衷,同时与以太坊和EVM保持兼容性。Vitalik Buterin的文章“不同类型的ZK-EVMs”详细讨论了这些方面,并突出了不同级别的兼容性。
zkSync选择了其中一条最具挑战性的道路,旨在实现高性能,但与以太坊和EVM的兼容性有限。为了获得与zkEVM兼容的字节码,使用了LLVM项目以及一套专有的编译器和优化器。对于Solidity和Yul,经过标准的solc编译器之后,代码还必须经过几个更多的阶段,才能变成zkEVM字节码。下面的图示展示了这个过程的所有阶段(在这里描述得更详细):
重要提示!zksolc中支持优化。
专门为EVM编译的字节码与zkEVM不兼容。这意味着以太坊和zkSync中相同智能合约的地址将不同。然而,开发人员计划在未来解决这个问题。
这种方法的一个重要优势是不依赖于特定的编程语言。未来,zkSync的开发人员承诺添加对诸如Rust和C++之类的语言的支持。重要的是,高级编译器(例如solc)和平台编译器(例如zksolc)之间的更新和创新集成的延迟是最小的。最初,有一个想法是创建他们自己的编程语言Zinc,但目前团队的重点是支持更流行的编程语言。
zk-编译器与现有的Solidity和Vyper智能合约开发和调试工具的兼容性问题非常重要。目前的开发平台,如Remix、Hardhat和Foundry,在开箱即用时不支持zk-编译器,这给使用它们带来了困难。然而,正在开发的解决方案承诺简化项目迁移和适应新技术的过程。
Vitalik Buterin的文章提到,以太坊可能会努力随着时间的推移,在协议级别改善与ZKP的兼容性。同样,基于ZKP的L2解决方案将调整以更好地与以太坊兼容。因此,将来,这些系统之间的差异可能会变得几乎不可察觉,为开发人员提供更顺畅的集成和过渡。
重要提示!该协议正在积极开发中;请始终参考最新版本的文档!
zkEVM与EVM不同,尽管开发人员努力在“底层”隐藏这些差异,但在编写智能合约时需要考虑一些重要特性:
为了深入了解如何使用zkEVM,建议研究文档,包括“安全性和最佳实践”部分。
在zkSync中,账户抽象相对于ERC-4337具有几个关键优势:
zkSync Era的基础设施正在迅速发展,并已包括数十种协议:桥接协议、DeFi、基础设施协议等等。 (当前列表可以在此处查看)。
另一个优点是与以太坊钱包的兼容性,例如MetaMask或TrustWallet。
zkSync协议的发展始于zkSync Lite的推出,该版本仅针对以太币和ERC-20代币的转账,无法部署完整的协议。这一阶段是发展的重要步骤,但只是zkSync Era的到来之前的前奏——zkSync Era是以太坊的一个完整的L2解决方案,理论上也可以适应其他L1区块链。然而,zkSync的雄心并不止于此,因为开发计划还包括推出所谓的超级链。
超级链,或称“分形扩展”,由ZKP网络组成,每个网络形成自己的区块和证明。然后,这些证明被收集在一起并发布在主要的L1网络上。这些网络中的每一个都是整个系统的完整副本,可以被视为其“分形”。
超级链的独特之处在于它们可以独立创建和部署。为了保持一致性和兼容性,每个超级链必须使用一个共同的zkEVM引擎,作为ZK栈的一部分(其中zkSync Era充当第一个超级链)。这使得超级链能够从L1继承其安全性,确保其可靠性,并消除对额外信任和安全措施的需求。
超级链代表了扩展区块链网络的创新方法,减轻了主要网络的负载并提高了交易处理速度。该方法的关键方面包括:
有关这一切的更多信息可以找到这里。
zkSync协议看起来非常有前景,具有巨大的潜力,尽管目前,在这个区块链上启动仍然涉及一些需要考虑的风险。目前,为zkSync开发相对于与EVM和EVM开发栈更兼容的区块链来说可能更具挑战性。然而,也许在未来,这种差异将变得微不足道,甚至完全消失。