neo
neo copied to clipboard
Add zkp
Close #2647 In this PR,we want to support Groth16 in neo-core.
Change list:
- add three BLS12381-curves interoperability service in core and compiler
- append a BLS12381 cryptography dll
welcome to rust.
Where do these dynamic link libraries come from?
Where do these dynamic link libraries come from?
The dynamic link uses the bellman library. For compatibility, we wrap a layer.
Bellman link: [email protected]:zkcrypto/bellman.git Layer link: https://github.com/passer-byzhang/zk/tree/main/neo-zk-tools
Bellman is a zero-knowledge proof library written for the zcash project
The dynamic link uses the bellman library. For compatibility, we wrap a layer.
Some suggestions:
- These dynamic link libraries should support Windows, Linux and Mac.
- These dynamic link libraries should support x86 and x64.
- We should create a separate project to wrap them, and create a nuget package.
- For the structure of the nuget package, please refer to SQLite.
The structure of the SQLite nuget package
At present, windows/linux/mac has been supported, I have added 3 kinds of dll, x86 needs additional compilation Since the original project is already wrapped with a rust project, do I need to create a project and wrap it again?
Since the original project is already wrapped with a rust project, do I need to create a project and wrap it again?
You need to create wrapper classes in .NET and create a nuget package.
Since the original project is already wrapped with a rust project, do I need to create a project and wrap it again?
You need to create wrapper classes in .NET and create a nuget package.
Fix
We need to discuss about the gas fee.
Wait for neo-project/neo-vm#488
I'd concentrate on #2811 for now, let's roll it out and then plan this thing for the next release.
Since v3.5.0 has been released, this can be moved on.
@doubiliu, I just made a minor update on title. Fell free to change it.
@doubiliu, I just made a minor update on title. Fell free to change it.
how about call this zksnark?
@doubiliu, I just made a minor update on title. Fell free to change it.
how about call this zksnark?
Any name is fine, and groth16 is also fine, because there are other solutions for zk. In addition, there are still problems with the algorithm library related to this PR. I am discussing with erikzhang , and it will take some time to update.
Any name is fine, and groth16 is also fine, because there are other solutions for zk. In addition, there are still problems with the algorithm library related to this PR. I am discussing with erikzhang , and it will take some time to update.
I mean, using ZKSnark would attract more people who is interated in zkp to join the discussion..... Groth16 is way less known to the community.
there are still problems with the algorithm library related to this PR
Hi @doubiliu, We could take a look, is it related to the curve BLS12-381 itself?
It is mainly a problem of some encoding formats, not a key problem
there are still problems with the algorithm library related to this PR
Hi @doubiliu, We could take a look, is it related to the curve BLS12-381 itself? it is under https://github.com/neo-project/Neo.Cryptography.BLS12_381
@doubiliu need update