您的位置:首页 >行情 >

如何“原地扩容” 将Layer 2带给DeFi而非DeFi迁移至Layer 2

2021-02-19 18:49:30来源:金色财经

今天我们正式发布Celer Network旗下最新解决方案:Layer2.finance. Layer2.finance致力于降低DeFi使用门槛,让普罗大众再不必担心高昂的交易手续费,能够自由且方便地使用现有DeFi协议从而获得高额收益。Layer2.finance不是一个新的DeFi协议,而是一个低门槛且无需信任中心化第三方的「DeFi世界总入口」。

众所周知,现有的Layer-2扩容解决方案都需要将DeFi协议和生态进行整体迁移,这样不仅会影响DeFi的可组合性,同时还会造成生态、用户以及流动性的割裂。Layer2.finance则实现了对现有DeFi生态进行「原地扩容」。由于不需要将DeFi迁移到Layer-2,在确保Defi协议流动性不被分散的同时,还能保证其可组合性。Layer2.finance让多个用户,原本需要多次,多账户,完成的资金分配交易,通过Layer-2 rollup聚合为单次交易。这个聚合过程是通过一个创新性的Layer-2到Layer-1的广义函数调用来实现的,能够在确保与Layer-1同等安全性的情况下,不需要对任何中心化的第三方有额外信任。下面我们将详细介绍发布layer2.finance的动因、具体解决方案以及上线计划。

DeFi 落地速度正在大幅降低,或将成为巨鲸专属游戏

在过去的两年中,我们一起见证了DeFi用户和锁定资金的双百倍增长。这样一个开放自由且不依赖第三方的国际金融体系拥有让人热血沸腾的潜力:我们都希望DeFi迅速开启狂暴增长模式,早日从一个加密朋克的乌托邦进入寻常百姓家。

但是当我们仔细研究链上数据,却发现DeFi的增长在最近已经明显放缓。DeFi,一个本应是无歧视,无国界,能让普通人站在和大型机构一样起跑线上,共享全人类有效金融市场的开放理想国,正在崩解成为一个平常人无法进入的贵族围城。

图一:DeFi用户增长速度放缓

如图一所示,在去年夏天的快速增长之后,DeFi生态的整体增速已经放缓,每日新增用户回落到了2000左右,并且如果我们去看一些「蓝筹」和「入门级」DeFi项目的话,比如Maker,yEarn,Curve,其增速放缓的趋势更加显著。

另一个重要的指标是DeFi每日活跃地址数(日活)。某种程度上讲,日活可能是一个更精确的DeFi活跃度指标,因为它能够比较好的排除一个人多账户的现象,并可以真实反应有多少人每天在活跃”的使用DeFi产品。我们可以从图中看到,在经历了去年夏天的10X增长之后,DeFi日活基本不再大幅增长,稳定在一个4万的水平。

问:那么4万日活是什么概念?

答:少的可怜。

如果我们拿

「单个」

「苹果手机系统上的」

「美国市场上的」

「综合排名1500左右的」

游戏来看的话(注意加了四个限制定语)。这个游戏的DAU大约是全世界DeFi日活的两倍有余。如果按照这个趋势,再过一年,整体DeFi的活跃度都不一定能超过一个很普通的手机游戏。

不是,等一下。DeFi用户不增长,这完全没道理啊!哪怕是最稳定可靠的一些DeFi应用,都能达到10%左右的无风险年化收益,且不论相较美国活期存款利息高出250倍,就是吊打不少私募基金也都完全不在话下。咱们别说老一辈的用户,就说生在互联网时代,对金融有所理解,收入较高的中青年白领阶层,不说一窝蜂冲上去,怎么不也有几千万用户,每人放个万八千的试试水?诚然,有区块链理解门槛,用户使用习惯等客观问题存在,但是古话说得好,有钱能使xxx,强大的资本势能当然可以踏平一切门槛。

所以我们不禁要问:为什么?为什么没有大批的用户各自携带万八千资金,涌入DeFi?

高额的区块链交易手续费正是罪魁祸首。区块链交易对于不同价值的交易,只要是同样的计算和储存成本,都一视同仁。但讽刺的是,正是这样的「无差别待遇」,造成了一个对小体量用户极为歧视的DeFi生态。这导致对于「小鱼」级用户,10%的年化收益就是一个白日梦。

让我们看两个例子:

例1:

小红存了5000元到交易所,想要玩儿玩儿DeFi

小红买了1000元的ETH,以及4000元的USDC

小红把ETH和USDC都取到了自己钱包里面,花了60块的手续费

小红想要把4000元USDC存到Compound赚取年化10%的收益

小红惊讶的发现,手续费需要支付420元

小红懵逼:为了赚一年400元的收益,我要先交420元,这什么操作?

小红放弃继续探索DeFi世界

例2

小丽存了5000万到交易所,想要玩儿玩儿DeFi

小丽买了1000元的ETH,换了4999.9万的USDC

小丽花了跟小红一样的60块手续费,把USDC和ETH取到了钱包里面

小丽放了3000万到Compound,手续费也跟小红的完全一样:420元。在不到两小时后,小丽就收回了她420元的手续费交易成本

剩下的1999.9万,小丽彻底玩儿high,在花了6万尝试了50种不一样的DeFi协议之后,找到了一个风险较低,综合收益达到50%的策略。

在一个月内,小丽赚到了45万的净利润,小丽很开心

我们可以很明显的看到,我们所希望看到的「早期多数」用户,被交易手续费赤裸裸的挡在了DeFi门外。

更细思极恐的是,虽然小红这样的用户进不来,但小丽这样的资本大鳄们看到高额的利润,低廉的手续费占比,会越来越多的涌进DeFi生态中,这进一步加剧了小红这类小体量用户的边缘化,最终形成一个被大资本独占的封闭生态。

文化上面来讲,这很不加密朋克,现实一点说,区块链技术和应用,无法吸引圈外用户,终究是整个生态可持续发展的重大阻碍。

这个问题亟待解决。

赶快使用Layer2 rollup扩容?冷静!

对DeFi关注比较长时间的朋友应该都听说过Layer2扩容,对于类似SKALE和Matic这类POS侧链技术,由于不具有Layer-1的安全性,且和一个独立的链建立Ethereum桥接没有区别,我们将不把他们列入Layer-2扩容的范畴。

Layer-2 rollup是近期受到较多普及且被社区广泛认同的技术方向(不论是Optimistic Rollup还是ZK Rollup)。对于不同rollup技术的介绍,请参加Vitalik的文章(https://vitalik.ca/general/2021/01/05/rollup.html),我们之后也会出一系列的rollup中文文章,这里不再赘述。除了使用rollup技术做单独的DeFi应用之外,目前社区中比较流行的观点是未来将会出现一个EVM兼容的rollup扩容链,现有DeFi生态皆可重新部署并迁移到一个(注意不是多个,因为多个会破坏可组合性)rollup 链上,然后大家就可以开心快速地使用DeFi应用了。若果真如此,那还等什么,赶紧的啊!

可惜理想丰满,现实骨感,这样的技术方向正面临一些根本性挑战。

先从技术角度来说。

对于一个单链rollup架构而言,计算和存储资源仍然是有上限的。为了保证rollup的liveness(即,能稳定地产生block),需要多个出块节点之间保持同步。一旦存在这种多节点同步的要求,不论使用何种出块节点选择规则和算法,实事求是的说,一个单rollup chain,能够比主链提升50-100倍的容量已经是非常好的结果了。目前流行的节选择点同步方案也是类似一个DPoS的解决方案。这大概给我们了一个2-4百万每日活跃地址的扩容上限。显然,这个离我们所希望的DeFi走进千家万户的大规模落地,还远远不够。

虽然远期不够,那我们是否能先用这个方法解决燃眉之急?遗憾的是,目前这样的rollup的技术架构,需要非常多的周边生态基础设施支持,并会对使用过程中的安全性假设造成深刻影响。想要将DeFi生态迁移到一个单独的rollup链上,首先要解决一系列的问题,随手举例如下:

用户在链正常运行的时候以及链发生暂停和回滚的时候,应该怎样和应用交互?以怎样的状态为准?

中心化交易所怎么接入Layer-2生态,是否将Layer-2的代币和Layer-1的同种代币等同对待?

在周边生态设施缺乏支持的情况下,如何让用户快速进入和退出Layer-2 rollup链?

区块链状态查询服务(类似Infura和Alchemy),现在需要扩充100倍的容量,并且同时接入Layer-2和Layer-1进行复杂的验证和交易转发分流工作,这样的服务是否已经就绪?

当出块节点试图停止出块进度的时候,客户端如何有效地通知客户并且保证迅速地将用户切换到Layer-1交互模式以保证安全性?

对于那些依赖预言机的DeFi协议来说,这些预言机是否准备好能够抵抗可能的Layer-2禁言攻击?

如果没有和Layer-1同量级的状态同步延迟假设,大部分DeFi协议是否需要重新评估其安全性?

这样的问题还有很多很多。在我们扔400亿到rollup之前,所有这些问题,需要通过大量的时间和研究来找到合理的解决方案和折中。可一万年太久,只争朝夕。

那么就算假设所有的技术问题,都有了很好的折中方案,除了扩容有上限的根本问题无法解决外,是不是就万事无忧了呢?

可惜并不是这样的,因为从经济博弈模型的角度来讲,这条道路走下去,会不可避免地导致流动性割裂,极大的降低DeFi的市场效率。

如上所述,Layer-2 rollup扩容并不是免费的午餐。这个扩容是用各种各样的「麻烦」换来的,在系统设计中,叫做「取舍」(tradeoff)。这些取舍包括更复杂的用户交互,主链级别安全性确认的延迟,更复杂的周边基础设施,区块回滚重构风险,禁言攻击风险,还有被交易插队(front running)等等。对于小体量的用户来说,这些取舍是可以忍受的,因为不忍受这些取舍就无法得到使用DeFi的好处,是一个0和1的对比。

但对于巨鲸用户来说,相对于本身持有的巨量资金,Layer-1的交易手续费本身就是很小的一部分,在这个很小比例基础上的费用降低,对巨鲸用户而言收益有限,但上述各种取舍所带来的潜在麻烦和安全不确定性,要远远超过降低手续费所带来的好处。他们显然不会迁移到这样的Layer-2系统中,而是会继续留在Layer-1的DeFi生态里。

综上来看,如果我们沿着这条路走下去,就算各种技术问题得到了比较合理的解决,我们仍然陷入了一个具有扩容上限,并且流动性割裂的DeFi生态系统,如果想要突破单个rollup的扩容上限,就要开启多个具有独立DeFi生态的rollup链,这将进一步导致流动性割裂和整体市场有效性下降。可谓是进退维谷。

我们需要一个全新的解决方案。

不要将DeFi迁移至Layer-2,把Layer-2带给DeFi

为了解决上述挑战以及实现DeFi生态系统的广泛落地应用,我们以不同的方式使用Layer-2 rollup,引入了Layer2.finance。类似于任何rollup,用户可以通过对Layer-1上的rollup合约进行存款交易来将资金存入Layer2.finance的rollup链。

但是,与大多数流行的方法不同,Layer2.finance不会将DeFi协议本身迁移到Layer2。简单的来说,Layer2.finance构建了一个类似去中心化中介的模型。用户将资金存在Layer-2链上,并且通过特殊的Layer-2 交易(transaction)形式,指明自己的资金希望被放在哪个DeFi协议中去。在Layer2.finance的二层rollup链上,「交易」(transaction)不再是「A给B发钱」,或者直接的智能合约函数调用,而是一个「资金分配指令」,比如「我想放¥500到Compound协议中去」。而Layer2.finance的rollup架构,实现了一个无需信任的「资金分配指令汇总」功能。比如在2个小时内,有10个人,陆陆续续的发出了「我想存X元到Compound」的交易,Layer2.finance rollup则将所有这些交易实现汇总,并且实现“二层到一层」的函数调用,加和总的资金分配后,向Compound合约发起单一的一个调用,直接分配所有资金之和。通过这样聚沙成塔的模式,将原本需要的10个交易,简化为了一个交易。当有越多人聚合的时候,平摊到每个人头上的交易手续费,也就更少。计算机术语来说,就是原本O(N)的操作,简化为了O(1)的操作,极大的提升了效率,降低了成本。

图二:Layer2.finance的体系架构

接下来,我们使用一个示例来说明Layer2.finance的体系架构。

生成资金分配方案

Alice, Bob和Charlie(简称A,B和C)首先将资金放入rollup基金池合约中,就像对待各种常见rollup一样。然后,他们开始在Layer2上使用其资金。 Layer2.finance rollup上的帐户和资金状态不只是地址到值的映射, 对于每个用户,其资金的任何部分都可以处于三种不同的状态:1.闲置; 2.已承诺; 3.已分配。

「已承诺」是指用户已发出第2层交易,以表示有意将资金分配给某些DeFi策略(我们将在后面说明)或从某些DeFi策略中提取资金。 我们需要这种「已承诺」状态,因为新汇总的资金分配建议在链上发布到实际执行的时间点之间存在延迟。 在下一部分中,我们将讨论延迟的原因以及在ZK和Optimistic rollup之间进行选择的权衡。

用户「已分配」状态的资金呈现为在链上执行资金分配后收到的一定数量的「流动性证书」。它类似于Compound和yEarn中使用的cToken或yToken概念。这些带有收益率的流动性证书以后可用于赎回基础流动性,并将收益返还至闲置资金。在Layer2.finance中,我们将这些计息收益率流动性证书称为stToken(st:strategy策略)。

当用户正在部署和提取流动性时,stToken和空闲流动性都可以处于「已承诺」状态。

现在,A,B和C开始发出交易,以将其闲置流动资金投入不同的策略以获取收益,如图3所示。它们还可以从已分配的协议中撤出其流动资金。 出块节点在rollup区块链上汇总这些交易。每当这些小额交易汇总到数额足够大,交易手续费相对占比较低,或等待一定时间后,rollup中的出块节点就会在rollup链中生成一个区块。出块节点不仅将每个用户帐户状态的状态根(state root)发布到第1层,而且还将整个池的汇总「资金分配方案」发布到不同连接的DeFi收益协议之间进行重新平衡。在此特定示例中,资金分配方案为「将$300分配给策略0,将$500分配给策略1」。

出块节点是一个逻辑概念,最终将成为去中心化的Celer状态守护者网络(SGN),以确保能够对抗审查并增加rollup链的安全性。

从资金分配方案生成到真的资金移动的延迟:ZK和Optimistic Rollup之间的选择

在生成区块并将状态根哈希和资金分配方案发布到链上之后,会在直到实际发生资金流动为止前有一个延迟。值得注意的是,Layer2.finance极大的拓展了第二层和第一层之间简单的信息接口,即把「谁有多少钱」这样简单的存取资金的状态,扩展为更通用的「指令接口」来表达资金分配方案,即「将多少资金分配给哪些协议”」。这本质上是二层对一层的函数调用。

在使用Layer2.finance的Optimistic Rollup时,延迟是确保在转移资金之前最终确定总资金分配建议的挑战时间窗口。与取款不同,这里不会有第三方从系统中拿走资金,且由于在汇总期间的长延时与挑战证明的简单性,这里的挑战期可以从数周缩短为数小时。

使用ZK Rollup时,状态根有效性不需要挑战期,所以资金移动延迟取决于区块时长。

在1.0版本中,我们选择使用Optimistic Rollup以简化并加快迭代速度。 将来我们会计划迁移到ZK Rollup,以在协议成熟后缩短执行延迟。

资金分配方案的执行

当延迟结束,资金分配将在链上执行。 我们定义了一个名为「Strategy Adapter」(可插拔策略策略)的通用抽象层,而不是直接与每个不同的DeFi协议进行交互。 它们和yEarn的vault具有类似的概念。该层用于三个目的:

流动性证书(stToken)抽象。 策略适配器跟踪总存款流动性的基础价值,并生成一定数量的收益证书代币(stToken),被Layer2.finance的用户接收;

易于扩展。 通过为Layer2.finance rollup合约定义的公共接口,可以更容易地将协议的右侧扩展到任何具有收益的协议;

灵活的策略配置。 策略抽象为使用不同策略(例如抵押比率)到同一收益协议甚至将多个DeFi协议组合为一个策略提供了灵活性。

我们打算与yEarn,Curve,Aave,Compound等DeFi领域的开发者社区合作,构建适配器,并使更多用户访问这些产品。

当资金分配执行真实发生在链上时,Layer-2出块者层将根据Layer-1交易生成Layer-2并进行状态更新,将每个用户的新stToken添加到Layer-2状态(在本例中为A ,B,C),并清除那些处于「已承诺」状态的资金。在此步骤中,我们使用从第1层到第2层的广义反向通信来实现此目的。

上述就是系统的一个完整循环,layer2.finance由此可以允许用户自由选择并在与不同协议相对应的不同策略之间移动资金。

Layer2.finance作为DeFi扩容提速解决方案的优势

我们总结了使用Layer2.finance对广大受众的主要好处:

低成本。由于Layer2.finance将少量流动资金汇总在一起,因此为每个用户分配资金和产生收益的成本要低得多。尽管存在一定的数据可用性成本,但越多的人使用它实际上越能将降低单个用户与DeFi协议进行交互的成本。 我们估计完全有可能将成本降低1000倍;

保持可组合性,没有流动性碎片,也无需迁移DeFi协议。 Layer2.finance可原地扩容DeFi协议,因此它不会造成任何流动性分散,并将进一步提高DeFi协议的可组合性;

可叠加的可扩展性。如果单个Layer2.finance汇总链变得过于拥挤或状态变得太大而无法维护,则可增加一条新链连接到Layer-1 DeFi中相同的流动性系统上。虽然短期内受限于于链上容量,但在将来使用ETH2.0时,扩展性的上限将得到几乎无限的可叠加提高。

灵活的DeFi分片。 除了可扩展性之外,还有很多原因可以启动多个Layer2.finance链,例如不同的批处理配置,不同的策略风险特征(无论风险高低)等等。 这有效地实现了DeFi生态系统中的功能性分片.

局限与权衡 

尽管我们相信Layer2.finance是会将DeFi带入大规模普及的解决方案,但我们同时也要说明此解决方案的局限性与取舍。 同时我们便可更好地讨论这样的取舍是否「值得」。

由于聚合导致延迟。 无论我们选择ZK汇总方法还是Optimistic汇总方法。 从用户表达出进行资金分配的意图到实际进行资金分配的时间都存在固有的延迟。 这是由于Layer2.finance依赖的第2层聚合。但是,我们认为这是一个合理的取舍,否则这些小额流动性用户根本无法从DeFi中受益。 我们可以动态调整此延迟,以找到成本与反应性之间的正确的折衷点。

高级操作的局限性。 与DeFi生态系统的原始接口不同,Layer2.finance为用户提供了抽象化的策略。 用户无法执行多个DeFi协议的高级定制化组合。 但是,我们认为这不是问题,因为高级DeFi用户不是Layer2.finance的目标受众。

至于其他限制,最明显的是交易插队和交易禁言。 但是,它们并非Layer2.finance所独有,其他rollup构造也同样存在此类问题。 实际上,考虑到Layer2.finance的可分片叠加扩展性,此类问题的严重性其实比传统rollup要小得多。

启动计划

我们什么时候启动Layer2.finance?

我们的目标是在2021年第一季度推出推出基于Optimistic Rollup的Layer2.finance 1.0,当然这取决于我们支持的协议数量和安全审计。 我们计划在迭代初始阶段之后升级到ZK Rollup。 我们将在1.0版本支持一些最受欢迎的协议,例如Curve,yEarn,Compound和Aave。

对于DeFi社区,如果您希望我们支持并降低使用某些协议的成本,请在我们的Discord频道中提出。

协议经济学

我们不会发行新的代币。Layer2.finance是一个生态系统项目,使用了Celer的开源第二层技术堆栈。最初的迭代之后,出块者的关键基础架构将在Celer的状态守护网络(SGN)上运行。可以通过质押CELR代币成为SGN的验证节点。CELR还将成为治理代币,用来对新策略的实施、集成和配置进行投票。为了快速提高平台上的流动性,我们很可能会考虑进行流动性挖矿。详细的经济学和费用模型不在本文的范围之内,将在以后的文章中进行更详细的描述。

作者:Celer Network 创始人 董沫