浅析Layer2的发展:跨链桥、代币和可替代性_PEAR:pearl币最新价格

原文作者:SamMacPherson

原文编译:CaptainHiro

原文来源:Defi之道

EricWall前几天在推特上发布了这个消息。

我从EricaDAO的实验中得到的一些令人不安的技术教训:以太坊L2上有一些不常被讨论的限制。虽然用户可以直接在L2上进行交易,但部署合约却没有那么轻松。

它促使我考虑如何将一个代币完全部署在一个L2上,并计划以后扩展到L1或其他L2上。显然,Eric在帖子中提到的体验并不友好,所以在弄清楚他的遭遇之前,我们需要首先先搞明白在这个新世界里L2第一到底意味着什么。

实际上,Eric和他基友遇到的问题是:当他们在L2上先创建一个代币时,他们不能将其“提现”到L1上。

我们在@arbitrum上部署了一个ERC20合约,但却不知道如何将代币提取到L1上。通常情况下,如果你想把你在L2上的代币提现到L1,你需要先在L1上部署智能合约,随后将代币充值到L2上。但这样你就要支付全部的链上费用和过桥费。

Eric帖子中提到的“提现”一词非常重要,它有一个非常具体的含义。让我们首先看一下目前从以太坊扩展到L2的标准做法。它的操作如下:

这里我们有跨链桥的两个最基本的操作:左边是充值,右边是提现。

在左边的例子中,代币被锁定在Arbitrum代币桥的L1端。然后相关的一条信息在链之间传递,一个新的代币在L2端被铸造出来,我们称之为“ArbitrumDAI”。请注意L1和L2的代币是不一样的。也许你认为它们就是一回事儿,但实际上不是。上面的操作被称为“充值”。

在右边的例子中,我们做的是正好相反的事情,销毁之前铸造的“OptimismDAI”,然后从L2向L1发送一个消息,告诉L1桥释放之前锁定的DAI。这个操作被称为“提现”。

对于终端用户来说,这感觉就像是同一个“DAI”不同主网和第二层网络上流通。在大多数情况下,你可以这样想,但如果你正在部署一个新的代币,你应该注意其中的微妙之处。

首先,我们需要了解代币的包装版本和根代币之间的区别。在上面的例子中,根代币实际上被部署在L1上,它被认为是“真正的DAI”。只能有一链可以承载根代币。桥所能做的就是铸造另一个代币,它在铸造完成后可以兑换最初存入的DAI。这与ETH和WETH之间的关系完全相同。

现在,所有包装代币都可以赎回根代币的前提之一是,任何包装代币的总供应量必须小于或等于锁定在桥中的根代币的数量。只要这种关系成立,那么代币就可以进行有效地互换。

现在让我们来看看根代币首先被部署在Arbitrum上的情况。

正如你所看到的,选择把根代币放在哪里是相当随意的。你可以构建一个根代币,并把它从L1或L2分支到其他每个链。我们选择Arbitrum作为部署根代币的链,是因为我们可以坚持在Arbitrum上而不接触L1,直到我们准备好。

在选择根代币的位置时,有两个重要的部分需要牢记:

1.安全性

我们在前面提到了可替代性问题。如果锁在桥一侧的任何一个代币被盗,那么新铸成的代币就不再有支持,你就失去了可替代性。发生这种情况是非常有可能的,但重要的是要记住,类似于木桶效应,你的代币的安全强度相当于最弱的那条区块链。这就是为什么以太坊是根代币的最佳候选者,因为只需要简单的操作,它就可以直接与大多数其他区块链进行桥连,而且以太坊本身可以说是最安全的区块链之一。

然而,如果我们相信L2继承了以太坊的安全模式的话,那么将根代币部署到L2上应该在安全上和部署在以太坊主网上是没有什么区别的。对于这些较小的项目来说,为了避免以太坊主网超高的gas费用,从L2开始部署项目是非常合理的。

2.铸币权

由于跨链通信的异步性,如果允许多个链随时铸币,那么我们是无法提供代币供应保证的。

如果你把铸币的能力扩展到根链之外,那么你可能会遇到这样的情况:锁定在桥上的代币数量变得少于铸币的总供应量。这就破坏了包装代币的赎回能力,从而破坏了它与根代币的可互换性。我们不希望这样的事情发生。

一个常见的做法是提前在桥上铸造根代币,并通知另一方的“其他铸币权合约”,只要不超过代币分配的数量,他们就可以根据任意的逻辑铸造这些包装代币。这就是你如何允许在多个链上同时铸币的方法。这对于可替换的代币来说是很容易的,但是NFT带来了一些挑战,因为你可能不知道哪些代币会被提前铸币。我将把这个问题留给其他人,因为我不是一个NFT专家。

总之,针对L1和L2,我认为用户和开发者需要一个心理模式的转换,我们不再把以太坊当成一切的初始来源,我们也要习惯去自由自在的探索rollup的世界。我坚信,这将是一两年后的标准。

原文链接

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

金智博客

[0:0ms0-4:560ms