ZeroSwap:基于ZK-Rollup的 DEX

2020-09-30 17:05 栏目:经验之谈 来源:网络整理 查看()

DEX是DeFi领域最重要的组件。据Duneanalytics统计,DEX过去7天的交易额已经超过40亿美元。Uniswap当天的交易量也超过了3亿美元,是链上记录的真实交易量,不能造假。

今年年初,Uniswap锁定的资产金额只有1500万美元左右,即使在7月25日,两个月前也只有8000多万美元,仅仅过了两个多月,Uniswap就锁定了20多亿美元,可见其发展之快。

ZeroSwap:基于ZK-Rollup的 DEX

德克斯难题

DEX虽然发展很快,但也不是没有缺陷。今天的DEX交易量往往是由投机交易、矿业等因素驱动,掩盖了一些需要注意的问题。这些问题包括成本高、速度慢、吞吐量低、用户体验差等等。参与过挖掘的用户深有体会。在拥堵高峰期,采气成本几十美元甚至几百美元的情况屡见不鲜。

ZeroSwap:基于ZK-Rollup的 DEX

由于AMM模式下的大多数DEX执行都是在链上完成的,所以每个事务和每个操作都需要等待块确认,这导致事务速度较慢。对于用户来说,swap本来就是用来交换的,但是交换体验并不理想。

目前大部分DEX都是基于Ethereum的,Ethereum的TPS不到20。对于不断增长的交易需求,这种吞吐量水平显然是不够的。

德克斯的技术出路

目前DEX用户还是比较小的加密用户,即便如此,也是不堪重负。假设DEX会与CEX竞争,对CEX形成足够的竞争压力,也需要解决上述基础设施滞后问题。

为了解决这些问题,目前有两种选择。一种是离开以太琴,进入其他公共链进行建造,就像血清目前在索拉纳上建造DEX一样;第二,还是留在以太网,用二层技术扩展,等待以太网的碎片化。

在其他公链上建DEX的好处是可以大大缓解成本、速度、吞吐量的问题;缺点是从头构建需要很长时间,因为Ethereum的DeFi上有足够多的乐高技术,形成了一定程度的网络效应,Ethereum在网络安全性上也更高。

还有第二种方案,还是基于Ethereum,但是充分利用了第二层技术,解决了DEX存在的问题。蓝狐Notes之前也提到了二层马场《以太坊的Layer 2赛道》,其中Zk-roll在安全性上有其优势,也能解决成本和吞吐量的问题,适合DEX的建设。

零交换的第二层方案

ZeroSwap是基于Zk-Rollup技术的DEX。ZK-罗珀是第二层的解决方案。ZeroSwap试图解决DEX的上述问题。其核心是应用Zk-Rollup技术实现低成本、快速的经验交流,同时还具有高级别的安全性。

使用Zk-Rollup技术,ERC20令牌转移到第2层,所有令牌交易和赎回都在第2层进行。然而,因为它可以通过连续生成的零知识证明来确保第1层和第2层状态的一致性,所以它可以实现更快的赎回,而无需等待块确认时间和支付高额的汽油费,同时,它在第1层也具有安全性,这接近于CEX的令牌赎回体验。

具体来说,零交换利用了zkSync的Zk-Rollup技术。ZkSync是Zk-Rollup技术的实现。首先,用户将签署的交易提交给验证者。验证器对多个事务执行汇总操作,将它们组合成一个块,并将更新后的合同状态树的根散列和相应的SNARK证书发送给链中的合同。验证者也会将交易对应的状态增量发送到链中,让人们在交易后重构状态。

由于SNARK证明和状态增量将通过链式契约来验证,因此它可以证明所有事务的合法性和块数据的可用性。所以验证者不能篡改状态,不能挪用二层的资金,因为所有的状态变化都需要相应的证明,不能伪造。

此外,在这个过程中,资金没有委托给第三方,私钥仍然在用户手中。从Zk-Rollup对zkSync的实现可以看出,Zk-Rollup的核心思想是通过大量的事务聚合和链式智能契约对这些事务进行分析和验证,利用零知识证明技术对这些聚合事务的证明进行链式证明,从而实现第2层的令牌事务。

在这个过程中,大部分的计算和存储都发生在链下,存储在链中的数据大大减少,资金被锁定在智能契约中。同时,由于SNARK证书和交易状态增量存储在链中,即使验证器不工作,用户也可以恢复交易,通过链上的数据检索锁定的令牌。这样可以保证令牌的安全性,用户仍然控制私钥,和目前第1层的DEX没什么区别。在保证安全性的前提下,可以大大降低交易成本,加快交易速度,实现几个层次的体验提升。

SNARK验证的气体消耗远低于大量交易的验证,将完整状态存储在链下的成本远低于存储在链中的成本。理论上,Zk-Rollup可以通过第2层实现Ethereum的可扩展性,同时大大降低了交易成本。

目前,零交换实现了基于zkSync ZK-罗珀的第二层技术,适用于构建安全的分散交换协议。它支持基本的令牌交换,包括令牌的存放、转移和交换以及令牌的提取。保存令牌意味着将令牌从zkSync的第1层转移到第2层;转账兑换是指第二层的令牌转账和令牌交易,优点是基本没有手续费;最后,令牌被撤回,第2层上的令牌被转回第1层帐户。

ZK安全-汇总

ZeroSwap基于Zk-Rollup技术构建了一个分散的DEX协议。表面上看,ZeroSwap是一个类似于Uniswap的AMM模式的DEX,但从底层技术实现和用户体验来看,两者还是有一些区别的。

UNISWAP和现在的Uniswap最大的区别是可以大大降低交易成本,大大提高交易速度,实现接近CEX的交换体验,保证一层安全水平。考虑到其他的第二层方案,比如最优卷包和Validium技术,虽然可以大大提高交易速度,降低交易成本,但是在安全性上做了很大的平衡。

ZeroSwap:基于ZK-Rollup的 DEX

鉴于ZK-罗珀对安全的重视,基于ZK-罗珀的DEX是未来的发展趋势。根据零互换的计划,预计将于10月底推出。由于Uniswap的第二层尚未推出,ZeroSwap可能成为第一个推出基于ZK-roll的AMM模式的DEX。

零交换的总体框架

从大框架来看,零交换系统包括链上智能契约、链上零交换服务器、零知识证明系统和前端用户界面。详情如下:

ZeroSwap:基于ZK-Rollup的 DEX

链式智能契约是部署在以太网的一组智能契约。用户的令牌会存储在其中,它还会记录和验证第2层状态的更新和相应的证明,这是连接链和链的桥梁。零交换的第2层服务器处理链中的事务。一方面,它通过接口与用户交互,另一方面,它监控以太网链中的事务。

事务请求将被放入零交换的内存池中,块提议者将汇总事务以生成新的块,状态保持器将更新第2层中的令牌状态并将其发送给提交者。提交者与证明服务器通信以获得相应交易的证明。这些状态和相应的SNARK证书将被发送到链上的零交换智能契约。

零交换零知识证明系统的两个特点。首先,它具有分布式体系结构,其证明服务器支持多个证明者,可以查询证明服务器的证明任务,并在生成证明后返回给证明服务器。其次,采用了PLONK的零知识证明算法,可以大大降低使用零知识证明的门槛。

PLONK的全局信任设置只需要生成一次,电路规模在一定范围内可以重用。ZeroSwap的交易过程会体现在其状态树的变化上。

ZeroSwap的状态树是一棵高34的默克尔树,用来记录当前系统中所有账户的余额状态。

根节点根的子节点都是系统中的账户节点。账户节点包括普通账户节点和配对账户节点。公共帐户节点用于记录帐户中所有令牌的状态,并且可以有多个叶节点,每个叶节点代表一种令牌类型及其数量。账户对节点用于将零掉期交易的状态记录到现金池中。它只包含两个叶节点,每个叶节点代表资金池中一个令牌的余额和类型。

ZeroSwap:基于ZK-Rollup的 DEX

综上所述,ZeroSwap在技术上有自己的特点。比如采用Plonk证明系统,其ZK证明电路可以支持不同大小,其初始可信设置只需要一次,可以在现有设置上升级;Uniswap的交换逻辑在第二层实现,有可能成为第一个实现基于ZK-roll的AMM模式的DEX。如果成功实施,可以大大降低用户成本,加快交易速度。

零交换的用户操作背后

与第1层的DEX相比,基于第2层的ZeroSwap有哪些操作?这些操作和第1层的DEX有什么区别?从用户前端操作来看,ZeroSwap比Uniswap有更多的存取令牌操作,其他操作基本相同。

从交易者的角度来看,在ZeroSwap上完成交易需要哪些操作?这些操作的背后是什么?

与第1层的DEX交易相比,第2层的DEX交易需要先将令牌从第1层账户存入第2层账户,然后再交换或转移令牌。这将涉及代币的存放、转移、兑换和提取。

第一步是将代币存入第2层账户。用户将在邰方连锁店的零掉期合约中存入代币。一旦零交换监控到用户将令牌转移到链上的零交换的契约,它将根据事务细节更新状态树。ZeroSwap会根据交易找到对应的账户,并根据存款金额更新账户中令牌的余额。如果帐户没有相应令牌的叶节点,将首先创建令牌的叶节点,然后更新状态。叶节点的状态更新将导致根节点的哈希发生变化。根节点的散列连同存款交易的SNARK证书一起被发送到链上的零交换合同。

其次,在第二层进行转移和交易。零交换转账是将令牌从一个账户发送到另一个账户的过程。传输也由第2层的用户发起。收到转账请求后,ZeroSwap Server找到对应的收发账户,更新这两个账户下的令牌余额状态。状态树的根节点的更新的散列连同对应于转移的SNARK证书一起被发送到零交换的智能契约。

然而,它不是链中的令牌转移,因为令牌仍然在零交换契约中。用户在第2层进行交易,这实质上是用他们自己的令牌和第2层的令牌交换资金池中的令牌。用户将ZeroSwap账户下的某个令牌发送到对应的令牌对账户,ZeroSwap根据AMM算法计算用户可以获得的对应令牌数,并发送给用户账户。

同时,ZeroSwap将状态树根节点的更新后的哈希和赎回操作对应的SNARK证书发送到ZeroSwap契约。交换令牌后,链中的令牌状态不会像传输操作一样发生变化,因为令牌仍然在零交换契约中。

ZeroSwap:基于ZK-Rollup的 DEX

最后,与第1层的DEX不同,第2层的DEX令牌需要返回到第1层,用户需要从第2层账户提取令牌到第1层。当用户从ZeroSwap中提取令牌时,首先用户在第2层发起,然后ZeroSwap服务器接收用户提取硬币的请求,然后更新用户账户下对应的令牌状态,并将更新后的状态树根节点hash和提取操作的SNARK证书发送到链上的ZeroSwap契约。合同被验证,然后锁定在合同中的相应令牌被发送到链中用户的帐户。

这类似于传统的CEX货币提取操作,但不同的是,用户可以自由控制零掉期指数的货币提取,而CEX的货币提取受到CEX机构的限制。在AMM模式的直接交易中,为了完成交易,交易者必须首先有一个令牌对的流动性池。

那么,从流动性提供者的角度来看,零掉期上如何提供流动性,如何去除流动性?背后的原理是什么?

流动性提供者如何增加流动性?

首先,用户发起在第2层添加令牌的请求。ZeroSwap服务器收到请求后,会找到对应请求者的账户和令牌对账户,然后根据AMM算法将用户账户下的两个令牌转移到令牌对账户。系统根据当前令牌池中的资金量,计算用户可以获得的LP令牌数量,LP令牌代表用户在流动性池中的权益。更新后的状态树根节点散列和相应增加的流动性证书被发送到零交换合同。

ZeroSwap:基于ZK-Rollup的 DEX

流动性提供者如何去除流动性?

首先,用户在第2层发起移除流动性的请求。零交换服务器收到用户请求后,会找到对应请求者的账户,销毁对应数量的LP令牌。同时,令牌对帐户将按照被销毁的LPs数量的比例将两个令牌返回给请求者的帐户。更新后的状态树根节点哈希和相应的流动性移除操作证书被发送到零交换合同。

最后,在ZeroSwap上还有另一个流动性提取操作,它不移除流动性,而是从第2层到第1层的流动性池中提取LP令牌。从操作过程来看,与从第2层提取回第1层的其他令牌是一致的。但是不同的是,LP令牌也有一个“casting”,所以需要在第1层生成LP令牌,并发送到对应的账户。

ZeroSwap什么时候推出?根据ZeroSwap发布的计划,可于2020年10月10日在Ethereum测试网上使用,支持二层交易池的创建和交换以及流动性的增减;2020年10月20日,支持多个交易池组合。2020年10月30日正式上线,在Ethereum主网上启动,支持类似Uniswap的各种功能。2020年12月30日,实现了Plonk校样系统的电路优化和校样性能的GPU优化;2020年11月初,移动采矿将开始。

第二层和直接执行系统的发展

DEX不仅是DeFi的重要发展,也是整个加密领域最大的发展之一。在加密领域,CEX是最大的价值获取者。现在德克斯已经逐渐演变成CEX真正的对手。

但DEX在可扩展性、交易成本、交易速度、交易体验等方面仍然存在不足,无法达到CEX的水平。但随着第2层解决方案的引入,尤其是Zk-Rollup技术的引入,DEX将逐步解决其不足。一旦这些技术缺陷得到解决,DEX将有机会走向大规模人群采用,进而成为CEX实质上的真正竞争对手。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发