BSV Zero-Knowledge Hackathon winners announced – $45,000 in prizes awarded

Gold Medal and message congratulating BSV Zero-Knowledge Proof Hackathon Winners

Bitcoin Association, in partnership with sCrypt, is pleased to announce that judging for the first-ever BSV Zero-Knowledge Hackathon is now complete and we have our winners!

The hackathon was aimed at encouraging developers to build new applications using zero-knowledge proofs (ZKPs) while growing the BSV community.

When we think of Bitcoin’s peer-to-peer capabilities and properties it is most commonly associated with payments. However, Bitcoin also has powerful data integrity features, which enable anyone to verify and certify data, and the actions performed upon it.

A zero-knowledge proof lets one party (a prover) who claims to know a secret, convince another party (a verifier) that the claim is valid, whilst not revealing the secret. Because of the hiding nature of ZKP, it can be used in many cases where privacy is desirable. More importantly, it can also be used as a building block to construct more sophisticated protocols.

Congratulations to our winners

The hackathon proved to be an overwhelming success with more than 920 participants and 60 submissions received covering a range of subjects and use cases.

The winning developers were selected by a list of all-star judges, including:

The top three submissions are:

  • 1st place: BLS12-381 library – submitted by Walker Step
  • 2nd place: ZkBaguette – submitted by Nikamoto S
  • 3rd place: ZK Minesweeper – submitted by Mihael Šinkec

Congratulations to our top three developers who take home their share of $45,000 in cryptocurrency prizes. We also wish to extend a thank you to everyone who submitted a project to the hackathon and helped explore this important topic further.

Many excellent submissions were received, making it difficult to narrow it down to just three winners, and we encourage all participants to take part in the next hackathon. You can find a gallery of all submitted projects here.

We present you the winning projects in more detail below:

ZK Minesweeper

Minesweeper is a game with incomplete information, and therefore a good demonstration of what ZKPs are capable of.

In the popular turn-based game, players must clean a minefield by clicking on it. This way, they reveal more and more information on the map. In ZK Minesweeper, thanks to the power of ZKP, a server is committed to the initial location of the minefields even though the game is entirely on chain.

“This ensures the server is honest, so there’s minimal trust needed between the player and the server,” said developer Mihael Šinkec.

ZkBaguette

Nikamoto S’s project ZkBaguette optimizes the existing zkSnark smart contract provided by sCrypt by cutting its size by ~4X

The larger the size of a smart contract is, the larger the cost that this contract causes. Fees on BSV are already the lowest for a blockchain that scales for global adoption, but by reducing the size of a code, more fees could also be saved.

ZkBaguette successfully addressed this issue by reducing the verifier from 5 MB to 1.27 MB.

Nikamoto demonstrated the functionality of his smart contract by implementing it in ZK Minesweeper, which was submitted by Mihael Šinkec for the hackathon. According to Nikamoto, ‘the size of their contracts went from 7,575,932 Bytes to 1,954,015 Bytes when compiled with the release’.

ZkBaguette has since been integrated into sCrypt’s ZKP verifier contracts, in both ZoKrates and snarkjs Developers can take advantage of these optimized contracts today.

BLS12-381 Library

BLS12-381 is a newer pairing-friendly elliptic curve. Compared to curve BN-256, which was commonly used, BLS12-381 is significantly more secure and targets 128-bit security.

All other blockchains, such as Zcash and Ethereum, have to hard fork to upgrade to the new curve.

BSV can run BLS12-381 natively in the form of a smart contract without any breaking changes, and this library provides the fundament for this, making Bitcoin currently the only blockchain that supports both curves. More curves like MNT and BW can be supported similarly, by implementing them in smart contracts. “Previously, builders on other blockchains had to accept a tradeoff in security for performance (BN-256), whereas BLS12-381 is more secure, but still fast enough to be more practical than BN128,” said team Walker.

Why Zero-Knowledge Proof?

Zero-Knowledge Proof (ZKP) is a powerful and foundational cryptographic technique in the blockchain space, due to its potential to address both privacy and scalability.

However, its esoteric nature, rooted in abstract and advanced maths, places a high barrier to entry for many developers, who are reluctant to learn it despite their interest.

To encourage the adoption of the ZKP, sCrypt recently launched zkBattleship, the world’s first and only interactive ZKP tutorial, aimed at developers who want to learn how to use it without diving into maths-heavy theory. It walks a user through the entire process of building the classic guessing game Battleship on the Bitcoin blockchain.

Starting with no prior ZKP knowledge, a user can build a fully-fledged decentralised web game after completion of the tutorial, powered by zk-SNARKs. Afterwards, they can go on and apply the techniques learned to build all kinds of ZKP applications.

The hackathon was sponsored by sCrypt – a high-level smart contract language for BSV. The BSV blockchain supports smart contracts with its Forth-like stack-based Script language, but writing smart contracts in native Script is cumbersome and error-prone. sCrypt aims to address this and is designed to facilitate writing complex smart contracts running on-chain.