Rollup Bridge 介绍(一):Maker DAI Bridge_BRI:MIS

作者:NicLin,imToken资深区块链工程师

本文受众:对Rollup有所了解的区块链爱好者

Maker的OptimismDAIBridge是一个OptimisticRollup上的快速资产提领协议。

PhotobyWilburWongonUnsplash

在介绍MakerBridge之前,你要先对Rollup有一些了解,本文不会对Rollup做太多介绍。

了解Rollup

Rollup未来在以太坊的角色Vitalik:Rollup不完全指南在OptimisticRollup设计中,都先假设交易是正确的,如果发现有错再透过欺诈性证明来挑战错误的交易,但也因为要让欺诈性证明有时间可以送达,所以会有一段称为挑战期的延迟时间。一笔交易要等到顺利通过挑战期后,链上合约才会接受它是正确的。

但这个挑战期也因此成为影响OptimisticRollup使用者体验的缺点,所以有人提出了快速资产提领协议来解决这个使用体验的痛点。

在进入正题之前,先对标题做一些解释。首先,要能达到「快速」资产提领,并不是因为这些Rollup真的支持快速提领资产,而是需要一个中介商、一个流动性提供者来先垫付资产。

Scroll推出Contribute to Scroll计划,鼓励开放协作:7月14日消息,Layer2解决方案Scroll宣布推出Contribute to Scroll计划,鼓励开放协作并允许任何人在新引入的开源存储库中为Scroll做出贡献。该计划最初是一项实验性的Skunkworks计划。[2023/7/14 10:54:21]

其次,标题是RollupBridge的介绍,但RollupBridge可以用来指该Rollup本身提供的L1<->L2Bridge,也可以用来指其他建构在L1<->L2Bridge之上的Bridge。本文介绍的是后者:搭建在OptimismL1<->L2Bridge之上的MakerDAIBridge,用来让使用者快速提领资产回L1。

快速资产提领是我从fastwithdrawal翻过来的,可能有其他更好的翻译以下所称的L2皆指Rollup而非Plasma或Sidechain以下所指Rollup为OptimisticRollup,因为OptimisticRollup才有挑战期的问题以下所称「资产」和「代币」两个词指的是一样的东西以下所称「七天」和「Rollup挑战期」两个词指的是一样的东西以下「RollupBridge」指的是Rollup本身提供的L1<->L2Bridge,「MakerDAIBridge」指的是搭建在RollupBridge之上的BridgeRollupBridge

Cardano生态项目dcSpark联创:今年将推出ZK-Rollup L2:金色财经报道,Cardano生态项目dcSpark联合创始人兼首席技术官Sebastien Guillemot在社交媒体发布2023年计划,包括推出零知识证明Rollup Layer 2、和Paima Studios合作推出一个Layer2GameFi项目、以及实现EVM侧链Milkomeda的去中心化等。

据此前报道,EVM侧链Milkomeda在今年八月交易量突破了750万笔。dcSpark去年还推出了首版Flint钱包并在Plutus平台上创建并运行了5个智能合约。[2023/1/2 22:20:49]

Rollup的安全性是锚定在它所在的L1上的:你要针对L2的交易进行审查攻击,等同于对L1交易进行审查攻击;你要重组L2,进行双花攻击,等同于你要重组攻击L1。

RollupBridge是L1和L2互动的管道,你要从L1送讯息到L2合约或是你要把ETH存到L2,都是透过RollupBridge来帮忙把讯息传递过去;反之亦然,你要从L2送讯息到L1合约或是你要把ETH提回L1,也是透过RollupBridge。RollupBridge的安全性和L2交易的安全性是一样的,不会因为它多跨到了L1所以更不安全。

V神:DeFi实现zk-rollups比较困难:以太坊创始人V神刚刚发推称,为DeFi实现zk-rollups比较困难,因为所有的DeFi需要支持SNARK内部的通用计算。[2020/9/1]

所以RollupBridge代表的是什么意思?RollupBridge提供了一个安全、去中心化的方式让L1和L2能够进行互动、让L1、L2的资产能够互相转移。

注:RollupBridge不是自然而然就会出现的东西,它不会因为你今天做了一个Rollup,就自动生出RollupBridge的功能,而是要搭配你的Rollup协议来打造你的RollupBridge。

如果你透过跨链桥用MPC的方式来执行跨链交易,你需要相信参与MPC的节点。但在RollupBridge里没有这样的角色,透过RollupBridge送讯息就跟送Rollup交易一样,其安全性和抗审查性是受Rollup本身所保障,所以才会说RollupBridge是去中心化的方式。

Fastwithdrawal

一开始有说到,「快速」并非真的是Rollup支持快速转移资产,而是有一个流动性提供者来先垫付这笔资产。

Rollup的挑战期是为了确保交易的安全性,所以任何人要从L2提取资产回L1都不可避免地要等待挑战期。不过如果今天你相信一笔提现交易是正确可信的,并且你也相信重组攻击很难会发生,所以你愿意冒这个险的话,你就可以提议在L1先代垫这笔提现交易,并从中间抽点手续费。反之,如果对方希望一个小时后就能在L1拿到钱,且愿意被抽点手续费的话,那就成交,两边都开心。

V神:ZK rollups是目前为止最好的解决方案:推特网友Toast Of Crypto提问称,为什么要推动或强迫人们远离理想的Layer 2扩容协议?以太坊创始人V神对此回复称,因为ZK rollups是最好的解决方案,直到今年晚些时候与EVM兼容的Optimistic rollups出现,eth2将花费更长的时间。(注:ZK rollups是一种混合扩展方法,通过智能合约和零知识方法将链上安全性和第二层网络结合在一起。)[2020/7/28]

运作流程

对方先在L2透过一个fastwithdrawal合约来申请fastwithdrawal,fastwithdrawal合约背后走的一样是正常的提取流程,要等七天。这时候你看到了这笔fastwithdrawal交易,且确认这笔交易是可信、很难被重组攻击后,你就到L1的fastwithdrawal合约申请垫付,垫付的对象会是该笔L2fastwithdrawal交易的ID。

注:这时候L1的fastwithdrawal合约还不知道有这笔L2fastwithdrawal交易的存在。

等到七天挑战期过了,这个L2fastwithdrawal交易会被传递到L1fastwithdrawal合约。如果你之前有先垫付这笔交易,合约里会有纪录,那合约就会直接把这笔交易所提领的资产转给你。如果没有人来垫付,那合约就会照正常流程,把提领的资产转给当初的提领者。

声音 | Carlos Roldan:NFT游戏公司还必须考虑扩展性问题:对于2020年区块链游戏市场的发展状况,Satoshi’s Games首席执行官Carlos Roldan表示,由ERC 721标准的非同质代币(Non Fungible Token,NFT)支持的加密游戏(代表性游戏加密猫)和由闪电网络支持的加密游戏的竞争会加剧。由NFT支持的加密游戏将面临更艰巨的市场竞争,因为很多玩家现在可以考虑由闪电网络支持的加密游戏,从而获得比特币奖励。此外,NFT游戏公司还必须考虑扩展性问题。(Cointelegraph)[2020/2/17]

注:

你垫付的金额会是对方提领的金额扣掉给你的手续费。如果没有RollupBridge,就没办法安全可信地把fastwithdrawal讯息relay到L1上,就不会有人敢先做垫付的动作,因此RollupBridge是fastwithdrawal的必要条件之一。MakerDAIBridge

MakerDAIBridge大致是就是上面描述的fastwithdrawal,只是里面的流动性提供者不是别人,而是Maker的财库。

如同你放入抵押品,DAI财库就会铸造出DAI给你。MakerDAIBridge也是相似的概念,你放入提领DAI的凭证,DAI财库铸造出DAI给你。等到挑战期过了,你就可以偿还借款、拿出抵押的凭证并用凭证去领出DAI。

这个铸币的功能将会让MakerDAIBridge在fastwithdrawal服务的竞争里占尽极大优势,因为它不像其他流动性提供者一样要承担资本利用率、资产曝险的风险,而且理论上它的流动性可以到无限大。再来,因为抵押和借出的资产都是DAI,也不需要考虑被清算的可能。最后,除非Rollup被攻击破坏,否则这些借款都会保证如期还款。

缺点

但MakerDAIBridge也不是没有缺点,这个缺点是:它的安全性要多仰赖一个对象—它的Oracle服务。

注:Maker协议本身有一群中心化的Oracle负责将代币在现实世界中的价格送到链上。Maker协议仰赖这些Oracle的报价来决定哪些贷款已经进入可清算的状态。

因为DAI财库自己没办法判断L2上的提领是否是有效的,所以需要一个第三方在链下模拟交易执行,确认提领的有效性。就像OptimisiticRollup节点不需要等Operator上传最新的状态,自己模拟交易执行都能得到正确的状态。

所以MakerBridge会直接沿用原本已经建立好、经过实战测试的Oracle服务来担任这个第三方。

运作流程

首先是使用者把DAI存到L1MakerBridge,L2MakerBridge会铸出oDAI给使用者去用。

当使用者要提领回到L1时,向L2MakerBridge申请提领、销毁oDAI。等待一段时间,这笔L2提领交易被放进L1的Rollup合约的交易日志后,Oracle就可以执行并判断这笔L2提领交易的有效性。如果有效,Oracle会到L1MakerBridge上批准,L1MakerBridge会铸造出fDAI给使用者,这个fDAI是一个领取凭证,等到L2提领交易的挑战期结束后,可以拿这个领取凭证去取出DAI。使用者接着拿fDAI到DAI财库去抵押换出DAI来使用。

最后,当L2提领交易的挑战期结束后,使用者就可以偿还借款、取出fDAI并用fDAI去提领DAI。

注:fDAI会是以NFT的形式存在,因为每一笔提领的解锁时间都不同,所以会是NonFungible。

为什么还需要多一层fDAI?

假设没有fDAI,Oracle批准后L1MakerBridge就直接解锁DAI给使用者。则当Oracle作恶时,会导致L1MakerBridge的DAI被解锁拿走,这时候MakerBridge上的L1DAI会比L2oDAI还少,这会导致L2有部分的人的oDAI会提领不出来。所以MakerBridge改成用fDAI抵押借款的方式,把风险转嫁到DAI财库,也就是Maker代币的持有者:当Oracle作恶时,结果会是DAI财库新增一笔坏账,但MakerBridge上的L1DAI和L2oDAI还是维持1:1的映射。

注:这边会需要设计让使用者有偿还贷款、取回fDAI并拿fDAI去领回当初提领的DAI的动机,否则抵押fDAI能借出100%提领的DAI的金额,那使用者就没有动机去完成提领的动作,Makerprotocol就只能自己负担这个成本。fDAI抵押只能借出X%(X<100)或是使用者提领时能退回部分手续费都是可能的机制,细节要等到MakerBridge测试完才能知道。

附注

目前Maker只支持OptimisticRollup,因为当前的ZKRollup大多数都还未支持L1<->L2的互动。而且ZKRollup的挑战期比OptimisitcRollup的挑战期要短得多,快速资产提领不会是ZKRollup使用者急需的功能。目前MakerOptimismDAIBridge仍在测试中。一样的设计可以用于其他OptimisticRollup,例如Arbitrum。只需要针对Arbitrum的RollupBridge来做相对应的修改。ThankstoKimiWuandChang-WuChen.

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:790ms