Mina 基于 EVM 状态验证的桥是如何工作的?
要闻速递由 Mikhail Komarov 写于 2021 年 11 月 1 日
介绍
本文是 Mina-Ethereum 桥专栏博文的第二篇。你可以通过此链接阅读第一篇。
我们将在本文中介绍基于 EVM 状态证明验证的 Mina-Ethereum 桥接应用程序的工作原理。
相关说明早已发布?
不尽然。我们所做的不只是桥接本身,而是一个核心机制,是实现这种桥接的关键组成部分。以太坊上的 Mina 状态验证。这个桥本身不会有很多功能,但是如果在它之上有适当的应用程序,就可以实现它的价值。
哪些应用?
这就是接下来我要介绍的。
让我们设想一个基于状态证明验证机制的 Mina-Ethereum 桥,它由什么组成?
首先,我们必须确保在 Mina 中发生的任何事情都可以在以太坊上被验证有效。可以按如下方式完成:
- 检索 Mina 状态证明。
- 将它提交到以太坊。
- 以太坊验证状态证明是否有效。
- 以太坊接收并存储证明,以确保它是有效的,否则拒绝。
请注意,这里不存在激励协议参与者去证明状态证明有效。因为根本不存在激励机制。 这意味着它是完全可信任的。
如何做到?
Mina 的状态证明是可自我验证的。即使如果无效的证明被提交给以太坊,那这个证明也不会通过验证。
更好的消息是,通过这种内部自我验证机制的特定应用程序不需要每个用户都提供状态证明,只需至少一个用户提供即可。因此,只需至少有一个用户提交验证证明,其他愿意证明新提交证明数据的人,都可以免费使用(就支付验证成本而言)。
最普遍的应用案例,WMINA。
接下来让我们来看一下将它可用于的最平凡场景。以太坊上的 Wrapped Mina。或者说,人们通常的叫法:WMINA。
这将需要实现 EVM 的逻辑,即根据转账的 Mina 数量发行出 WMINA,并通过状态证明验证机制,验证其。
整个工作流程为:
- 检索 Mina 状态证明。
- 将它提交到以太坊。
- 以太坊检查状态证明是否有效。
- 以太坊接收并存储证明,以确保它是有效的,否则拒绝。
- 在 Mina 端提交应转移到 EVM 的 MINA 数量。
- EVM 申请发行被证明真实提交的 WMINA 数量。
不那么平凡的事情呢?
这实际上可以推广到证明各种计算,通过 Mina 端的 Snapp 在以太坊上完成。 整个过程仍然是相同的,唯一不同的是 EVM 部分的作用。
证明在 Uniswap 上使用 Mina 提交特定交易订单但而不透露实际交易?可以实现。
通过 Mina 证明在以太坊上?可以实现。
通过 Mina 证明身份,并将其作为基于以太坊的行动授权的第二要素?可以实现。
除此之外,还有多种可能,可以大胆想象。
谁将这些证明提交给以太坊?
任何即将利用该桥的用户或 dapp。由于 Mina 状态证明可以自我验证,因此无需保留任何一个可信任的协议参与者来定期提交这些证明。同时,由于状态证明验证成本非常低,因此 Mina-Ethereum 交易成本不会有显着的开销。
最重要的细微差别是,仅需一个特定 Mina 状态的有效证明,就能够让所有使用这种状态证明验证核心机制的应用程序运行。 因此,最终只有一个用户(最不幸运儿)会向以太坊支付验证费用,其他人将能够免费重复使用 Mina 的状态证明。
有什么初步尝试吗?
是的。我们确实有一个正在进行的交互式状态证明预处理演示,对每个桥应用程序的 4 关键个步骤(状态证明验证)进行演练。
我们正在 https://verify.mina.nil.foundation 进行准备工作。
浏览器? 我需要 Mina 和 Ethereum 节点来做到这一点吗?
不需要。你唯一需要的是 Mina 的状态证明(得助于 Chainsafe 的 Mina 协议的 rust 实现开发工作,它也可以在浏览器中直接检索)以及以太坊 RPC 客户端库(其中也有很多是在浏览器内部运行的),连接到任何以太坊节点(即便是不受信任的公共节点)。
所以,最终来说,你(以及任何人)唯一需要的是你的浏览器。
这意味着这样的桥不仅可以引入基于移动和桌面的钱包应用程序,还可以引入任何基于 Web 的钱包(Metamask 或者其他第三方钱包)。
有关最终实现的时间?
时间计划没太大变化。 2022 年第一季度将带来可用于产品阶段的版本。 2021 年 11 月末我们更新了详细的设计架构说明。
敬请关注!