nil Foundation的Mina-Ethereum State Proof Verification Applications
Posted mutourend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nil Foundation的Mina-Ethereum State Proof Verification Applications相关的知识,希望对你有一定的参考价值。
1. 引言
nil Foundation系列博客有:
- nil Foundation的基于Solana light client实现的zk-bridge方案
- nil Foundation的Solana-Ethereum Bridge Based on Light-Client State Proof Verification
- nil Foundation的in-EVM Full Mina State Verification
本文将介绍:基于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见:
- https://verify.mina.nil.foundation/【目前未上线。。。】
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原型已完成
nil Foundation的Mina-Ethereum State Proof Verification Applications