ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

金色财经 阅读 115419 2021-4-23 09:10
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

ZKSwap V2 版本预计将于6月初正式上线,届时新版本将会支持Layer2 的自主无限上币,用户可以自主添加自己发行的ERC20 token 到ZKSwap 的Layer2 支付网络和兑换网络,实现免费实时转账任意ERC20 代币(包括任何稳定币)以及免费实时兑换任意ERC20 代币。

ZKSwap 在V1 的基础上,V2 版本新增了如下功能:

1)"⽆限"上币- ⽤户在⽀付⼀定费⽤的情况下,可以⾃主添加任意Token,并可创建交易对;

2)优化电路分支的实现,提升电路效率- ⽀持⼀个账户,两个余额的修改;

3)优化提现体验- V1 版本中,提现的操作和区块验证操作捆绑在⼀起。由于每笔gas 费⽤的限制,导致区块中的提现的个数受限,特别是在聚合验证的情况下,受限更多。V2版本将会优化用户的提现体验。

1. Token管理

ZKSwap V2 版本将⽀持三种类型的 Token:Fee Token、User Token 和LP Token。总共⽀持2^16 个Token。 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

1.1 Fee Token 

Fee Token 只能由Governor 添加,主要为ETH、ZKS、USDT、USDC 和BTC 等。

1.2 User Token

User Token ⽤户可以付费添加。

1.3 LP Token 

ZKSwap ⽤户创建交易对时,必须⽀付费⽤。LP Token 将在⽤户创建交易对时⾃动添加。用户创建的交易对中必须有⼀种 Token 是 Fee Token。User Token 能创建的交易对个数受限(由Governor 设置)。 

1.4 Governor Config 

Governor 可以设置添加User Token 和修改创建交易对⽀付的费⽤。

2. 账户管理

ZKSwap V2 版本将⽀持2^28 个账户。其中账户0 为Validator 账户。

3. Fee模型

ZKSwap V2 版本上的Layer2 交易,可以指定Fee Token 中的⼀种作为⼿续费。 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

4. Pub Data of Transactions 

ZKSwap V2 版本上的所有交易(包括Layer1 / Layer2 交易)都需要打包提交Pub Data 到Layer1。为了保持最优的电路性能,Chunk ⼤⼩为11 字节,兑换和转账只需要2 个Chunk。

4.1 Noop 

ZKSwap V2 版本允许存在空交易,来填充Layer2 区块。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1 字节。

4.2 Deposit 

用户从ZKSwap Layer1 发起充值操作时,系统会将用户 Layer1 的资产映射到Layer2。

a. 接⼝函数

function deposit ERC20 (IERC20 _token, uint104 _amount, address _franklinAddr) 

function deposit ETH (address _franklinAddr) 

b. pub data  

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+2+16+20 = 43 字节。总共4 个Chunk。 

4.3 Transfer 

用户通过ZKSwap Layer2 发起的转账交易,可实现任意Token 的转账。

a. pub data  

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data的总⻓度= 1+4+2+4+5+1+2 = 19 字节。2 个Chunk。

4.4 TransferToNew 

用户通过ZKSwap Layer2 发起转账交易,可实现任意Token 的转账。转账对⽅不需要提前创建账户。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+2+20+4+5+1+2 = 39 字节。4 个Chunk。

4.5 Withdraw 

用户通过ZKSwap Layer2 发起提现操作,可实现任意Token 在Layer1 的提现。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+20+2+16+1+2 = 46 字节。5 个Chunk。

4.6 FullExit 

用户可直接从ZKSwap Layer1 发起FullExit 请求,提取资产,此操作需要Layer2 提供证明。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+2+20+16 = 43 字节。4 个Chunk。

4.7 ChangePubKey 

用户通过在ZKSwap Layer2 发起提取交易,可实现任意Token 在Layer1 的提现。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+20+20+4 = 49 字节。5 个Chunk。

4.8 CreatePair 

用户通过ZKSwap Layer1 发起交易池的创建。创建交易池需要在Layer1 创建对应的智能合约(LP 代币)。

a. 接⼝函数

function createPair (address _tokenA, address _tokenB) 

b. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+ 4+2+2+2+20 = 31 字节。总共3个Chunk。

4.9 AddLiquidity 

用户通过ZKSwap Layer2 添加流动性。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+4+5+5+5+5+1+2 = 32 字节。总共3 个Chunk。

4.10 RemoveLiquidity 

用户通过ZKSwap Layer2 移除流动性。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+4+5+5+5+1+2 = 27 字节。总共3 个Chunk。

4.11 Swap 

用户通过ZKSwap Layer2 实现两种Token 之间的兑换。

a. pub data 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

pub data 的总⻓度= 1+4+4+5+5+1+2 = 22 字节。总共2 个Chunk。

5. Circuit Optimization 

ZKSwap V2 版本为了降低AMM 相关操作的Chunk 个数,需要降低“Branch”的个数。原有设计在状态树上的⼀个Account 和⼀个Token 的Balance 组成⼀个“Branch”。在AMM 相关的操作中,如果采⽤Fee Token 的⽅式,原有的设计效率⽐较低,需要⽀持1 个Account 和2 个Token 的Balance的“Branch”。

1) Account Audit Path (aap)

2) 该Account 下的2 个Balance (balance0 / balance1) 在修改前的Audit Pat(bap0/bap1) 3) 该Account 下的2 个Balance (balance0'/balance1') 在修改后的Audit Pat(bap0'/bap1') 

在修改前电路需要证明: 

balance0 + bap0 ==> b_root0

balance1 + bap1 ==> b_root0 

account (b_root0) + aap ==> root 

在balance修改后电路需要证明: 

balance0' + bap0 ==> b_root0' 

balance1 + bap1' ==> b_root0' 

balance1' + bap1' ==> b_root0'' 

account(b_root0'') + aap ==> root' 

6. AMM Circuit Explanation  

6.1 CreatePair Circuit  

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

6.2 AddLiquidity Circuit

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

6.3 RemoveLiquidity Circuit 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

6.4 Swap Circuit

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

7. Withdrawal Optimization

ZKSwap V2 版本提现操作和区块验证隔离开,区块中的提现个数将不受限制。 

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

在某个区块验证后,通过Check Withdrawals 函数创建Pending Withdraws,再通过Complete Withdrawls 完成提现。Complete Withdrawls 函数需要增强可以优先处理某个Pending Withdraws。区块验证是针对多区块聚合实现的。Check Withdrawals 针对每个验证后的区块进⾏处理。创建⼀个Pending Withdraw 的gas 费⽤在7w 左右,按照⼀个交易最⼤的gas 费⽤1250w 来说的话,⼀个区块⽀持的最⼤的提现个数是178 笔。

7.1 checkWithdrawals  

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

7.2 completeWithdrawals  

ZKSwap V2版本预计将于6月份上线 支持Layer 2自主无限上币

8. Limitation 

1. Fee Token:32个;User Token:16352个;Pair:49152 

2. 兑换中交易对的2 个Token,其中一个必须是Fee Token;

3. 兑换时收取的费用将是2 个Token 中的一个Fee Token;

4. 所有交易的⾦额最⼤为120 bit,且任何中间计算变量的最⼤值为120 bit。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接:https://www.jinse.com/
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
标签: Layer 2 ZKSwap
上一篇:Cardano创始人对未来加密货币监管的看法 下一篇:你现在就可以在 Layer-2 上做的 7 件事

相关资讯