博客
关于我
zkSync 基本原理
阅读量:298 次
发布时间:2019-03-01

本文共 1629 字,大约阅读时间需要 5 分钟。

1. 引言

zkSync作为以太坊的扩容和隐私引擎,支持或即将支持多项重要功能,包括低气交易(low gas transactions)和ERC20代币在以太坊网络上的支持、通过Zinc语言或Solidity实现可编程隐私智能合约以及对交易所友好的Atomic swap支持。这些功能使得zkSync成为DeFi和DApp开发者的理想选择。

2. zkSync中的基本概念

2.1 zkSync中的Operation

zkSync定义了两种主要的操作类型:

  • Priority Operation:直接在以太坊主网上运行,包括Deposit和FullExit两种类型。

    • Deposit:将资金从以太坊转移到zkSync指定地址,若地址不存在则创建并分配numeric ID。
    • FullExit:在无法设置zkSync签名或检测到审查时提取资金至以太坊。
  • Transaction:通过zkSync API提交,包括ChangePubKey、Transfer、Withdraw和ForcedExit四种类型。

    • ChangePubKey:设置或修改账号签名密钥,需提供两个签名以确保交易不可篡改。
    • Transfer:将资金从一个zkSync账号转移到另一个账号,若接收地址不存在则创建新账号。
    • Withdraw:将资金从zkSync提取至以太坊,需提供正确签名。
    • ForcedExit:提取资金至目标地址,适用于目标地址对应智能合约且无签名的情况。
  • 2.2 zkSync中的Block

    • zkSync操作通过block进行组织,block在提交后需等待验证前可用。
    • 通过mini-block技术,用户可分组提交交易,缩短等待时间。
    • 区块验证通过ZK证明在以太坊上发布,确保区块最终状态的正确性。

    2.3 zkSync中的Flow

  • 创建账号:可通过以太坊转账或zkSync交易创建,新账号需设置签名密钥。
  • 设置签名密钥:默认签名密钥为0值,需通过ChangePubKey交易设置。
  • 交易资金:支持ETH和ERC20代币,需通过合约批准交易金额。
  • 交易费用:费用基于交易数据量、gas价格和区块证明成本,整体费用较低。
  • 提取资金:支持Withdraw、ForceExit和FullExit三种方式。
  • 3. 向zkSync网络发送交易基本原则

  • 发送Priority Operation

    • 通过智能合约触发Deposit和FullExit操作。
    • Deposit需批准合约金额,FullExit需注册退出请求并完成提取。
  • 发送Transaction

    • 准备交易数据,签名并提交,需包含交易描述签名。
    • 交易类型包括ChangePubKey、Transfer、Withdraw和ForcedExit。
  • 发送Transactions Batch

    • 支持最多50笔交易,费用可通过最后一笔交易支付。
    • Batch交易签名需包含所有交易数据,确保批次成功或失败。
  • 4. zkSync中的智能合约

  • 智能合约语言支持

    • zkSync支持Zinc和Solidity语言,Zinc专为ZKP优化,Solidity兼容现有代码。
    • 智能合约可通过Ethereum签名调用,支持DeFi项目迁移。
  • 虚拟机(VM)设计

    • 基于PLONK证明,支持高效执行和快速交易。
    • 优化了bytecode和执行环境,确保交易速度和安全性。
  • 智能合约部署

    • 测试网络已于2020年10月启动,主网计划2021年支持Zinc和Solidity。
    • Rinkeby测试网部署教程可参考官方文档。
  • 5. zkSync 1.x中的NFT

  • NFT地址规则

    • 地址基于创建账户ID、序列号和内容哈希,确保唯一性和不可篡改性。
    • 支持多个NFT使用相同内容哈希,适合批量mint和转让。
  • NFT minting

    • 使用MINT_NFT opcode mint NFT,可指定创建者和接收者。
  • 参考资料

    [1] [2] [3] [4] [5]

    转载地址:http://pkqx.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 2024年AI初学者需要掌握的热门技能有哪些?
    查看>>
    OpenCV与AI深度学习 | CIB-SE-YOLOv8: 优化的YOLOv8, 用于施工现场的安全设备实时检测 !
    查看>>
    OpenCV与AI深度学习 | CoTracker3:用于卓越点跟踪的最新 AI 模型
    查看>>
    OpenCV与AI深度学习 | OpenCV中八种不同的目标追踪算法
    查看>>
    OpenCV与AI深度学习 | OpenCV图像拼接--Stitching detailed使用与参数介绍
    查看>>
    OpenCV与AI深度学习 | OpenCV如何读取仪表中的指针刻度
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(一) :直接拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(三):基于特征匹配拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(二) :基于模板匹配拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(四):基于Stitcher类拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
    查看>>
    OpenCV与AI深度学习 | SAM2(Segment Anything Model 2)新一代分割一切大模型介绍与使用(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | T-Rex Label !超震撼 AI 自动标注工具,开箱即用、检测一切
    查看>>
    OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
    查看>>
    OpenCV与AI深度学习 | YOLOv10在PyTorch和OpenVINO中推理对比
    查看>>
    OpenCV与AI深度学习 | YOLOv11来了:将重新定义AI的可能性
    查看>>
    OpenCV与AI深度学习 | YOLOv8自定义数据集训练实现火焰和烟雾检测(代码+数据集!)
    查看>>
    OpenCV与AI深度学习 | YOLOv8重磅升级,新增旋转目标检测,又该学习了!
    查看>>
    OpenCV与AI深度学习 | 一文带你读懂YOLOv1~YOLOv11(建议收藏!)
    查看>>
    OpenCV与AI深度学习 | 五分钟快速搭建一个实时人脸口罩检测系统(OpenCV+PaddleHub 含源码)
    查看>>