starkoracles / aero Goto Github PK
View Code? Open in Web Editor NEWA blazingly fast sdk for running proofs on the browser... and verifying them on-chain
License: MIT License
A blazingly fast sdk for running proofs on the browser... and verifying them on-chain
License: MIT License
Result now checks out compared to winterfell
STARK security is defined in the ethSTARK paper under the security section. If you dig into the details, you'd see that in order to achieve an adequate amount of security we have to enable field extensions. This is because the field Miden uses only provides around 63 bits of security. With the extension, it won't be an issue.
You can in the codebase some references to "TODO FIELD_EXTENSION" which marks some of the areas where additional code needs to be added in order to support it.
A few useful code pointers:
The biggest part of the verifier that isn't implemented yet is the AIR constraint verification.
Today, Miden's AIR constraints are defined in the Rust code itself, see: https://github.com/0xPolygonMiden/miden-vm/blob/main/air/src/lib.rs#L60-L246.
Miden's team is planning to transition to use https://github.com/starkoracles/air-script to define their AIR constraints and to generate the Winterfell code for their implementation.
One idea is to leverage https://github.com/starkoracles/air-script to also generate Cairo code that describes the same AIR constraints. We suggest following that path.
Currently, this will consistent of two stages:
We will start with #1, since we hope the Miden team will already convert their constraints by the time we are done with #1.
Another good news is that we have a reference of how a Cairo AIR description might look like, that was developed by Max Gillett on his work on ZeroSync, please see: https://github.com/ZeroSync/ZeroSync/blob/main/src/stark_verifier/air/transitions/frame.cairo. This implements some of the AIR constraints for CairoVM, but we can take inspiration from how it was done and apply some of it to this work.
During the development of the verifier, we've introduced a number of non-deterministic inputs. There are a few different categories that we've added:
When the POC was developed, we relied on some hardcoding rather than reading the proof parameters sent from Rust. These should be eliminated so we can support a greater range of options for our clients.
Look for "TODO HARDCODE" in the code
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.