去中心化应用不一定需要构建在以太坊[2]或者某一条公链上。当我们在谈论 DEX 的时候,几乎都是指 Uniswap[3] 这样的运行在以太坊上的智能合约程序。本文会探讨一种新的 DEX 构建模式,它具备 Uniswap 的自动做市的特性,具备区块链一样的安全特性,但是没有 MEV,并且拥有几乎无限的性能拓展能力。
自动做市的思想源自 Uniswap,若要打造新型的 DEX 应用离不开 Uniswap 的构建哲学:用最简单的算法,借助区块链将做市的权利从专业的机构下放到每一个用户。

Uniswap V3[4] 的全局系统架构如上图所示,V3 的智能合约是运行在 EVM 上的,而 EVM 是运行在每一台 geth 节点中。因此 V3 的计算过程会被成千上万的节点进行运算,并通过 PoW 获得统一的共识。
深入 V3 合约,V3 本质上是通过 Router 对多个 NFT [5]的流动性进行聚合,每一个 NFT 都是个人用户提供的流动性池,有自己的曲线和做市区间。当用户向 V3 合约请求价格时,Router 会进行聚合计算,产生一个当前最优价格。用户会签署该价格并发送给 Uniswap 合约进行执行,这笔交易会同步更新多个 NFT 的状态,为用户提供安全可靠的兑换功能。
在构建原型之前,我们需要学习一下 everPay 和 evePay bundle 交易。everPay 是基于 Arweave + SCP 的区块链金融基础设施,具备实时转账,账本可验证的特性,用户和开发者可以使用 everPay 进行实时的代币结算。

Bundle 交易是 everPay 的一种交易类型(opAction),可以进行多对多的转账,一笔交易中要求多个转出方的签名,交易在 everPay 上执行时,如果有一笔转账失败,则整个交易回滚。是一种多对多的事务性转账功能。
熟悉 Uniswap V3 之后,再加上 SCP 的基础知识以及 everPay 提供的 bundle 交易,就可以创建新一代的 DEX 了。

将 Uniswap V3 的 Router 合约 替换为 Router 节点:一种任何人都可以部署的路由网关节点。router 会采集 LP 的信息,和 V3 一样,收到请求后可以聚合出最优价格和兑换路径。
将 V3 的 NFT 替换为 LP 节点:拥有私钥和自动化的签名程序,LP 节点程序依照用户设定的曲线公式和区间进行报价和 bundle 签署。LP 的报价信息和做市曲线会在启动时提交给 router,并和 router 保持网络通讯。router 会将有效的 bundle 订单发送给 LP 节点进行签署,LP 按照自有的做市规则进行判断和签署,成功的签名发送给 router。
a. bundle 兑换路径实例:userA tranfser tokenA to lpB, lpB transfer tokenB to lpC, lpC tranfer tokenC to userA
该网络对于用户体验极好,用户只需要访问一个连接了某台 router 节点的 UI,根据 router 的价格进行签名确认即可。router 和 LP 之间使用 websocket 通讯,能让一笔定在在数秒能就完成签名,并通过 everPay 实时执行,交易速度非常快。同时,用户的价格所见即所得,不用担心在以太坊上出现的 MEV:被 flashbot 走滑点利润。
唯一的劣势是做 LP 需要跑节点,该劣势也可以改善。比如我们的手机钱包可以成为 LP,用户在手机上滑动一下做市区间,并选择做市曲线就可以将手机中的闲置资产用于自动套利。用户像玩网络游戏一样加入 DEX 兑换网络,手机上的程序会保持在线并按照用户设定的规则进行自动做市。
从上面的原型可以看出,开发去中心化应用并不需要链上智能合约,上面的系统开发成本也非常的低,这样的开发模式也符合 web2 开发者的思路。我们可以预见,WEB3 时代崛起,一定不会局限在区块链以及 EVM[6] 之中,一定会有更多的范式去产生 WEB3 应用。SCP 是 WEB3 开发非常好的选择,让应用具备区块链不可篡改、可追溯等特性的同时,又能提供大规模应用的可拓展性。
[1]
outprog: https://learnblockchain.cn/people/739
[2]
以太坊: https://learnblockchain.cn/article/2226
[3]
Uniswap: https://learnblockchain.cn/article/274
[4]
Uniswap V3: https://learnblockchain.cn/article/2302
[5]
NFT : https://learnblockchain.cn/article/2356
[6]
EVM: https://learnblockchain.cn/article/1229