nil Foundation的Mina-Ethereum State Proof Verification Applications

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nil Foundation的Mina-Ethereum State Proof Verification Applications相关的知识,希望对你有一定的参考价值。

1. 引言

nil Foundation系列博客有:

本文将介绍:基于in-EVM Mina state verification的bridge是如何工作的?

这是nil Foundation关于Mina-Ethereum bridge的第二篇博客,第一批博客见nil Foundation的in-EVM Full Mina State Verification

nil Foundation不做bridge本身,只关注核心机制,为实现该bridge的关键元素——在以太坊链上对Mina state进行验证。在nil Foundation的工作中不会实现bridge功能,但是基于nil Foundation的工作,可在其上构建合适的应用,实现相应的bridge功能。

2. 哪种应用呢?

基于state proof verification 机制的Mina-Ethereum桥中,应包含什么呢?

首先,要确保whatever happens in Mina can be proved to be valid on Ethereum。具体实现方式为:

  • 1)获取Mina state proof
  • 2)将该Mina state proof提交到以太坊
  • 3)以太坊验证该state proof是否有效
  • 4)若有效,则接受并在以太坊上存储该proof,否则拒绝。

注意,对证明state proof为valid的参与者没有激励机制。由于没有激励机制,从而可实现完全地trustless。

3. 为何是完全地trustless?

Mina的state proof是self-validatable的。即使生成了non-valid proof并提交到以太坊端,它也将无法通过验证。
好消息是,内部使用该核心功能的经典应用,并不要求每个用户都提交一个state proof,但是至少要有一个state proof。因此,如果至少有一个用户提交了待验证的proof,其他人仅需证明其数据包含在了新提交的proof中,免费的(就支付验证费用而言)。

4. 最简单的应用案例——WMINA

最简单的应用案例为:Wrapped Mina on Ethereum,通常称为WMINA。
这要求实现in-EVM逻辑,可根据Mina端传送的数量来issue WMINA,并通过state proof verification机制来验证确实正确。
总体流程为:

  • 1)获取Mina state proof
  • 2)将该Mina state proof提交到以太坊
  • 3)以太坊端验证该state proof是否有效?
  • 4)若有效,则接受并在以太坊上存储该proof,否则拒绝。
  • 5)在Mina端提交一定数量的MINA来传送给in-EVM应用。
  • 6)若该提交证明确实是真实发生的,则in-EVM应用会issue相应数量的WMINA。

5. 其他应用案例?

其他应用案例,可有:

  • 可向以太坊端证明在Mina端Snapps中发生的各种计算。
  • 证明Uniswap与Mina之间的某笔交易,而不泄露具体的交易内容。
  • Proving the location with Mina with some transfer happening on Ethereum afterward? Yes.
  • Proving the identity with Mina and using it as a second factor to the Ethereum-based action authorization? Yes.

整个流程仍然类似,不同之处仅在于in-EVM应用中的实现。

6. 谁来向以太坊提交Mina state proof?

任何使用该bridge的用户或应用都可向以太坊提交Mina state proof。由于Mina state proof可self-verified,因此,不再需要任何可信的协议参与者来定期提交Mina state proof。而且,如果state proof verification足够便宜,则不会对Mina-Ethereum交易cost增加大额开销。

重要的细微差别是:对于某特定Mina state,仅需要提交一个valid proof,使得所有应用可使用该state proof verification core来工作。因此,最终,只有一个用户(最不幸运的那个)将需要向以太坊提交verification cost,一旦验证通过,其他人可免费复用该Mina state proof。

7. 目前可用demo

目前,nil Foundation实现了一个work-in-progress interactive state proof preprocessing demo。是对nil Foundation的in-EVM Full Mina State Verification 中关键4步的一次演练。
详细demo见:

8. 一个浏览器?是否需要Mina节点和以太坊节点?

不需要任何的Mina节点和以太坊节点,仅需要:

  • Mina的state proof(感谢Chainsafe的Rust语言实现Mina协议,使得可通过浏览器来获取Mina state proof称为可能)
  • 和 以太坊的RPC client library(有大量运行在浏览器内的),使得可连接任何以太坊节点(即使是不信任的以太坊公开节点)

所以,最终你仅需要浏览器。这就意味着,这样的bridge不仅可适于手机端和桌面钱包应用,也适用于任何web-based钱包(如Metamask等)。

9. 时间表是否有调整?

计划仍然不变,将于2022年Q1实现production-ready version。详细的架构设计文档见:

参考资料

[1] Mina-Ethereum State Proof Verification Applications

以上是关于nil Foundation的Mina-Ethereum State Proof Verification Applications的主要内容,如果未能解决你的问题,请参考以下文章

nil Foundation blueprint模块代码解析

nil Foundation的Mina->以太坊 bridge原型已完成

zkLLVM:nil Foundation开发的电路编译器

zkLLVM:nil Foundation开发的电路编译器

nil Foundation的Mina-Ethereum State Proof Verification Applications

nil Foundation的in-EVM Full Mina State Verification