How to decentralize a prover, according to an engineer who did it for fun – Blockworks

Andrew Milson, a senior software engineer at Immutable, recently submitted his own proof to StarkWares StarkNet verifier on Ethereum.

Generally speaking, a prover is a computational entity responsible for attesting that information is accurate without revealing its underlying data. Provers must create proofs that can be easily verified by a verifier.

The issue today is that many zero-knowledge (ZK) blockchain projects depend on one single, centralizedprover. In the event that node fails to submit proofs, transaction finality will be impacted.

But the process of decentralizing provers is no easy feat.

Milsons interest in STARKs is what started the entire ordeal, he told Blockworks.

When I found out they could be used to prove very large computations instantly in a small proof, I just lost my mind. It didnt even seem possible, and the mystery resulted in me becoming obsessed with figuring out how they worked, Milson said.

During this time, he built miniSTARK, a tool that enables you to prove the integrity of arbitrary computations using STARKs and also spent time learning about Cairo a STARK programming language.

Its simplicity is beautiful, and the fact that StarkNet is built on top of it strikes me as very strong, Milson said.

STARK verifiers are very similar in structure to their provers, Milson said.

Being able to see StarkWares verifier contracts on Ethereum essentially provided me with a blueprint that I was able to follow line by line, he said.

Milson began copying Solidity contracts into a foundry project and wrote tests for the verifyProof process, he said.

It was an iterative process that involved the following:

Each iteration, Id get slightly more lines of code passing until the whole test worked, Milson said. I used the passing proof and submitted it to Ethereum using Etherscanner. It was a real thrill once everything was submitted on-chain.

Milson believes that being able to submit his own prover is a step towards decentralization for StarkNet.

Teams in the community can start integrating the prover into their work which will bring a lot of scale and interesting use cases to the ecosystem, for example, onchain Gaming and ZKML, he said.

This sentiment is shared by Liron Hayman, the head of business development at Starkware.

This is a very important milestone towards decentralization of the Starknet tech stack. Andrew was able to develop his prover without viewing the code of StarkWares prover, Hayman told Blockworks. A mature decentralized blockchain like Starknet requires a vibrant community developing multiple implementations of each component. Andrews work is taking STARK technology to serious decentralization and by extension, towards fulfilling its potential.

Milson believes his work can also be viewed as an audit of StarkNets existing verifier and a testament to the security of the network.

I inspected every line of code and I couldnt find a bug which was honestly a bit disappointing considering how juicy StarkNets bug bounty program is, but really impressive on StarkWares behalf, Milson said.

Get the days top crypto news and insights delivered to your email every evening.Subscribe to Blockworks free newsletternow.

Want alpha sent directly to your inbox? Get degen trade ideas, governance updates, token performance, cant-miss tweets and more fromBlockworks Researchs Daily Debrief.

Cant wait? Get our news the fastest way possible.Join us on Telegramand follow us onGoogle News.

Original post:

How to decentralize a prover, according to an engineer who did it for fun - Blockworks

Related Posts

Comments are closed.