【区块链】以太坊L2扩容方案与零知识证明

news2024/11/23 11:27:38

以太坊L2扩容方案与零知识证明

简介

  • 简要概述以太坊L2层现有解决方案
  • 简要概述以太坊L2未来扩容的方向
  • 简要概述零知识证明的基本概念和零知识证明在以太坊的运用
  • 简要概述stark ware的两个产品,但并不推荐现有使用和研究
  • 简要概述polygon zkEVM,推荐使用和研究

zk-SNARK 与 zk-STARK

zk-SNARK 和 zk-STARK,是零知识证明底层技术。二者都是非交互式证明。

zk-SNARK,全拼Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,即零知识简洁非交互证明。

zk-STARK,全拼Zero-Knowledge Scalable Transparent Argument of Knowledge,即零知识可扩展透明证明。

两者直观的区别在于,zk-SNARK 需要可信设置,zk-STARK 不需要。

以太坊L2 扩容方案

​ 有两种参数可以用来对 L2 扩容解决方案进行分类。其一是根据使用的加密证明分类,其二是看它们的数据可用性 (Data Availability, DA) 存储在链上还是链下。

两种主要的证明类型:

  • 有效性证明 (Validity Proofs) —— 这是一种利用零知识 (ZK, zero-knowledge) 密码学以确保交易有效性的数学证明
  • 欺诈证明 (Fraud Proofs) —— 这种证明引入了一种所谓的争议时间延迟 (Dispute Time Delay, DTD),一旦证明提交至 L2,验证者留有一定的时间以标记出无效的证明;无效证明可能包含着不正确的状态转换,因而会对涉及的验证者施加惩罚;随后状态回滚至最近的有效快照状态处

数据可用性存储在链上或链下:

  • 链上:状态数据连同所有交易的所有已执行的 calldata (智能合约函数调用、原生代币转移、签名) 一起放入交易捆/rollup 的加密证明中,这使得可以在链上访问和验证所有数据。
  • 链下:已执行的 calldata 和状态由 L2 处理并存储在链下。这使得这个方案不够安全和去中心化。然而,链下存储数据方案更容易将更多交易打包进一个 rollup 中,也因此比链上调用数据证明方案的速度快许多。

Rollup

​ Rollup是目前用于以太坊扩容的首选二层网络解决方案。通过使用Rollup,与一层网络相比,用户可以将燃料费减少多达 100 倍。

​ Rollup将数百笔交易捆绑(“打包”)为一层网络上的单笔交易。这将把一层网络的费用分摊给Rollup中的每一个人,因而对每个用户都更便宜。Rollup交易在一层网络之外执行,但交易数据会被发布到一层网络。通过将交易数据发布到一层网络,Rollup继承了以太坊的安全性。有两种不同方式可以实现Rollup:基于欺诈性证明的 optimistic Rollup,以及基于零知识证明的 zk Rollup。它们的主要区别在于如何将此交易数据发布到一层网络。

​ 基于 optimistic rollup 的 layer2 为 Optimism 和 Arbitrum,其优势在于:兼容 EVM 的难度不高,可以直接使用 solidity 部署智能合约,直接开发 Dapp;劣势在于:提款等待时间长,安全性、TPS和交易成本方面不如 zk-Rollup。

​ 基于 zk-Rollup 的 layer2 为 StarkNet 和 zkSync,其优势在于:安全性更高,交易确认的时效性更强,TPS和交易成本显著优于 optimistic rollup;但是其劣势在于不易兼容 EVM。

​ 目前业界正在开发 zkEVM 解决方案,现polygon团队已推出第一个开源的zkEVM解决方案polygon zkEVM。

stark ware

​ StarkWare 是目前业界技术领先的 zk-Rollup 扩容解决方案开发公司,其团队核心成员是两种算法的提出者和改进者,并以 zk Stark 技术为核心开发两条产品线:扩容服务引擎 StarkEx,二层扩容网络 StarkNet。

​ 对于StarkWare团队来说,可以从两方面理解它的这两个“产品线”。

​ 一方面,从技术上来看,两者都是以zk Stark技术为基础的解决方案,同时两者的区别在于,StarkEx提供了一系列基础组件,专门为以太坊链上应用(DApp)提供程序服务。具有定制化的特点,因此能满足专用应用的高可扩展性的需求。2020 年 6 月,该产品正式部署在以太坊主网上;而StarkNet的定位与之相反,它采用的是通用的二层扩容解决方案,满足用户对区块链交易效率和交易成本优化的需求,也满足不同应用的兼容性和可组合性需求,但是可扩展性(TPS,Gas费优化)不如定制化的StarkEx引擎。

​ 另一方面,从商业模式上看,StarkEx面向的是B端合作项目方,赚取服务费用或项目分成;而StarkNet面向的广大的C端用户、开发者、sequencer、prover等生态参与者,通过tokenomics以及技术支撑做大L2生态来盈利。所以无论从技术上或者商业上,两个“产品线”都互为补充。

​ 特别注意:starkNet 智能合约并不兼容EVM,而是使用的自开发Cairo语言

  • stark ware官网:Homepage - Starkware

  • starknet合约代码: https://etherscan.io/address/0xE267213B0749Bb94c575F6170812c887330d9cE3#code

  • stark ware介绍以及starkEx架构:基于零知识证明系统的定制化引擎和layer2扩容方案StarkEx与StarkNet研究

  • starkEx Github: starkware-libs/starkex-core (github.com)

polygon zkEVM

​ Polygon zkEVM 是第一个提供源代码的 zk-Rollup,一个零知识证明以太坊虚拟机,也是第一个此类 L2 可扩展性解决方案。提供完整的 EVM 操作码等效性,以实现流畅的用户体验和以太坊的安全性。最初项目名为Hermez,在2021年8月Hermez被Polygon收购后更名为Polygon zkEVM。在V神的EVM兼容性等级分类中,当前Polygon zkEVM与Scroll并列为第三级,超过其他ZK Rollup,在EVM兼容性方面处于目前的ZK Rollup里的前列。

强大且去信任

  • zk-SNARKs 保证以太坊级别的安全性
  • 2000 TPS 的高吞吐量
  • 非托管架构
  • 资产的完全所有权和控制权(抗审查)
  • 以太坊主网上的数据可用性

唯一去中心化的zk-rollup

  • 完全开源和社区驱动
  • 与 Hermez REST API 无缝集成
  • 无许可的协调者网络
  • 带有验证奖励代币的去中心化拍卖模型
  • 治理最小化战略

简化代币转移

  • 简单的网络和移动应用程序钱包
  • 低成本代币转移
  • 原子交换(Atomic swaps)
  • 以单一货币支付的费用
  • 几分钟内快速高效的退出(提款)

  • polygon zkEVM官网:Polygon | Ethereum's Internet of Blockchains - Polygon

  • polygon zkEVM 官方文档:Polygon zkEVM Documentation | Polygon Wiki

  • polygon zkEVM GitHub:Polygon zkEVM (github.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/618374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纷享销客斩获“2022-2023年度用户推荐SaaS品牌”

近日,纷享销客受邀出席CSIC2023第八届SaaS应用大会暨云领奖颁奖典礼活动。纷享销客作为国内领先的CRM 云厂商,凭借产品创新以及强大的行业解决方案能力,以绝对实力荣获“2022-2023年度用户推荐SaaS品牌”。 据悉, C SIC云领奖自 …

【SQL武林秘籍】玩转表及其数据

目录 📖前言 😀数据库约束类型 1️⃣not null 非空约束 2️⃣unique 唯一约束 3️⃣default 默认值约束 4️⃣primary key 主键约束 5️⃣foreign key 外键约束 6️⃣check 限制约束 😉新增(insert select) 😄查询(进…

Podman 是 Docker 的直接替代品吗?

在许多地方,你可以读到Podman是Docker的替代品。但是,真的像听起来那么简单吗?在这篇文章中,你将从一个可以立即投入生产使用的Dockerfile开始,并执行Podman命令,就像你使用Docker时会做的那样。让我们看看…

【Vite环境变量】import.meta.env 和 loadEnv使用和区别

前言 我们在做项目时需要各种配置信息(如应用标题、API 地址等),这些配置信息可能在不同环境下有所不同(如开发环境和生产环境)。 如果每次更改开发或者更改生产环境需要修改源代码中的相关配置,这会导致…

老生常谈:接口幂等性,防止并发插入重复数据

分布式系统中,接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据&a…

AI时代的三类人:探索掌握AIGC,引领未来的人才之路

(本文阅读时间:6 分钟) 1 AI时代:ChatGPT引领AIGC技术革命 对于那些热衷于探索新技术的小伙伴而言,ChatGPT早已超越了抽象的概念,我们对其能力已有所了解。那么,ChatGPT究竟能够做些什么呢&…

Java 集合全教程

一、集合简介 集合(有时称为容器)只是将多个元素分组到单个单元中的对象。集合用于存储、检索、操作和传达聚合数据。通常,它们表示形成自然组的数据项,例如扑克手(纸牌集合)、邮件文件夹(字母…

【Java多线程进阶】synchronized工作原理

前言 本期讲解 synchronized 工作的原理以及常见的锁优化机制,相信大家在看完这篇博文后对 synchronized 工作流程有一定的理解。话不多说,让我们快速进入学习吧~ 目录 1. 锁的工作流程 2. 偏向锁 3. 轻量级锁和重量级锁 3.1 轻量级锁 3.2 重量级锁…

Kubernetes基本存储

Kubernetes基本存储 容器的生命周期可能很短,会被频繁地创建和销毁,容器销毁时,保存在容器中的数据也会被清除。为了持久化保存容器中数据,引入Volume概念。 Volume时Pod中多个容器共同访问的共享目录,它被定义在Pod中…

“碳”寻青蓝锦色,锦江酒店(中国区)用行动点亮酒店可持续发展

第52个世界环境日之际,为响应“减塑捡塑”号召,锦江酒店(中国区)以“‘碳’寻青蓝锦色”为主题,在6月5日至6月11日期间,开启第二届“绿色生活创益周”,通过线上线下联动,倡导时尚低碳…

2023智源大会议程公开丨类脑计算论坛

6月9日,2023北京智源大会,将邀请这一领域的探索者、实践者、以及关心智能科学的每个人,共同拉开未来舞台的帷幕,你准备好了吗?与会知名嘉宾包括,图灵奖得主Yann LeCun、图灵奖得主Geoffrey Hinton、OpenAI创…

Mocha AE:Clip 模块

Clip(剪辑)模块主要用于对素材或遮罩文件的格式进行查看或设置,包括视频格式、时间码格式、色彩空间等,还可以进行裁剪。 General 常规 Input 输入 当前图层素材。 Matte for Layer n 图层 n 的遮罩 Name 名称 显示素材的名称。 …

通信大史记:互联网的起源故事

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 文案 / 朱峰 产品统筹 / bobo 这是一期“两年更”的节目,通信大史记录完第一期后,因为资料准备和主播时间的关系一直没有后续更新。今天,我们…

nodejs的path模块

path路径模块 path模块是Node.js官方提供的,用来处理路径的模块。提供一系列的方法和属性,用来满足用户对路径的处理需求。 例如: 如果在js代码中,使用path模块来处理路径,需要先导入 const pathrequire(path)常用的…

chatgpt赋能python:Python如何调成白色的SEO文章

Python 如何调成白色的 SEO 文章 介绍 Python 是一种流行的编程语言,在数据分析、人工智能、Web 开发以及其他许多领域都有广泛的应用。然而,很少有人会把 Python 与 SEO 联系起来。 事实上,Python 是一个强大的工具,可以帮助 …

软件工程师,学会封装不香么

什么是封装 从面向对象编程的角度来说,封装是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与…

rk3568 TF卡启动

rk3568 SD卡启动 SD卡启动系统,它可以让rk3568在没有硬盘或其他存储设备的情况下启动和运行操作系统。这使得rk3568变得与树梅派一样灵活切换系统,与此同时进行故障排查和修复,而不需要拆卸设备或者使用专业的烧录工具。SD卡启动还可以方便地…

音视频同步的方法:深入探索基于FFmpeg的音视频同步策略

音视频同步艺术:深入探索基于FFmpeg的同步策略 (一)音视频同步的基本概念与重要性(Basic Concepts and Importance of Audio-Video Synchronization)1.1 音视频同步的定义与影响(Definition and Impact of …

【SQL】Oracle数据库实现远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…

【Python入门】Python循环语句(for循环的基础语法)

前言 Python循环语句 1. for循环的基础语法1.1 for循环1.2 程序中的for循环1.3 for循环语句1.4 for循环注意点1.5 总结1.6 练习案例:数一数有几个a 2. range语句2.1 range语句讲解2.2 for循环遍历range序列2.3 总结2.4 练习案例:有几个偶数 3. 变量作用域…