Skip to content

🎻 STARK verifier written in Simfony language for the Liquid sidechain

License

Notifications You must be signed in to change notification settings

keep-starknet-strange/stark-symphony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STARK verifier in Simfony language

This is an exploration project with a goal to implement a simple STARK verifier in Simfony language.
Simfony is a Rust-like language that compiles to Simplicity assembly. The stack is developed by Blockstream, and it is currently deployed in the Liquid sidechain testnet.

One of the key concepts of Simplicity is Jets:

  • The core language is very concise (nine GADT operators)
  • You can implement pretty complex programs using just the core, but it would take kilobytes of code and minutes of execution
  • However you can replace common sub-programs with "Jets" — formally proven equivalent implementations in C
  • This opens a clear path for introducing new exciting features without softforks, with a follow-up optimization route

STARKs are perfect candidate for this approach!

Roadmap

  • Fibonacci square over toy field PoC
  • Liquid testnet deployment
  • QM31 extension field
  • Circle polynomial
  • Stwo verifier core

Dev quickstart

  1. Clone this repo
  2. Install simfony CLI tool with make install
  3. Run tests with make test
  4. Generate proof with make proof
  5. Build STARK verifier program with make build
  6. Run the program using the generated witness with make run

Simfony CLI

This is a small CLI tool that helps with the development of Simfony programs.

Install simfony binary:

cargo install --git https://github.com/keep-starknet-strange/stark-symphony simfony-cli

Build a Simfony program:

simfony build src/simple_fib.simf --witness src/simple_fib.wit --output-path src/simple_fib.bin

Run a Simfony program:

simfony run src/simple_fib.simf --witness src/simple_fib.wit --param src/simple_fib.param

Simfony VSIX

VSCode extension providing syntax highlighting and autocompletion for the Simfony programming language.

Read the instructions.

About

🎻 STARK verifier written in Simfony language for the Liquid sidechain

Topics

Resources

License

Stars

Watchers

Forks