BSV Hackathon logo and sCrypt logo

Interested in Zero-Knowledge Proofs on BSV? Join the BSV sCrypt Zero-Knowledge Proof Hackathon!

Would you like to be part of the movement to build a world of safe and secure data? sCrypt and the BSV Blockchain Association have partnered to organize the BSV sCrypt Zero-Knowledge Hackathon for developers looking to enter the challenging field of Zero-knowledge Proofs (ZKPs). The contest also aims to show how well these proofs fit into the Bitcoin (BSV) world, increasing privacy in the realm of digital contracts on a scalable blockchain.

The contest is open to developers interested in ZKPs and cryptography, whether they’re active in the BSV or blockchain world or not. Round One will run from October 26 to November 25, 2022, and registrations are open now. Entrants must be over the legal age of majority in all regions. Those interested can find more information here.

The judging panel will include nChain Chief Scientist Dr. Craig S. Wright, sCrypt Inc. founder and CEO Xiaohui Liu, Senior Lecturer in Economics at the University of Exeter Dr. Jack Rogers, and BSV Blockchain Association Director of Engineering Jad Wahab.

Zero-knowledge proofs in Bitcoin contracts

While Bitcoin is a powerful peer-to-peer electronic cash system offering vast improvements to digital payments, it also provides the ability to check and verify data integrity. This is vital in the business and record-keeping world, where it’s often necessary to know if a piece of information or data is valid without viewing the information itself.

Zero-knowledge proofs allow this to happen. Although ZKPs involve high-end mathematics and esoteric cryptographic concepts, the zk-SNARK framework enables non-cryptographers to program them into a wider variety of applications and use cases, and many business use cases are yet to be discovered.

Proving you own a Bitcoin private key without disclosing the key itself is one example of a ZKP, but is it possible to have this kind of ability in other contracts—contracts that themselves run on the BSV blockchain? sCrypt’s Xiaohui Liu says it is, and his company has devised a demonstration tutorial for programmers to learn by building a version of the classic guessing game Battleship.

ZKPs can be computationally-intensive, so it’s necessary to have a blockchain network with unbounded scalability and one where it isn’t too expensive to use these resources. BSV is such a chain.

“Bitcoin can run ZKP, the most sophisticated smart contracts out there. And at a fraction of costs of what it costs on other blockchains,” Liu said.

Several ZK programming languages exist, but sCrypt gives its learners the option of Circom and ZoKrates, the two most popular. Its zkBattleship page describes Circom as a low-level language giving programmers greater control; and ZoKrates as a higher-level Python-like language more familiar to modern developers.

ZKPs are desirable in applications where privacy is necessary. This is easier to understand in the Battleship game, where a player needs to know if they’ve hit, but this information still doesn’t reveal the precise orientation (or size) of the ship. This has far wider applications in the data economy, where one party needs to confirm information that must remain confidential.

The BSV Blockchain Association and sCrypt intend to use the Zero-Knowledge Proof Hackathon to introduce these concepts to new developers, while growing the BSV community and finding new applications for the blockchain. Participants will emerge with new knowledge on how to apply ZKPs in the real world without needing to learn high-end math theory.

Watch: The BSV Global Blockchain Convention presentation, Smart Contracts and Computation on BSV

New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]