Paper 2024/1498

Practical Implementation of Pairing-Based zkSNARK in Bitcoin Script

Federico Barbacovi, nChain UK Limited
Enrique Larraia, nChain UK Limited
Paul Germouty
Wei Zhang, nChain UK Limited
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
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
Creative Commons Attribution-NonCommercial-NoDerivs
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}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.