随着Defi如火如荼的发展,再次凸显区块链(特别是以太坊)的性能问题,导致许多大规模应用无法实现。例如今年的Defi浪潮中,动辄手续费高达几十美元,非常不利于项目推广;此外,受限于TPS,导致去中心化交易所难以普及,甚至衍生品等业务无法进一步扩张。
一边是高速发展的Defi需求,一边是迟迟未能解决的性能问题,两者的矛盾催生了近期Layer2方案的火热,各个Layer2项目又重新回到大家的视线中来,可能成为Defi在下个阶段更大规模爆发的导火索。
1
什么是Layer2
layer2 是一个为提升区块链底层网络(layer1)性能的整体解决方案。
我们假设Defi业务过程中有多个状态转换,那么这些状态转换都需要合约交易上链来完成,有几个状态就需要经过几个区块,区块时间就会成为限制因素,以以太坊为例,那么大概需要12s出一个区块,这个时间是必须要花费的,对于以秒级,甚至毫秒级的金融业务来说,这种等待是无法忍受的。
而Layer2就是来解决这个问题,Layer2 扩容的思路简而言之是将许多笔交易用一个证明所取代以节省 Layer1 的资源,相应的,这个应该可以证明对应的多笔交易的有效性。
layer2有几种解决方案,分别是:Rollups、状态通道(State channels)、侧链(Sidechains)、Plasma、Validium、混合方案(Hybrid solutions)等等。
下表为主要的一些Layer2方案项目:
项目技术方案Skale侧链Liquid侧链MOV侧链Celer Network状态通道Liquidity Network状态通道Raiden Network状态通道路印ZK rollupsMatter LabsZK rollupsOptimismOptimistic RollupFuel NetworkOptimistic RollupOMG NetworkPlasmaMatic NetworkPlasmaLoom NetworkPlasma
2
欺诈证明和有效性证明
我们将Layer2方案证明多笔交易有效性,分为欺诈证明和有效性证明:
欺诈证明,提出证据以证明链上的状态转换并不正确;有效性证明,提出证据以证明链上的状态转换正确。
欺诈证明对应的 Layer2 扩容方案乐观地假设链下交易均真实有效,直到某方提出证据证明其存在错误。其中包括状态通道(State Channel)、Plasma、Optimistic Rollup 等,这种方案非常的高效,因为节省了大量证明这些交易有效性的开销。
但欺诈证明必须留出足够的容错时间,否则会恶意交易将会成为漏网之鱼,虽然节省了大量开销,但欺诈证明可能存在漏洞,攻击者可以阻止相关方在欺诈时间之内提交欺诈证明,从而完成攻击
相对来说,有效性证明则要稳健的多,有效性证明类方案,如 ZK Rollup 与 Validium 等。系统每次在 Layer1 上进行状态转换时都提交足以证明其转换真实有效的证明供 Layer1 节点验证。
零知识证明是一种精巧有效性证明方式,它使得 Layer1 的验证节点无需获取链下交易的全部信息并进行重复计算即可证明其有效性。零知识证明当前属于密码学研究的前沿领域,在应用方面还有一定的瓶颈,目前实用的零知识证明算法生成证明的时间大约在 1~10 分钟,这是额外的无法消除的交易确认延迟。
我们根据这个分类方法可以列出一个象限,如下图所示:
3
多种Layer2方案举例
Plasma 方案
Plasma 是在 2017 年被 Joseph Poon(Lightning Network 创始人)和 Vitalik Buterin (Ethereum 创始人)提出的方案,Plasma简单来说就是链中链,每个链都可以有自己的链,自己的链还可以再有链。
Plasma会有一个Operator,负责产生子链的区块,Operator一般会是Server模式,子链的信息会被记录到数据库中,Plasma Chain每次产生区块都必须写入主链,这样才算是被确认。如果用户要进入Plasma,则需要通过主链的存款合约,具体如下图所示:
我们可以看到Plasma的问题是比较中心化,容易作恶,所以需要上诉说过的欺诈证明,设置一个挑战期。同时如果 Plasma 的Operator拒绝在主链上公开数据,那么用户则无法取得构造出错误承诺的错误数据,就无法提供错误性证明,所以 Plasma 面临的最大问题是交易数据可用性。不能保证数据可用性的这种特质,让很多特性难以立刻保留,例如:支持任意计价支付,用户的验证/存储要求最小化,避免大批量退出方案,以及支持智能合约逻辑 。虽然可以缓解这些问题,但是解决一个障碍的代价往往是加剧另一个障碍。
Plasma的代表性项目是OMG Network,OmiseGO是基于以太坊的 plasma 扩容技术方案,用于主流数字钱包,可跨国家司法管辖区和组织机构使用法定货币或加密数字货币进行实时、点对点的价值交易和支付服务
OmiseGO Tesuji 是 Plasma 上的早期实现例,以权威证明(PoA)作为共识机制,OmiseGO 作为运营商。OMG的最终目标是完全可扩展的权益证明(PoS)区块链以及去中心化交易所。在 PoS 模式下,权益者将扮演区块链验证者的角色,对去中心化交易所上的交易进行验证,并向网络用户收取一定的交易验证费用。
侧链方案
Plasma其实也称为侧链,但是这里我们讨论的是侧链是真正独立的一条链,拥有众多节点共识出块,而非通过中心化的Operator出块,主侧链之间需要通过一定的跨链协议进行通讯,而不是通过存取款合约来进行联系。通过这种解决方案,可以实现数字资产从第一个区块链到第二个区块链的转移,又可以在稍后的时间点从第二个区块链安全返回到第一个区块链。
侧链实现的技术基础是双向锚定(Two-way Peg),通过双向锚定技术,可以实现暂时的将数字资产在主链中锁定,同时将等价的数字资产在侧链中释放,同样当等价的数字资产在侧链中被锁定的时候,主链的数字资产也可以被释放。
比较著名的侧链包括基于比特币网络的侧链Liquid,以太坊的Skale,以及国内比原链团队开发的MOV协议
Liquid是Blockstream的开源侧链项目,使用了比特币双向锚定技术,Liquid目的是实现使得比特币可以在主链和侧链中互转,旨在提高隐私性、降低成本、加速交易所和经纪商之间的价值转移及结算流程。
比原链团队的MOV协议。MOV 是基于主侧链架构的下一代去中心跨链 Layer 2 价值交换协议,由价值交换引擎磁力合约(Magnet)、去中心跨链网关(OFMF)和 Layer 2 高速侧链(Vapor)三大核心模块构成,致力于构建一个异构融合的多样性资产价值交换协作生态。
MOV采用的侧链的Layer2解决方案,相较于Bytom主链,侧链0.5s的出块速度极大提升了性能,理论估计能够高达16000 TPS,侧链使用DPos共识,由10个正式共识节点来验证交易有效性
考虑到侧链提升了速度,但是去中心化程度不足,所以MOV基于主侧链一体的架构,主侧架构常见于分层系统,比如 Plasma 是一种针对主链扩容场景的一主多侧设计,其交互信任方案是基于主链抵押。主链和侧链是一种逻辑区分,公链作为主链的同时也可作为映射资产的侧链和交易协作平台。主侧逻辑是一种合理的业务架构设计,赋予多样性资产价值交换协作比较大的自由度和效率空间。
4
Optimistic Rollup 和 ZK Rollup
Rollup 是一种类似于 Plasma 的 Layer-2 扩展方案:用主链上的单个合约来保管所有的资金,并保存一条指向 “侧链” 状态的简洁密码学承诺(通常来说就是一棵由账户、账户余额等状态组成的默克尔树)。侧链的状态是由用户以及链下运营者来维护的,不会占用 Layer-1 的存储空间(这种对存储空间的节约才是可扩展性优势的最大来源)。
Rollup 与 Plasma 有所不同的是,Plasma 会面临交易数据可用性的问题(也是 Plasma 最大的问题)。而 Rollup 则通过在 Layer-1 网络上为每一笔交易公开一些数据解决了这个问题。
V神也在各个渠道对Rollup方案给予肯定
在Rollup方案中,ZK Rollup是较早提出并发展的方案。在一个 ZK-Rollup 系统中,运营者(们)必须为每一次状态转换提供一个简洁的零知识证明(SNARK);该证明将由主链上的 Rollup 合约来验证。这样的一个 SNARK 证明了存在一些交易,这些交易是由发起人正确签名过的,并且正确地更新了相关账户的余额,并使旧的默克尔根值变为代表新状态的新值。这就杜绝了运营者提交无效状态或篡改状态的可能。
但ZK Rollup 是一种更复杂的技术,它可以进行代币转移和定制化应用,但是支持通用性合约就比较困难,需要更多研究工作来把 EVM 高效封装进零知识证明。
Optimistic Rollup 是2019年提出的、旨在扩展以太坊上智能合约通用性吞吐量的技术。如果开发相对较快的话,它就可以为迁移现有的 dApp 和服务提供一种简单的方案,而且为此付出的 安全性/可扩展性 牺牲也不会太大。
在一个 Optimistic Rollup 系统中,运营者发布新的状态根时无需每次都接受 Rollup 智能合约的检验。相反,每个人都假设状态转换是正确的。不过。如果有人发布了一次不正确的状态转换,其它运营者或者用户都可以指出不合法的交易并回滚不正确的区块、惩罚恶意验证者。
在支持通用性计算方面, Optimistic Rollup 可以拥有OVM,如果与 EVM 搭配使用,大家就可以用 Solidity 来写码。因此,大部分现有的代码库都可以轻松移植到 OR 上。而迄今为止,所有 ZK-Rollup 现有的实现都只支持专用性操作比如代币转移或者原子化互换。
在性能上,TPS 可上升到约 100,如果只算代币转移交易,则可达500,而ZK-Rollup 更快,可以超过2000。
在手续费上,Optimistic Rollup的每笔交易只需 4k gas,而ZK-Rollup需要272 gas(但需要平摊的证明成本,当前的估计是 300k gas),相比较于以太坊的原生交易21k gas,节省了非常大的开销。
安全性上Optimistic Rollup由单个智能合约来保管的,一旦保管着价值百万(甚至是数十亿)美元的资产,这样的 Rollup 合约就会变成一个的蜜罐,会有潜在的安全风险。而在一条 ZK Rollup 侧链中,每一次状态转换都要先由 Rollup 智能合约验证过才能生效。所以运营者想伪造状态是不可能的。ZKR 的安全性无需依赖于 Layer-1 的审查抗性。
时延上,因为需要挑战期,所以Optimistic Rollup需要较长的时间才能确认,而ZK Rollup则较快。
ZK Rollup的代表项目是路印,路印协议围绕着高安全性和高性能设计,为用户提现自己充值的资产提供各种保障。这种保障允许用户在极端情况下,仅提供默克尔证明,就可以将资产全部取出。路印发布了一个基于订单簿的去中心化交易所的 AMM 协议,账户之间的转账仅需秒级。
其他的ZK Rollup的代表项目是zkSync,是 Matter Labs 基于 ZK Rollup 技术开发的免信任型可扩展性和隐私性解决方案,除了高安全性之外,该项目主打是低延迟。
Optimistic Rollup的代表项目Optimism 是由 Plasma Group 的前研究人员在 2019 年成立的一家新盈利性公司,专注于实施以太坊扩容解决方案 Optimistic Rollup,9 月份推出其测试网,Synthetix、Uniswap、Chainlink 成为他们的早期测试者,Synthetix 用来大幅提升预言机报价频率,以此解决在一层网络会遇到的交易暂时停滞问题。
5
Defi需要什么样的Layer2
Defi应用一般都是重资产型应用,合约中锁定的资产达几亿甚至几十亿美元,那么资产的安全性是非常重要的。从安全性的角度,侧链和Plasma对验证人的依赖度较高,具有较高的作恶风险,需要完备的监督机制,而状态通道,侧链,validium的热钱包的漏洞风险较高。所以,安全性来看,还是Rollup方案占优。
复杂的Defi业务,需要复杂的智能合约支持,状态通道和Plasma在智能合约支持方面较差,智能使用受限的智能合约。而Validum和zk Rollup对EVM字节码兼容较差,需要独立的系统。总体来看,对于智能合约的支持来说,侧链和Optimistic Rollup支持较好。
除此之外,使用Layer2更看重其对性能的提升情况,对于提现时间来说,状态通道和侧链具有较明显的优势,而Plasma和Optimistic因为使用欺诈证明,需要较长的挑战期。
当前来看,Rollup方案还是具有较多的优点,当然Defi选什么样的Layer2方案,还需要各个项目方根据自己的需求来进行取舍,鱼和熊掌不可兼得。
6
Defi在Layer2上的使用现状
Defi在持续的创新和进化,Uniswap、Aave、Synthetix 等 DeFi 头部玩家们不约而同开始探索 Layer2 + DeFi 的可行性。
2020年8月3日,MaticNetwork推出500万孵化基金,激励在该Layer2协议上的Defi以及其他应用,迄今为止共吸引了80多个Dapp,包括18个Defi项目,同时也和AAVE达成合作。
2021年1月12日,合成资产协议Synthetix发布最新的2021年的路线图中指出,优先事项包括迁移到Optimistic上
Uniswap虽然没有透露出具体的计划,但作为 Uniswap Layer2 的示例 demo,Unipig 的方案早已于 2019 年 10 月份上线,展示 Uniswap + Layer2 的基本操作。Unipig 和 Synthetix 一样,也是采用了 Optimistic Rollup 的方案扩容。
而稳定币DEX龙头,Curve则倾向于选择ZK Rollup方案。
以太坊生态之外,比如比原链的MOV,已经率先在Layer2上部署并稳定运行了多个Defi协议,包括基于订单簿的磁力协议,基于AMM的超导协议和闪电兑换等等,在运行速度,手续费等方面都有非常不错的表现。
整体来说,头部的Defi应用已经开始着手或者选择一些Layer2方案尝试,而一些小型的Defi应用则已经开始运行在Layer2上面开展业务。
所以,2021年很可能是Layer2广泛应用的开始。
7
Layer2未来发展
Defi,NFT等等业务的兴起将极大的拓展区块链的需求,在以太坊2.0成熟还需要数年之久的情况下,Layer2将会迎来较大的发展机遇。
除此之外,非以太坊的独立公链,随着跨链的普及,融合了Layer2技术将也会有非常好的机会,在以 DeFi 为代表的去中心化应用快速发展的趋势中,不同类型的应用将会在不同的取向主导下重新划分阵营。
虽然当前已经有非常多的扩容方案,但是不同的扩容技术有它不同的优缺点,导致适应不同的应用场景,未来不同的扩容技术之间也会是相互合作关系,我们也看到一些融合的趋势。
对大多数开发者们来说,他们希望在不改变原有代码的情况下将应用迁移至 Layer2,因为对代码进行任何改动会涉及到可观的审计及维护费用。对用户来说,选择使用以太坊主链,还是 Layer2 应用是个难题,Layer2 项目方是否能直接让用户实现无感地与 Layer2 进行交互。
除了性能,安全性,Layer2未来的发展一定要朝着兼容性和用户体验发展,才能得到众多开发者、用户、项目方支持,将建立足够深厚的护城河,最终探索出一条可以能够承接住数千万、数亿用户的扩容技术方案。