以太坊matter-labs bellman代码解析
Posted mutourend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊matter-labs bellman代码解析相关的知识,希望对你有一定的参考价值。
1. 引言
前序博客有:
以太坊matter-labs bellman代码仓库为:
- https://github.com/matter-labs/bellman
ZCash开发的https://github.com/zkcrypto/bellman 主要针对的是BLS12-381曲线,以太坊matter-labs在该基础上,对以太坊中所使用的BN256曲线进行了优化,并在crates.io
中发布为了bellman_ce
。
目前以太坊matter-labs bellman中提供了2个稳定可用于生产的features,且相应的API会保持不变。这两都是基于Groth16 proof system implementation实现的:
- multicore:默认启用。用于在PC上运行,且环境支持包含threading的full
std
。 - singlecore:主要用于WASM系统,其中non-compatible external crates已移除,以及所有的多线程实现也已移除。
为了实现对WASM的兼容,在实现GM17和SONIC方案时,也需要做相应的考虑。
- gm17:目前未实现,计划在SONIC实现之后启动。
- sonic:目前完成90%。原来实现的
helped
协议实现了与Groth16类似的API接口。同时兼容现有的circuits。unhelped
版本目前未完成。但是所有的cryptographical primitives已完成并测试通过。当前优先级最高。
参考资料
[1] Edcon2019_material
[2] EDCON Workshop record (youtube): Intro to bellman: Practical zkSNARKs constructing for Ethereum
以上是关于以太坊matter-labs bellman代码解析的主要内容,如果未能解决你的问题,请参考以下文章