Open Source Winterfell: A STARK Prover and Verifier

0
50
Image Credit: Facebook

Facebook on Wednesday open sourced Winterfell, a library designed for developers to benefit from proofs of computational integrity (CI) that would require in depth knowledge of cryptography to implement. 

CI proofs are cryptographic technology that lets developers run computation to get a result. The developers can then use a CI proof to convince on computation correctness, regardless of complexity or the need to rerun. 

Winterfell 

Winterfell is a general-purpose STARK (Scalable Transparent Arguments of Knowledge) prover and verifier that aims to bring CI to a wider audience by generating proofs for computations. The v0.1 version of the library is published on crates.io. It can generate CI proof using STARK for any program that can be defined with turing complete languages like Java, JavaScript or Perl. It is a STARK prover and verifier for arbitrary computations. 

Zero-knowledge proofs (ZKPs) usually require expert cryptographers for implementation. The challenge is not only here, but even for verification step. Facebook said it has developed Winterfell to bridge challenges of practical feasibility and bring ZKPs within reach of regular developers.

The library uses STARKs, a proof-of-computation scheme, that the company explains to have attractive properties like resistance to potential attacks from quantum computers, transparency, and fast capability to deal with uniform computations.

Winterfell is configurable as it allows developers to tune parameters of the STARK protocol to attain performance and security targets. However, the user must describe their computation in an algebraic intermediate representation format, that the STARK prover and verifier can understand. It exposes simple interface to describe 

Facebook points out that that there are still some technical challenges to overcome before proofs of computational integrity can be considered practical at a large scale.

Status and Features

Simple Interface – The library offers simple interface for describing computations

Multi-threaded proof generation – It has a concurrent feature to run process in multiple threads.  

Configurable fields – This allows developer to choose both the base and extension filed for proof generation

Hash Function – This allows to select hash functions used in STARK protocol. It already supports BLAKE3 and SHA3.

WebAssembly Support – Written in Rust, it can be compiled to WebAssembly. A standard library is enabled as feature for both prover and verifier crates.

Apart from these, Facebook is also planning on distributed prover and perfect zero-knowledge features. 

LEAVE A REPLY

Please enter your comment!
Please enter your name here