Paper 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)
- Category
- Implementation
- Publication info
- Published elsewhere. Proceedings of the 8th International Workshop on Cryptocurrencies and Blockchain Technology
- Keywords
- BitcoinSmart ContractZero-Knowledge Proof
- Contact author(s)
-
f barbacovi @ nchain com
e larraia @ nchain com
germouty paul @ orange fr
w zhang @ nchain com - History
- 2024-09-30: approved
- 2024-09-24: received
- See all versions
- Short URL
- https://ia.cr/2024/1498
- License
-
CC BY-NC-ND
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} }