主页 > 最新版imtoken官网 > 干货丨零知识证明如何解决以太坊性能问题

干货丨零知识证明如何解决以太坊性能问题

最新版imtoken官网 2024-01-26 05:07:16

2月26日21:00,BlockMania AMA 51继续进行。 本期主题为“零知识证明如何解决以太坊性能问题”。 方方产能扩张的发展现状和未来方向,以下为本次分享正文。

关于 Ambi 实验室

安比实验室专注于区块链和智能合约安全问题,全面监测智能合约安全漏洞,提供专业的合约安全审计服务,对智能合约安全技术进行全面深入的研究,致力于参与构建共识,可信有序区块链经济。

sitehqz.com 以太坊和以太坊贸易的关系_以太坊处理速度_siteethfans.org 以太坊到账速度

当我们谈论区块链性能时,我们在谈论什么?

很多人喜欢用“不可能三角”模型来讨论一个系统面临的设计问题。 区块链也不例外。 你一定听说过关于安全、去中心化和效率的不可能三角或三难困境。

在这个很流行的说法中,“高效”其实就是我们常说的“性能”,也叫“可扩展性”或Scalability。 可以认为,以太坊和比特币在设计上更侧重于“安全”和“去中心化”两点,难免不太“高效”。

尤其是以太坊,作为开发者和应用最多的区块链平台,越来越多的人尝试在上面开发好玩好用的应用,但是平台所能提供的性能支持却极其有限,所以大家早就在高喊“以太坊需要扩张”! ! !

这也是为什么在以太坊之后,市场上出现了很多“以太坊杀手”——很多想要在性能上超越以太坊的项目。

如何超越以太坊?

事实上,超越的方法其实并不难。 它只需要牺牲不可能三角形中的其他两点即可。

但大部分人可能还是觉得“安全”和“去中心化”不能放弃,选择留在以太坊。 这导致“以太坊杀手”荒凉凄凉,无人问津。 能开飞机的车在马路上没有,性能“优势”也没有发挥的余地。

所以我们在谈到区块链的性能时,还是希望区块链的两个基础不要动摇——“安全”和“去中心化”尽可能不受影响。

以太坊的表现如何?

以太坊目前的性能非常有限。 对于普通区块链用户来说,手续费和交易确认时间在很大程度上决定了用户体验。 但是,目前使用以太坊的体验波动很大。 比如全网空闲的时候,就像最近疫情期间的高速,拥堵的时候,就像国庆黄金周的旅游景点。

从性能参数TPS来看,国际信用卡Visa交易的处理速度至少为2000笔/秒,而以太坊不超过30笔/秒。 这个数值只能说比老大哥比特币每秒7笔交易要好。

此外,在以太坊网络上造成拥塞的成本非常低。

大多数时候,一个流行的 dApp 可以拥塞整个网络。 老实说,目前的TPS水平让以太坊很难大规模应用。 随着越来越多的人使用,以太坊网络的交易手续费注定会越来越高,普通交易的确认时间也会越来越长。

以太坊社区在可扩展性方面做了哪些努力?

以太坊尴尬的业绩现状,使得其核心开发团队和社区一直在探索各种扩容方案。 所以大家经常会听到一系列花哨的名词:Sharding、payment channel、state channel、Plasma、Truebit、ZK-Rollup、Optimistic Rollup等等,还有一个概念Layer-2。

上面提到的大部分解决方案都是二层扩展方案。 其中ZK-Rollup和Optimistic Rollup是最近最火的。 今天我们要重点介绍的是ZK-Rollup,其核心是零知识证明技术。

为什么零知识证明有用?

零知识证明可能是目前最有希望和想象力的密码学黑科技,它可以在不泄露任何其他信息的情况下证明一个命题的正确性。 “保密”和“证明”这两个关键词的组合可以说是威力无穷,可以实现很多反直觉的炫酷功能。

在扩展方向上,我们不需要过多关注零知识证明技术的“不公开”特性,这往往与隐私保护有关。 我们关注它的“证明”能力。

简而言之,链上资源或带宽是有限的,我们需要将大量的计算迁移到链下,因此需要技术来“证明”这些计算确实发生在链下。

更多关于零知识证明的背景知识和技术细节这里不再介绍。 欢迎大家关注我们Ambi Lab的《初识“零知识”与“证明”》等系列文章。 真正理解零知识证明可能有点烧脑,但确实很有趣。 如果你有兴趣,不妨试一试。

好了,回到今天的话题。

为什么可以说基于零知识证明的扩容方案可能是更好的方向呢?

我们先来回顾一下开头的第一个问题。 当我们谈到区块链的性能时,我们还是希望区块链的两个基础——“安全”和“去中心化”尽可能不受到影响。 如果有扩展计划可​​以做到这一点,那真的是非常难能可贵。

ZK-Rollup,一种基于零知识证明的二层扩容方案,真正能够在不牺牲“安全”和“去中心化”两点的前提下,真正解决区块链性能问题!

不熟悉的同学可能会问:零知识证明扩展的代表性方案ZK-Rollup到底是什么?

首先,我们最好了解一下什么是 Rollup。

Rollup,顾名思义,就是“roll up”和“summarize”的意思,可以认为是一大类Layer-2扩展方案的总称。

Rollup具体是指在链下进行复杂的计算和状态维护,然后通过合约调用状态变化相关的数据,使用更便宜的CALLDATA将数据保存在链上,将大量交易“rolling/summer”成包. 一笔交易最终会在保证“数据可用性”的前提下提高TPS。

Rollup 方案的共同特点是强调链上“数据可用性”,即任何人都可以根据链上存储的数据恢复全局状态,从而消除数据可用性问题带来的安全风险。

这个特性使得 Rollup 方案(数据链上)比 Plasma 等数据链下方案更简洁、更容易实现。

Layer-2的概念其实很好,因为这种方案的设计思路是以太坊底层几乎不需要做任何改动,底层还是照常处理交易,所以不会影响底层的安全性,让各种海量交易都在二层处理,从而减轻底层链的压力。

Plasma 是近两年以太坊最流行的二层扩容概念。 整个社区花了很多精力讨论和实施。 在此过程中演化出了一系列的解决方案,例如 Plasma MVP、Plasma Cash、Plasma Debit、Plasma Prime.. ....

Plasma 家族中有很多中间解决方案,理论上都是可行的,但长期以来一直未能落地。 其核心原因是 Plasma 的各种解决方案并不能保证“数据可用性”,这使得协议更加复杂,难以实现,非常不实用。

ZK-Rollup方案起源于2018年下半年,先后由Barry Whitehat和Vitalik提出。

关键在于ZK(零知识)。 每一次状态变化都需要提供一个零知识证明,由主链上的合约进行验证。 只有验证通过才能改变状态。 也就是说,每个状态转换都严格依赖于密码证明。

ZK-Rollup方案利用目前最流行的零知识证明技术zkSNARK,在压缩链上计算量的同时保证数据的正确性。

Merkle Tree用于存储账户状态,合约只保存Merkle Root。 运营商(operator)收集用户交易,将这些交易批量打包,生成zkSNARK证书,具体证明交易的合法性(比如验证签名)和前后状态的Merkle Root。

Operator 将 Merkle Root 连同每笔交易数据和 zkSNARK 证明一起提交给合约,只有在合约被验证后才会写入新状态。

由于所有交易的计算过程不需要在合约中执行,因此不需要向合约存储写入大量状态,zkSNARK证明大小(非常小)和验证时间(非常快)恒定且不跟随交易数量的增加,因此 ZK-Rollup 可以大大提高交易 TPS。

ZK-Rollup 的链上性能限制仅取决于 CALLDATA 存储数据的成本。 随着Ethereum Istanbul的升级,CALLDATA成本降低到原来的1/4,ZK-Rollup性能提升4倍,TPS可达近2000!

TLDR,ZK-Rollup的原理其实可以一句话解释:复杂的计算和证明生成在链下进行,证明验证和密钥状态维护在链上进行。

上面提到了Rollup,可能有同学会问:ZK-Rollup与其他Rollup方案的核心区别是什么?

事实上,还有许多其他的 Rollup 方案。 例如以太坊处理速度,Optimistic Rollup 是比较流行的一种。 它与ZK-Rollup的核心区别在于如何保证状态变化的正确性。

Optimistic Rollup 方案形成于 2019 年下半年,由 John Adler 首次提出。 后来Plasma Group主要借鉴了Plasma、ZK-Rollup、影子链等方案进一步完善和扩展。

与 ZK-Rollup 最大的区别在于以太坊处理速度,每次状态转换不需要严格验证,乐观地假设每次转换都是正确的,这就是 Optimistic 这个词的由来。 然后你可以在一定的时间限制内挑战一定的变身。 如果挑战成功,则证明之前的提交有问题,提交者将受到惩罚,状态将回滚。 可以认为,Optimistic Rollup 最终是靠经济激励和博弈来约束状态的正确转变。

两种方案的区别也可以从证明模型的角度来比较:ZK-Rollup是一种Validity Proof(正确性证明),只有提供“正确性证明”的状态才会被写入主链合约; 而Optimistic Rollup是Fraud Proof(欺诈证明),用户在挑战期间需要为异常情况提供“欺诈证明”,并负责报告不正确的状态。

关注以太坊的同学一定对 Plasma 不陌生。

Alex Gluchowski 和 Ryuya Nakamura 两位研究人员分别针对 PoW 和 PoS 共识下的 Optimistic Rollup 或 Fraud Proof-based Layer 2 扩展协议提出了攻击模型,攻击成本不高:此类 Layer 2 方案必须投诉并在挑战期间进行报告,当大量资产聚集在合约中时,希望构建一个场景(合作伙伴分享攻击收益),让矿工合作作恶,拒绝所有投诉交易在挑战期间提交欺诈证明,以便确认不正确的状态转换,最终可以从合约中窃取所有资金。 这种攻击对于 ZK-Rollup 是无效的,因为正确性检查总是在合约中得到保证。

ZK-Rollup 的发展现状如何?

目前已有多个团队基于ZK-Rollup方案开发出新一代产品。 毫无疑问,ZK-Rollup是目前最快、最有前途的二层扩容方案,在众多扩容方案中也是最好的。

例如路印协议团队率先推出了基于ZK-Rollup的去中心化交易所(DEX)。 它不需要用户抵押资产,但其性能可与中心化交易所(CEX)媲美。 不再受底层链性能的限制。 订单交易TPS达到了惊人的2025!

此外,Matter Labs 发布了 ZK Sync,这是一种去信任扩展和隐私解决方案。

ZK Sync的底层也依赖于ZK-Rollup,旨在在保证安全性的同时提升交易性能。 产品路线是先着眼于提高简单转账的性能和易用性,然后实现通用智能合约的扩展,最后加入隐私保护。 目前产能扩张的目标也接近实现。 至于隐私保护,还是靠零知识证明技术。

ZK Sync还包含了新的SNARK方案Redshift和零知识证明合约编程框架Zinc,两者都可能是其未来实现通用隐私智能合约的关键。

可以说,目前ZK-Rollup在以太坊中发展得如火如荼。

零知识证明在以太坊扩容方向的具体发展趋势是什么?

我们再回顾一下,零知识证明二层扩容方案最大的优势在于不牺牲“安全性”和“去中心化”,不需要对以太坊底层做任何改动,但是可以实现巨大的性能改进。

这一切都源于近几年零知识证明技术的飞速发展,而以太坊团队大约在四五年前就在底层链层面为这一切做了技术准备,提供了必要的密码学计算支持。

零知识证明技术真正把以太坊的扩容从理论带到了实践。 相信未来在这个方向上会有更多新的突破。

以太坊社区很可能通过解决智能合约的通用性问题、降低零知识证明应用开发难度、尝试更多类型的应用等方式进一步探索扩展。

在layer-2扩展的理念下,各种普通或追求性能的交易都可以在第二层高效运行,享受更快的响应速度和更低的使用成本,而第一层主链则负责承载更高重视交易并为此付出更高的成本。

此外,零知识证明是解决区块链隐私问题的唯一方案。 以太坊社区也在这方面取得了很大进展。

我认为 ZK-Rollup 在安全性方面更有优势。

所以我觉得以太坊就算不升级到2.0也能打几年。

siteethfans.org 以太坊到账速度_以太坊处理速度_sitehqz.com 以太坊和以太坊贸易的关系

BlockMania是一家区块链咨询智库,旨在为行业和大众带来对区块链行业最深刻的认知和思考。 就像区块链一样,我们相信每个想法都有可能通过连接其他想法成为一个节点,所以我们想建立一个平台,将想法从点连接到线,从线连接到网络。

在过去的一年里,围绕区块链市场、技术、应用等话题,举办了多场高质量的线上AMA活动。 欢迎关注。

以太坊处理速度_sitehqz.com 以太坊和以太坊贸易的关系_siteethfans.org 以太坊到账速度