Paper 2024/1498 Original: eprint.iacr.org/2024/1498 ↗
Practical Implementation of Pairing-Based zkSNARK in Bitcoin Script
Abstract
Groth16 is a pairing-based zero-knowledge proof scheme that has a constant proof size and an efficient verification algorithm. Bitcoin Script is a stack-based low-level programming language that is used to lock and unlock bitcoins. In this paper, we present a practical implementation of the Groth16 verifier in Bitcoin Script deployable on the mainnet of a Bitcoin blockchain called BSV. Our result paves the way for a framework of verifiable computation on Bitcoin: a Groth16 proof is generated for the correctness of an off-chain computation and is verified in Bitcoin Script on-chain. This approach not only offers privacy but also scalability. Moreover, this approach enables smart contract capability on Bitcoin which was previously thought rather limited if not non-existent.
Metadata
- Available format(s)
PDF
- Category
- Implementation
- Publication info
- Preprint.
- History
- 2024-09-24: last updated
- 2024-09-24: published
- Short URL
- https://ia.cr/2024/1498
- License
- https://creativecommons.org/licenses/by-nc-nd/4.0/
BibTeX
@misc{cryptoeprint:2024/1498,
author = {Federico Barbacovi and Enrique Larraia and Paul Germouty and Wei Zhang},
title = {Practical Implementation of Pairing-Based zkSNARK in Bitcoin Script},
howpublished = {Cryptology {ePrint} Archive, Paper 2024/1498},
year = {2024},
url = {https://eprint.iacr.org/2024/1498}
}