常见问题

1. ZKSwap为什么要做Layer 2 的Uniswap?

2019年以来,区块链行业发生了翻天覆地的变化,分布式金融 DeFi 正在快速崛起。截止2021.2.25,在各种 DeFi 协议中,锁定的资产规模已突破600亿美金。随着链上资产的继续蓬勃发展和链下资产上链的不断推进,我们有理由相信 DeFi 协议锁定的资产规模将很快突破1000亿美金的市值。这些链上资产都有 快速、零摩擦、免信任实时兑换的需求,因此带动了 Uniswap 等新型兑换协议的崛起。

虽然以 Uniswap 为代表的新型 DEX 取得了很大的发展,但是依然有非常明确的缺点。第一:动辄几十美金的 Gas 费用,阻碍了新增用户进入; 第二:每一笔交易、每一个操作都需要等待至少一个区块确认,实时性差; 第三:受制于以太坊链上 TPS 的限制,Uniswap 每秒钟可以成交的交易次数和交易容量有明显的天花板。以上三点是目前所有 DEX 面临的痛点。

ZKSwap (ZK-Rollup based Swap)是一套全新的基于 Zk-Rollups 技术的兑换协议,通过 Zk-Rollup 技术把所有的ERC20 token 转移到 Layer2 上,基于不断生成的零知识证明来保证 Layer1 和 Layer2 状态的一致性,从而让所有的兑换在 Layer2 上发生,可以做到零 Gas 费用的实时兑换(不再要等待一个区块确认时间),并且具备无限的拓展性,摆脱以太坊 TPS 和区块确认时间的限制,让 DEX 具备CEX (中心化交易所)般丝滑的体验,并同时用户可以实时掌控自己的资金安全

2. Zkswap 相比Uniswap的优势

虽然以 Uniswap 为代表的新型 DEX 取得了很大的发展,但是依然有非常明显的缺点。ZKSwap相比于Uniswap最大的优势有:

1.费用低(零Gas费):相较于Uniswap上每一次交易所需动辄几十美金的 Gas 费用(随着以太坊价格提升,Gas会越来越高),ZKSwap上发生在Layer2上的每笔交易Gas费为0,为用户节省了极大的交易成本。

2.速度快(实时兑换):在Uniswap上发生的每一笔交易、每一个操作都需要等待至少一个区块确认,实时性差; ZKSwap上发生的所有交易都迁移至 Layer-2 上发生,用户不再需要等待一个区块的确认时间,可实现实时交易

3.高TPS:Uniswap受制于以太坊链上 TPS 的限制,Uniswap 每秒钟可以成交的交易次数和交易容量有明显的天花板。ZKSwap 通过 GPU 优化的方式,可以以免信任的方式,实现几百到几千的 TPS,在加入足够的机器支持扩容的情况下,ZKSwap 的 TPS 理论上将达到 6,000 左右的数量级

3. ZKSwap 与中心化交易所(CEX)的区别

中心化交易所以Binance、Huobi、OKex 等交易所为代表,聚集了庞大的用户量和交易量。ZKSwap与中心化交易所的区别主要有以下几点:

1. 从资产安全性角度,CEX钱包存放着所有用户的资金,由于资金量庞大,很容易招来黑客的攻击,一旦出现问题几乎所有用户都要遭受损失;在ZKSwap中,用户的资产不是由平台来保存,而是由智能合约来管理。交易时平台不触碰用户资产,每笔交易操作都需要交易者用私钥签名完成确认,兑换资产直接到账L2钱包。

2. 从资产控制权角度,在CEX中,用户资产由平台掌控,用户需要将自己的资产充值到交易平台的钱包。中心化交易平台的资产托管功能,就像银行一样,用户把钱存在银行,银行给用户一个账号,记录用户资金情况,银行对用户的资金有绝对的控制权;在ZKSwap上,用户的资产完全由自己掌控。ZKSwap并不提供资金托管服务,所以也就无法控制、转移用户的资金。ZKSwap作为Laye2的去中心化交易所,合约及电路代码已通过三大审计机构(ABDK、Certik、慢雾)的安全审计,用户掌控私钥,资产自主可控。

3. 从用户注册流程上,在CEX中,用户注册户名并设置密码进入交易所,此过程一般需KYC。需要提交相应材料并等待审核。在ZKSwap上,用户通过连接以太坊钱包到ZKSwap平台,无需KYC即可使用ZKSwap,更加快捷,方便。

4. 从交易流程上,CEX的交易通过订单簿撮合完成;ZKSwap则是基于自动做市商AMM模型,在用户资产使用效率和交易深度上有明显优势。交易过程由智能合约执行全部操作,无需任何第三方充当撮合中介。

4. 用户的资金托管在哪里

用户在ZKSwap Layer2 里的资产存在智能合约中,完全由自己掌控,除了拥有账户私钥的用户本人,其他第三方无法控制和转移用户资产。即使是项目方停止服务或跑路,用户依然可以从智能合约中自主取回资产。

5. ZKSwap 与路印协议的区别

ZKSwap和路印主要的区别是在产品路线,技术细节和用户体验等方面。

在产品路线方面,路印是基于订单簿模型的 Layer2 DEX,同时也开始探索基于 AMM 模型的 Layer2 DEX。ZKSwap 主要专注于基于 AMM 模型的 Layer2 DEX,并在未来希望搭建更多 Layer2 基础设施。

在技术细节方面,路印采用了 Groth16 的零知识证明算法,每次上线一个交易对都需要重置电路。ZKSwap 是基于较新的 Plonk 的零知识证明算法 ,效率更高,并且毋需每次更新电路即可更新可信设置。

总体来说 Layer 2 是一个巨大的赛道,Layer 2 的项目是太少了,而不是太多了。我们相信未来会有越来越多项目进入这个赛道,并带来更多的创新和多样性,ZKSwap 希望和这些项目一起共同搭建完整的 Layer 2 生态。

6. ZKSwap上如何交易

用户在连接钱包到 zks.app 后,充值资产到ZKSwap二层账户上,即可开始交易。具体交易流程可以参考:ZKSwap使用教程

7. 为什么L2转账不可以直接转到交易所地址?

由于目前交易所还未支持ZKSwap Layer2 转账,用户请勿用L2转账功能向交易所地址转账。未来我们将会推进与交易所的L2转账合作,支持用户通过ZKSwap 0Gas 费的实时转账到交易所。

8. ZKSwap提现可以更快吗?

近期完成的ZKSwap Layer2系统升级已优化ZKSwap提现功能。ZKSwap上智能合约处理的Layer2到Layer1提现时间,将从30-60分钟直接缩短为 20-40分钟。 未来我们将持续优化技术迭代产品,以提供更好的服务和体验给ZKSwap用户。

9. 为什么有账户最低余额的要求,才可以进行转账和swap ?

由于ZKSwap上转账和交易都需要生成零知识证明发送至Layer1确保资产安全,上链过程会消耗一定Gas费,为了限制恶意粉尘攻击而导致的ZKSwap运营成本增加,我们对账户限制最低余额来降低受攻击的风险。因此,用户进行L2操作前,需至少存入50ZKS或等值200usdt的代币至L2账户。

10. ZKSwap 为什么选择 ZK-Rollups 技术路线?

ZKSwap项目方经过大量的调研和测试工作,发现 ZK-Rollups 是最佳的扩容选择。ZK-Rollups 采用了当下比较热门的 Rollups 扩容思想来实现了 Layer-2 的扩容。同时ZK-Rollups 利用零知识证明技术,把 Layer-2 上的计算证明实时上链,实现了与以太坊 Layer-1 几乎同等级别的安全性。 ZK-Rollups 在交易的最终性方面有较大优势,提现时间也缩短了多个数量级,极大地提高了可用性。此外,随着计算机硬件升级以及零知识证明算法的发展,还能在现有的基础上更进一步提升 Layer-2 的性能。因此, ZK-Rollups 在可扩展性、安全性、可用性以及性能等方面达到了一个很好的平衡,也是目前最适合搭建 DEX 的二层解决方案。

11. 目前 ZKSwap 的 TPS 是多少?如何实现扩展性?为什么说因为以太坊的全局共识,花再多的钱都无法提高 TPS?

相比于以太坊 10-20 的 TPS,ZKSwap 目前的 TPS 在 15 秒 100 笔左右,理论上 TPS 能达到 6000 以上。因为所有的交易都在 Layer 2 发生,所以 ZKSwap 具备无限的拓展性。未来,ZKSwap 将主要针对以下几点提升可扩展性:

  1. 扩容大量的 prover 证明节点

  2. 增大每个 block 的 chunk 值,提升每个快的打包交易数量

  3. 优化电路层面,优化 GPU

而以太坊的全局共识存在吞吐量的限制,而吞吐量取决于区块大小和区块时间。区块越大,区块时间越短,吞吐量越大。 但区块越大不利于节点的去中心化,减少区块时间则会增加链分叉的概率。单纯地提高区块大小或者减少区块生成之间的时间都解决不了问题,因为区块需要时间传输验证,如果区块太大,那么就会造成网络节点的不一致性加重(分叉变多),从而严重影响安全性。

12. 如何在zkswap上面上线代币?

未来ZKSwap将开启社区治理,社区可以提案发起上币申请,参与ZKS长期锁仓挖矿活动的用户可凭借锁仓获取的gZKS来投票表决上币提案。

13. ZKSwap L2 账户如何工作

目前ZKswap的产品分为 layer2 钱包和 Layer2 AMM 交易协议两部分。钱包用于存放和用户的 Layer 2 资产,而 AMM 协议则用于进行交易。这和传统的中心化交易所的 钱包+交易 功能类似,二者互相配合,才能完成完整的 Layer 2 交易过程,缺一不可。

14.如何通过 web3 钱包,借助zkswap 0 gas 转账 和 0 gas 兑换 ETH 和ERC20

目前 ZKSwap 支持 Metamask,imToken,TokenPocket 钱包和比特派等钱包通过 ZKSwap 实时转账 ETH 和 ERC20 代币,用户无需支付任何 Gas 费用。请用户下载钱包后进行设置连接,之后 ZKSwap 会陆续接入更多钱包方便用户使用。具体使用教程见:

ZKSwap支持Web3钱包用户免费实时转账ETH和ERC20

15. ZKSwap的系统如何工作

ZKSwap 系统由链上智能合约,链下ZKSwap Server,零知识证明系统和前端用户界面组成。具体工作细节如下

ZKSwap系统

ZKSwap 智能合约

ZKSwap 会在以太坊区块链上部署一系列智能合约,用于存储用户存入的代币,同时需要记录和验证Layer-2的状态更新和相关证明,是连接链上和链下的关键枢纽。

ZKSwap Layer-2 服务端

ZKSwap 服务端是在链下实际处理所有交易的模块。ZKSwap 服务端可以通过 WebSocket 接口和用户发生交互,同时还可以监听以太坊区块链上的交易。所有合法的交易请求将被放入 ZKSwap 内存池中,最终由 Swap Engine 负责处理。内存池中的交易类型和上一节中 Uniswap 所有操作类型保持一致。Block proposer 对交易进行 Rollup,生成新区块,并由 State Keeper 更新 Layer-2 中所有代币的状态。State Keeper 会把状态发送给 Commiter,后者负责与Prove server 通信,获得对应交易的证明,并最终将状态和对应的 SNARK 证明通过 Ethererum sender 发送到链上的 ZKSwap 智能合约。

Plonk 零知识证明系统

ZKSwap 的零知识证明系统采用分布式架构,并采用最新的零知识证明算法 PLONK 生成证明。Prove server支持多个Prover。多个Prover 主动查询 Prove server 中的证明任务,生成证明后发回 Prove server。PLONK 的全局 trust setup只需要生成一次,电路规模在一定范围内的应用都可复用,极大地降低了零知识证明的使用门槛。

ZKSwap 状态树

ZKSwap 系统的状态树记录了当前系统中所有账户的余额状态。ZKSwap 的状态树是一棵高度为 34的默克尔树。根节点 Root 的子节点为系统中所有账户节点(24层)。账户节点分为两种类型:

  • 普通账户节点,用于记录账户内所有 Token 的状态。普通账户节点可以有任意多个叶子节点(10层),每个叶子节点都代表一种类型的 Token 及其数量;同一账户下的 Token 类型不可重复。

  • Pair 账户节点,用于记录 ZKSwap 中某个交易对资金池的状态。Pair 账户节点只包含两个叶子节点,每个叶子节点代表该资金池中一种 Token 的余额和类型。

ZKSwap 中交易的过程实际就是状态树更新的过程。

16. ZKSwap的发展规划是怎样的?

ZKSwap将积极开展与交易所和钱包服务商合作,支持 ZKSwap 的 Layer2 标准,支持ETH和所有 ERC20 的免费转账(包括稳定币等),并支持 隐私交易和隐私兑换。

ZKSwap 预计会在2021年年底完成 Plonk 零知识证明系统电路优化以及引入 GPU 加速的计划。除此之外,支持开发 ZKSwap 的 L2 Lab 会继续推动 Layer 2 协议层的发展,ZKSwap将进一步探索Layer2在NFT、稳定币等领域的应用,并引入EVM机制,构建一个标准的 Layer2 协议,支持更多的 DeFi 项目,使用 ZKSwap 的技术,在 Layer2 上构建未来的DeFi应用,进而打造一个开放和完整的 Layer 2 DeFi 生态。

L2 Lab 还会致力于推动区块链行业的范式转换,通过打造用户体验极佳的的 Layer 2 协议标准,让 Layer 1 成为清结算的根基,Layer 2 成为连接区块链应用和 Layer 3 的桥梁和出入口。ZKSwap 的使命是让所有的区块链应用都运行在没有任何限制的 Layer 3 的世界。