Comments (1)
One potential solution, if we want to keep everything decentralized and avoid maintaining a database, is to implement a lightweight factory contract using CREATE2. This factory contract would handle the deployment of all verifiers. Before deploying a new one, it could check for the existence of a verifier by hashing the runtime bytecode (potentially the creation code as well if we want to be on the safe side, but definitely not the metadata) of the verifier and cross-referencing it against a mapping (bytes32=>address) that stores the hashes of all the previously deployed verifiers and maps them to their deployment address. This should provide us with a unique identifier to check whether a verifier has been deployed before. Also, this hashing operation with KECCAK256 would only increase the deployment transaction cost by about 0.1 percent, which is not too bad IMO.
For better accessibility and visibility of the deployed verifiers, we should also create a subgraph for the verifier factory. This would allow for easy decentralized querying of verifiers deployed in production.
One issue with this approach though is how we ensure only verifier contracts are deployed through the factory. I'll need to do some research into this problem.
from ezkl.
Related Issues (20)
- dynamic_axes not work as expected for batch witness generation HOT 3
- Unsuccessful proof generation for the nanoGPT example HOT 2
- GPTNeoXForCausalLM models shape issue HOT 3
- Install from source fails HOT 2
- `--srs-path` argument missing from docs HOT 3
- Model table fails to print / failure parsing the model HOT 4
- `DimError` when generating the circuit settings HOT 4
- `ezkl` python bindings do not provide `__version__` attribute
- Numerical accuracy report table not being shown in Jupyter environments after calibration HOT 2
- Setup fails with invalid value HOT 6
- do you have benchmark tutorial for with EZKL and without EZKL? HOT 2
- PanicException: the value of ``extended_k`` is bigger than the size of the field ``S`` after calibrating settings HOT 4
- How to use nanoGPT? HOT 1
- Error on integration of ezkl with huggingface pretrained models HOT 1
- deploy evm verifier error HOT 1
- error with 'create-evm-verifier' HOT 2
- Can't generate witness in the `mnist_classifier.ipynb` HOT 1
- Excessive RAM Usage during setup step HOT 1
- Can't setup gen_settings for NCF model HOT 2
- Splitting proof error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ezkl.