V神长文:EVM Validiums的退出游戏和Plasma的回归

广告 X
OK欧意app

欧意最新版本

欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。

APP下载  官网地址



编译 | Waylandbrand.com未蓝加密

整理 | jk

特别感谢Karl Floersch、Georgios Konstantopoulos和Martin Koppelmann对反馈、审查和讨论的贡献。

Pla**a是一类区块链扩容解决方案,它允许所有数据和计算(存款、提款和**根除外)保持在链下。这为实现不受链上数据可用性限制的巨大可扩展性打开了大门。Pla**a**在2017年被提出,并在2018年经历了多次迭代,尤其是**可行Pla**a、Pla**a Cash、Pla**a Cashflow和Pla**a Prime。不幸的是,由于(i)大量的客户端数据存储成本和(ii)Pla**a的基本限制使其难以推广到支付之外的应用,Pla**a已经在很大程度上被rollups所取代。

有效性证明(又称ZK-SNARKs)的出现使我们有理由重新考虑这一决定。使Pla**a在支付方面发挥作用的**挑战,客户端数据存储,可以通过有效性证明得到有效解决。此外,有效性证明提供了一系列工具,使我们能够创建运行EVM的类Pla**a链。Pla**a的安全保证不会覆盖所有用户,因为将Pla**a风格的退出游戏扩展到许多复杂应用的根本原因仍然存在。然而,实际上仍然可以保护非常**例的资产安全。

下文中,我将详细介绍 Pla**a 是如何实现这点的。

概述:Pla**a如何工作

要理解的最简单的Pla**a版本是Pla**a Cash。Pla**a Cash通过将每个单独的**视为一个独立的NFT,并为每个**跟踪一个单独的历史来工作。Pla**a链有一个运营者,负责制作并定期发布区块。每个区块中的交易都存储为一个稀疏的**树:如果交易转移了**k的所有权,它就出现在树的k位置。当Pla**a链运营者创建一个新区块时,他们将**树的根发布到链上,并直接将与用户所拥有的**相对应的**分支发送给每个用户。

假设这些是Pla**a Cash链中**三个交易树。那么,假设所有之前的树都是有效的,我们知道Eve目前拥有**1,David拥有**4,George拥有**6。

**Pla**a系统中的主要风险都是运营者的不当行为。这可能以两种方式发生:

1. 发布无效区块(例如,运营者包含了一个交易,将**1从Fred转给Hermione,即使Fred那时并不拥有该**);

2. 发布不可用区块(例如,运营者没有将他的**分支之一发送给Bob,阻止他向其他人证明他的**仍然有效且未花费)。

如果运营者的行为与用户的资产相关,则用户有责任立即退出(具体来说,在7天内)。当用户(“退出者”)退出时,他们提供一个**分支,证明了将该**从前一个所有者转移给他们的交易的包含。这启动了一个为期7天的挑战期,在此期间,其他人可以通过提供以下三种之一的**证明来挑战该退出:

1. 非**所有者:退出者签署的后续交易,将退出者的**转移给其他人;

2. 双重支付:将**从前一个所有者转移给其他人的交易,在将**转移给退出者的交易之前被包含;

3. 无效历史:在过去7天内转移**的交易,没有相应的花费。退出者可以通过提供相应的花费来回应;如果他们不这样做,退出就会失败。

根据这些规则,**拥有**k的人都需要看到过去一周内所有历史树中k位置的所有**分支,以确保他们实际上拥有**k并且可以退出它。他们需要存储包含资产转移的所有分支,以便他们可以应对挑战并安全地退出他们的**。

扩展到可替代**

上述设计适用于非同质化**(NFT)。然而,比NFT更常见的是可替代**,如ETH和USDC。将Pla**a Cash应用于可替代**的一种方法是将每个小面额的**(例如0.01 ETH)视为一个单独的NFT。不幸的是,如果我们这样做,退出的燃气费用将会太高。

一种解决方案是通过将许多相邻的**作为一个单元进行优化处理,可以一次性转移或退出。有两种方法可以做到这一点:

1. 几乎按原样使用Pla**a Cash,但使用复杂算法非常快速地计算出大量对象的**树,如果许多相邻对象相同的话。这出人意料地并不难做到;你可以在这里看到一个Python实现。

2. 使用Pla**a Cashflow,它简单地将许多相邻的**表示为一个单一对象。

然而,这两种方法都遇到了碎片化的问题:如果你从购买咖啡的数百人那里每人收到0.001 ETH,你将在树的许多地方拥有0.001 ETH,因此实际退出这些ETH仍然需要提交许多单独的退出,使得gas费用变得过高。已经开发了碎片整理协议,但实施起来颇为棘手。

另一种方法是重新设计系统,考虑更传统的“未使用的交易输出”(UTXO)模型。当你退出一个**时,你需要提供这些**最近一周的历史,**人都可以通过证明这些历史**已经退出来挑战你的退出。

右下方0.2 ETH UTXO的提款可以通过显示其历史中**一个UTXO的提款来取消,如图中绿色所示。特别注意,中左和下左的UTXO是祖先,但上左的UTXO不是。这种方法类似于2013年左右彩色**协议中的基于顺序的染色思想。

实现这一目标有多种技术。在所有情况下,目标都是跟踪历史上不同点上“相同**”的某种概念,以防止“相同的**”被两次提取。

推广到EVM的挑战

不幸的是,将其推广到支付以外的EVM要困难得多。一个关键挑战是EVM中的许多状态对象没有明确的“所有者”。Pla**a的安全性取决于每个对象都有一个所有者,这个所有者有责任监视并确保链上数据的可用性,并在出现**问题时退出该对象。然而,许多以太坊应用并非如此运作。例如,Uniswap流动性池就没有单一的所有者。

另一个挑战是EVM不试图限制依赖性。在区块N中,账户A中持有的ETH可能来自区块N-1中的**地方。为了退出一致的状态,一个EVM Pla**a链将需要有一个退出游戏,在极端情况下,希望使用区块N的信息退出的人可能需要支付将整个区块N状态发布到链上的费用:成本高达数百万美元。基于UTXO的Pla**a方案没有这个问题:每个用户都可以从他们拥有数据的**区块退出他们的资产。

第三个挑战是EVM中**的依赖性使得很难有证明有效性的一致激励。**状态的有效性都取决于其他一切,因此证明**一件事都需要证明一切。在这种情况下,由于数据可用性问题,通常无法使解决失败兼容激励。一个特别烦人的问题是,我们失去了UTXO-based系统中存在的保证,即对象的状态不能在其所有者不同意的情况下改变。这个保证非常有用,因为它意味着所有者总是知道他们资产的**可证明状态,并简化了退出游戏。没有它,创建退出游戏就变得更加困难。

有效性证明如何缓解这些问题

有效性证明最基本的作用是在链上证明每个Pla**a区块的有效性。这极大地简化了设计空间:这意味着我们只需要担心运营者的不可用区块攻击,而不是无效区块。例如,在Pla**a Cash中,它**了对历史挑战的担忧。这减少了用户需要下载的状态,从过去一周每个区块的一个分支,减少到每个资产的一个分支。

此外,从**状态提取(在运营者诚实的常见情况下,所有提取都将从**状态进行)不会受到非**所有者挑战,因此在有效性证明的Pla**a链中,此类提取根本不会受到**挑战。这意味着,在正常情况下,提款可以立即进行。

扩展到EVM:并行UTXO图

在EVM的情况下,有效性证明还让我们能够做一些聪明的事情:它们可以用来实现ETH和ERC20**的并行UTXO图,并用SNARK证明UTXO图与EVM状态之间的等价性。一旦拥有了这个,你就可以在UTXO图上实现一个“常规”的Pla**a系统。

这让我们能够绕过EVM的许多复杂性。例如,在基于账户的系统中,有人可以在未经你同意的情况下编辑你的账户(通过发送**给你,从而增加它的余额),这不重要,因为Pla**a构建不是在EVM状态本身上,而是在与EVM并行的UTXO状态上,**你收到的**都将是独立的对象。

扩展到EVM:完整状态退出

已经有更简单的方案被提出来制作一个“Pla**a EVM”,例如Pla**a Free,以及在此之前的2019年的这篇文章。在这些方案中,**人都可以在L1上发送消息,迫使运营者要么包含一个交易,要么使特定的状态分支可用。如果运营者未能做到这一点,链就开始回退区块。一旦有人发布了整个状态的完整副本,或者至少发布了用户标记为可能缺失的所有数据,链就停止回退。进行提款可能需要发布悬赏,这将支付某人发布如此大量数据的用户份额的燃气费用。

像这样的方案有一个弱点,即它们在正常情况下不允许即时提款,因为总是有可能需要回退**状态。

EVM Pla**a方案的局限性

这样的方案很强大,但不能为所有用户提供**的安全保证。它们最明显的失败案例是特定状态对象没有明确的经济“所有者”的情况。

让我们考虑一个CDP(抵押债务头寸)的案例,一个智能合约,用户在其中锁定了**,只有在用户偿还债务后才能释放。假设用户在CDP中锁定了1 ETH(按照本文写作时的价格约为2000美元),并有1000 DAI的债务。现在,Pla**a链停止发布区块,用户拒绝退出。用户可以简单地**不退出。现在,用户有了一个免费的选择:如果ETH的价格跌破1000美元,他们就放弃CDP,如果ETH的价格保持在1000美元以上,**他们就会认领它。平均来说,这样的恶意用户会因此赚钱。

另一个例子是隐私系统,例如Tornado Cash或Privacy Pools。考虑一个有五个存款人的隐私系统:

隐私系统中的ZK-SNARKs保持了进入系统的**的所有者与离开系统的**的所有者之间的联系隐藏。

假设只有橙色已经提取,此时Pla**a链运营者停止发布数据。假设我们使用带有先进先出规则的UTXO图方法,因此每个**都与其下方的**匹配。那么,橙色可以提取他们的预混和后混**,系统会将其视为两个独立的**。如果蓝色尝试提取他们的预混**,橙色的更新状态将取代它;同时,蓝色将没有信息来提取他们的后混**。

如果你允许其他四个存款人提取隐私合约本身(这将取代存款),然后在L1上取出**,这个问题可以得到解决。然而,实际实施这样的机制需要隐私系统的开发者付出额外的努力。

还有其他解决隐私问题的方法,例如Intmax方法,它涉及将几个字节以rollup风格放在链上,以及一个类似Pla**a的运营者在各个用户之间传递信息。

Uniswap LP头寸有类似的问题:如果你在Uniswap头寸中用USDC交易了ETH,你可以尝试提取你交易前的USDC和交易后的ETH。如果你与Pla**a链运营者勾结,流动性提供者和其他用户将无法访问交易后的状态,因此他们将无法提取他们交易后的USDC。需要特殊的逻辑来防止这种情况发生。

结论

即便到 2023年,Pla**a 依然是一个被低估的设计。Rollups仍然是黄金标准,并拥有无法匹敌的安全属性。这从开发者体验的角度尤其如此:没有什么能比得上应用开发者甚至不需要考虑他们应用中的所有权图和激励流动的简单性。

然而,Pla**a让我们**绕过了数据可用性问题,大大**了交易费用。对于那些本来会是validiums的链来说,Pla**a可以是一个重大的安全升级。ZK-EVMs终于在今年实现,这为我们重新探索这个设计空间提供了**的机会,并提出更有效的构建方式,以简化开发者体验并保护用户的资金。

**

标签:
上一篇2023-11-15
下一篇 2023-11-15

相关推荐

  • meme币最新利好消息(meme币简介)

    1. 市场情绪与投资者行为

    2023-11-15 09:14:02
    0
  • 币圈的meme啥意思(币圈meme是什么意思)

    Meme,翻译为模因或迷因,这一概念最早由生物学家Richard Dawkins在上世纪70年代提出,用以解释思想文化的传播原理,牛津词典将其定义为“模仿”或其他非遗传方式传递的

    2023-11-15 09:14:02
    0
  • 狗狗币的本质是meme(狗狗币 本质)

    狗狗币(Dogecoin,货币代码DOGE)自2013年诞生以来,已经从一个简单的网络玩笑发展成为全球知名的加密货币之一,作为币圈专家,我将从多个角度解析狗狗币的本质,特别是其作为

    2023-11-15 09:14:02
    0
  • meme数字币怎么样(meme数字货币)

    Meme数字币,又称Meme Coin,起源于互联网社区文化,是一种通过区块链技术创建的加密资产,Meme一词源自生物学家Richard Dawkins对思想文化传播原理的解释,牛津词典将其定

    2023-11-15 09:14:02
    0
  • 国外最火的meme币(me热门币种)

    1. Meme币概述

    2023-11-15 09:14:02
    0
  • 牛市最看好的meme币(美元牛市)

    在加密货币市场中,Meme币以其独特的社区文化、传播效应和造富潜力,在牛市中往往能吸引大量投资者的关注,本文将从专业币圈专家的角度,分析当前牛市中最为看好的几种Me

    2023-11-15 09:14:02
    0
  • meme币的发展史(meme币发生了什么)

    Meme(模因)一词起源于上世纪70年代,由生物学家Richard Dawkins提出,用以解释思想文化的传播原理,在互联网时代,Meme逐渐演化为通过图文、视频等载体进行模仿跟风的文化

    2023-11-15 09:14:02
    0
  • 币圈的meme怎么读音(币圈meme是什么)

    Meme的读音为[ˈmi:m],这个词源于希腊语“mimeme”,意为“被模仿的东西”,在英文中通常被读作/miːm/,音似“迷姆”或“米姆”,在币圈,Meme通常指的是一种基于网络迷因(I

    2023-11-15 09:14:02
    0