从Radix、StarkWare技术推论:DeFi需要一个什么样的底层网络?
如果我们深入layer2和layer1的技术逻辑,可能会发现:
有些DeFi适合在layer1扩容,选择以“分片”技术见长的Radix、Near,而有些DeFi适合在layer2构建高频繁交易区域,例如选择StarkWare的StarkEx系统。DeFi已然成为加密货币世界不可或缺的组成部分。
整个2020年,DeFi规模得到了空前增长。据DefiMarketCap统计,Top100DeFi代币的市值已经接近千亿,而通过查阅可知,DeFi锁仓资产也已经超过500亿美元。
上图为DeBank显示的DeFi锁仓资产变化
这个庞大的数字是基于以太坊形成的,如今,以太坊已经承担着BTC、ETH以及DAI等其他链上资产的流动价值,但根据以太坊的运行逻辑,在这个庞大的数字背后,是巨大的资源消耗。
通过查阅以太坊gas消耗量可知,在ETH价格不断攀升、DeFi应用不断增加的今天,以太坊单日矿工收入峰值已经超过2700万美金。除了常规的区块奖励外,这个数字中很大部分收入是由DeFi用户调用智能合约所致。
gas费过高不仅仅增加了用户使用加密货币的门槛,从更高的维度看,这阻碍了加密货币出现的初衷:普惠金融。
所以,加密货币需要解决交易中的成本问题,实现更低成本的DeFi交易。目前很多公链项目已经有了明确的发展路线图,以太坊的DeFi最多,所以目前其扩容方案最具有代表性,方案有三:转向PoS、分片、layer2。
以Layer2技术扩容的代表项目有StarkWare、Matic、Celer等,而以分片等方式扩容的代表网络有Radix、Near等。两种形式从技术上各有所长,对DeFi赛道的帮助也有所差异,本文中,我们将以这两种扩容设计来推论:DeFi需要什么样的加密货币网络?
以太坊和其他公链,都在尝试利用多链结构扩容,例如以太坊2.0可能实现的同构分片、波卡正在实施的异构分片、COSMOS的跨链结构。而新出现的雪崩协议等网络,在多链结构里更细化的定义了功能分层和功能模块化实现扩容。
这些都是庞大且长远的设计,例如波卡未来还需要经历插槽拍卖、COSMOS还需要建立更好的生态,其余的链的技术进展和生态建设也还处于初期状态。
对于其他更聚焦于扩容的项目来说,会更聚焦在单个网络结构里,例如在layer1实现分片,代表项目是Radix、Near。从长远来看,layer1的扩容(例如分片)是必然。在这些网络兼容EVM后,Defi都可以快速的迁移到网络上,如果解决资产的转移问题,这些网络都会成为以太坊的扩展网络。
不过对于DeFi需求旺盛的牛市,layer2的扩容落地很有必要。
以以太坊为例,以太坊的PoW链其性能远不如信标链,如果以太坊可以成功转向PoS,那其性能会有质的提升,不过以太坊转向PoS还会经历漫长的过渡期,在PoW链承担网络出块的阶段,只有layer2是最快实现的扩容方案,很多有先见之明的项目已经开始建立layer2的测试应用,例如AAVE、Synthetix、dYdX等,不过layer2的原理,会产生一些新的关联问题。
让我们来看一下Layer2的原理。
还是以以太坊为例,其layer2解决方案,是在以太坊上建立一个链下结构或者侧链结构,将以太坊上的地址余额映射到layer2层,然后在layer2层完成账户之间的交易以及其他操作,然后再将结算结果反馈回链上,确认最后的地址的数据变化。
这样对于运行在layer2的DeFi应用来说,只有刚刚启动layer2层和最终结算的时候,layer2和链上有交互,其他的交易过程都在layer2发生,不会占用链上的资源,可以实现快速处理交易以及有效减少gas的消耗。
但这种方式仍有两个关联的顾虑:
1.如果主链性能不佳,在链上出现拥堵的时候,layer2与账户结算仍可能需要较高的gas费和较长的确认时间。
2.在layer2层可能无法执行与链上其他资产、合约的交互,如果可以交互,仍需要多次调用链上资源,会产生1的问题。
因为除了交易被打包后形成区块存储在链上外,所有智能合约也是上传到链上的,DeFi的常态是资产合约、借贷、交易合约之间相互调用,所以当合约之间发生调用的时候,就是占用链上资源的时候。
这代表其一:支付gas费过程是无法避免的,其二:DeFi需要丰富的可组合性。
所以解决问题的根本在于,解决以太坊PoW链带来的gas问题并保持DeFi之间可组合性。这就带来了答案:如果layer1层的性能足够快,并不需要layer2去扩容,如果不是适合layer2的业务,尽量使用layer1扩容技术,因为layer2会影响智能合约的组合性。
不过牛市的火热需求里,layer2是很多项目谋求发展的选择,例如dYdX将以StarkWare的技术搭建StarkEx系统用于永续合约交易。我们来看StarkWare的技术逻辑。
StarkWare其目标是在以太坊下层建立一个网络,该网络与链上的交互过程以及layer2层的通讯过程会应用Rollup以及零知识证明以保护其安全,但在这个网络内应用各类DeFi的前提是需要把DeFi部署在StarkWare的网络里。
StarkWare未来将形成的layer2网络结构
例如dYdX是订单簿形式的DEX,在没有应用layer2之前,dYdX的订单簿撮合是在链下工作的,会将结算数据与链上交互同步,这个过程会产生高额的gas费,应用layer2后,StarkEx系统会将结算过程在layer2层完成,这会明显降低这个过程的gas费消耗。
但这会带来一些关联的影响,例如使用的步骤会略复杂,可能无法在移动端应用、以及可能会产生layer2的开户成本。此外,带来最大的问题是,如果dYdX想要与其他DeFi协议开启组合应用,需要其他DeFi应用也部署到这个网络里。
从加密货币的初衷来看,这并不是普惠金融的做法,其应用可能最终会成为高级用户和专业用户的领地。
因此相比于能让一些DeFi(需要频繁交易)跑的更快的layer2,一些DeFi更适合使用layer1的扩容方案或性能更高的网络。
例如Compound曾透露可能会转移到其他公链,订单簿形式的DEX需要大量的交易过程,因此也更适合layer2。而借贷、稳定币、AMM池等会更适合运行在性能更好的网络上,在丰富的组合性上发挥最大价值。
那如何确认DeFi需要什么样的layer1呢?Radix在其网络设计中给予了一定思路:
1.解决共识问题带来的性能瓶颈。
2.尽力打造可组合性。
所以Radix采取了一些另辟蹊径的方式。
前文我们提到的同构分片、异构分片,其中分布的片,是一部分节点组成的链。可以理解为划分一些节点成为一个分区,这个分区独立其他分区存在,分别处理任务,
例如以太坊2.0,如果还依据原来执行分片的路线图,初期可能建立64个分片,而这些分片都最终由信标链来完成交易验证,分片之间的通讯叫做“交联”,如果其中一个分片需要验证其他分片时,才会进行分片间通讯。而因为分片的存在,DApp开发者在以太坊上开发DApp的时候需要选择一个分片来做为主要的处理区。
这意味着这个DApp如果需要向其他分片获取数据的时候,会出现一些冗杂的步骤。在波卡、COSMOS实现的结构也是如此,波卡的平行链就是异构分片结构里的分片,平行链之间的交互是通过中继链进行,但交互过程较为复杂,需要平行链之间去单独定义。COSMOS也是如此。
这样的分片,是一种划定界限的设计,每个分片链会形成一定的孤岛效应,自然会出现一些后续问题。
但如果变化一下思路就可能产生一些新的技术思路。
例如Radix在数据库分片的形式之上设计了新的共识机制。可以理解为一个数据库分片 共识的新的分片结构。
Radix的分片部署示意图
这种分片不同于上文提到的定义一些节点作为分片链,而是把加入网络的计算资源全部先切分为不同的分片,分片不是通过链划分的,而是通过随机命令随机分配到已经确定的分片位置里,这些通过命令分出的分片再组成一个个大的分区。
这种预先设定好分片位置,然后动态的将命令分配到各个位置形成分片的方式,需要通过共识来确认最终的状态。Radix的Cerberus共识是执行这个过程的,与信标链的ghost算法实现最终确定性一样,Cerberus共识可以确定交易的排序以及形成最终的数据集交给验证者验证。
这样做最好的方式是,可以实现更大的并行,调动所有的资源去使用,而不是固定分区带来的一些边界问题。
其次,重要的问题是组合性。
对比以太坊,链上的组合性是智能合约之间的相互交互,例如通过Compound借贷出的cToken等可以在其他DeFi里进行挖矿以及swap。这就代表了DeFi的合约要调用Compound合约去确认cToken。该合约之间的调用是组合性的体现。
如果两者不在同一个网络或者分片里部署,那就很难组合到一起,需要网关的处理或者需要一个映射的智能合约存在。
为了解决这个问题,Radix的思路是,减少智能合约的编程复杂性,因为智能合约中一定会对账户的账本做记录以输出最终结果,但如果在layer1里实现,就可以把智能合约换成更小单位的执行过程,Radix将这个执行单位成为“组件”,其提前定义了“组件”的功能,这些组件的执行非常简单直接,从而让多个组件组合在一起也可以快速执行DeFi的业务。
例如,当一个智能合约是转账的情况下,这个智能合约需要对两方的账户做编辑,即形成一个小的总账本,在转账方销毁,在接收方增加。而如果使用Radix的组件设计,将组件设计为a的转账代币属于b即可,这样执行起来非常快速,无需更多的证明。
这会实现足够多的组合可能性。
Radix的组件示例
据官方技术文档介绍,目前Radix基金会建立的组件将包含DeFi应用的一些标准功能。会包括(如图的):资产(可替代或不可替代代币)、账户(包括多sig控制)、流动性池、交换系统、可购买资产、数据预言机等。
这些组件都可以直接实例化,例如通过API调用创建自定义token的供应或者以各种方式进行模块化组合创建更复杂的功能。
就像Compound曾透露在考虑新公链一样,对于当下红极一时的DeFi来说,选择新网络,是有挑战的。
迁移到另一条公链的可行与否,不仅仅是性能上的考虑,与这条链对于以太坊、比特币等网络的资产兼容、链上基础货币的价值都有偌大的关系。
所以暂时看,没有DeFi能够逃离以太坊,但不乏有新的尝试出现。2月11日消息,Chainlink、Aave、mStable和Messari、Radix宣布联合推出了一个新的DeFi联盟GoodFi。这个联盟旨在促进DeFi行业的教育、研究和实践发展。这让我们看到了希望。
期待成本低、体验好的DeFi早日出现。